Subject: RE: [xsl] How to output a xmlns:prefix attribute (special case) From: Jarno.Elovirta@xxxxxxxxx Date: Thu, 12 Jul 2001 08:47:09 +0300 |
Hip hei! [d:\temp]type test.xsl <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prefix="http://prefix.com"> <xsl:output method="xml" indent="yes" encoding="ISO-8859-1" /> <xsl:template match="/"> <xsd:schema> <xsl:copy-of select="document('')/*/namespace::prefix" /> <xsd:complexType name="prefix:typeName" /> </xsd:schema> </xsl:template> </xsl:stylesheet> [d:\temp]saxon -t test.xsl test.xsl <?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:prefix="http://prefix.com"> <xsd:complexType name="prefix:typeName"/> </xsd:schema> Was this what you were after? Anyhow, note that you Note that you can't do <xsd:schema targetNamespace="http://whatever.com"> <xsl:copy-of select="document('')/*/namespace::prefix" /> <xsd:complexType name="prefix:typeName" /> </xsd:schema> with Saxon 6.4.2, it throws an run-time error "Cannot copy a namespace node to an element after attributes have been added". In jd.xslt, MSXML, and Xalan this works. With Saxon you can do it by using xsl:attribute <xsd:schema> <xsl:copy-of select="document('')/*/namespace::prefix" /> <xsl:attribute name="targetNamespace">http://whatever.com</xsl:attribute> <xsd:complexType name="prefix:typeName" /> </xsd:schema> Hope this helps Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to output a xmlns:pre, Richard Gruet | Thread | RE: [xsl] How to output a xmlns:pre, Michael Kay |
[xsl] Re: starts-with(preceding-sib, Dimitre Novatchev | Date | RE: [xsl] [XSL] How can I seek info, Tim Watts |
Month |