At 2003-01-07 18:38 +0100, Jerome Euzenat wrote:
It comes from the need to have a variable default namespace in the output
docu-
ment. That is a default namespace which is known at run-time only.
This can be done and I've modified your code in the example below ... note
that you were improperly setting the default namespace.
Also, the name property of xsl:element can include attribute value
templates, which gets you your prefix and element name.
I hope this helps.
........... Ken
T:\ftemp>type jerome.xml
<?xml version="1.0" encoding="UTF-8"?>
<owls:Ontology xmlns:owls= "http://www.w3.org/2003/OWL-XMLSchema">
<owls:Individual owls:name="foo" owls:class="Bar" />
</owls:Ontology>
T:\ftemp>type jerome.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns = "http://www.w3.org/2003/OWL-XMLSchema"
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owls= "http://www.w3.org/2003/OWL-XMLSchema"
>
<xsl:param name="prefix">http://www.example.com</xsl:param>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="owls:Ontology">
<xsl:element name="rdf:RDF"
namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<xsl:apply-templates mode="axioms"/>
</xsl:element>
</xsl:template>
<xsl:template match="owls:Individual" mode="axioms">
<xsl:element name="{(_at_)owls:class}" namespace="{$prefix}#">
<xsl:attribute name="rdf:resource"><xsl:value-of
select="@owls:name"/></xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
T:\ftemp>saxon jerome.xml jerome.xsl
<?xml version="1.0" encoding="utf-8"?><rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Bar xmlns="http://www.example.com#" rdf:resource="foo"/>
</rdf:RDF>
T:\ftemp>
--
Upcoming hands-on in-depth North America: February 3- 7,2003
XSLT/XPath and XSL-FO Europe: February 17-21,2003
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/m/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1 Practical Formatting Using XSL-FO
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/m/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list