Re: [xsl] generating xml with a runtime resolved default namespace

Subject: Re: [xsl] generating xml with a runtime resolved default namespace
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 07 Jan 2003 13:07:41 -0500
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="{@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@xxxxxxxxxxxxxxxxxxxx
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



Current Thread