Subject: [xsl] xsl and schemas - getting rid of the xsi namespace From: "Mario Michlits" <mario.michlits@xxxxxxxx> Date: Thu, 11 Jul 2002 18:14:19 +0200 |
Hi I would like to transform an XML document with a referenced schema like this: <doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mySchema.xsd"> <documentcontent/> </doc> into a document like this <!DOCTYPE doc SYSTEM "myDTD.dtd"> <doc> <documentcontent/> <someothertags/> </doc> I wrote an XSLT file like this <!-- copies all the nodes to the result doc --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xsi"> <xsl:output method="xml" doctype-system="myDTD.dtd"/> <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node() | @*"/> </xsl:copy> </xsl:template> <!-- removes @xsi:noNamespaceSchemaLocation from output --> <xsl:template match="@xsi:noNamespaceSchemaLocation"/> This works fine. The only problem I still have is to remove the namespace xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" from the output document, because the parser validating against the DTD produces the error "attribute xmlns:xsi not defined in Document Type Definition". <!DOCTYPE doc SYSTEM "myDTD.dtd"> <doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <documentcontent/> <someothertags/> </doc> Any help will be appreciated. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Re: Re: Re: [xsl] Doubled outpu, ashu t | Thread | Re: [xsl] xsl and schemas - getting, Jeni Tennison |
[xsl] Doubled output of text nodes, Charles Knell | Date | [xsl] Searching nodes, alexandre bord |
Month |