|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Replacing DTD reference with xsd reference
Getting rid of the DTD reference is trivial. Adding the XSD reference is
trivial. The only non-trivial part is changing the element names to be
in a different namespace. For that you need a variant of the identity
template:
<xsl:template match="*">
<xsl:element name="local-name()" namespace="mynamespace.uri">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
To add the schema reference just add another rule for the top-level
element:
<xsl:template match="/*">
<xsl:element name="local-name()" namespace="mynamespace.uri"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:attribute name="xsi:schemaLocation">mynamespace.uri
trap.xsd</xsl:attribute>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Cams Ismael
> Sent: 02 April 2003 08:39
> To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: Replacing DTD reference with xsd reference
>
>
> Hello all,
>
> can somebody provide me some help with the following. I have
> thousands of files that conform to a DTD. Now I have written
> a schema for these files. Therefore a transformation is
> needed for all the files.
>
> So I have:
>
> <?xml version="1.0"?>
> <!DOCTYPE trap SYSTEM "./trap.dtd">
>
> <trap>
> ....
> </trap>
>
> The result should be:
>
> <?xml version="1.0"?>
> <trap xmlns="mynamespace.uri"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="mynamespace.uri trap.xsd">
> ....
> </trap>
>
> Because copy-of select copies also the namespace, this is not
> an option for me (because I want to transform from no
> namespace into mynamespace.uri). Is there a good way to do
> this with XSLT, or should I better use a script for
> transforming my xml files ?
>
> Kind regards,
> Ismaël
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








