[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] xsl and schemas - getting rid of the xsi namespace
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
|
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
|