[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
|