Subject: Re: [xsl] How to output a xmlns:prefix attribute (special case) From: "Richard Gruet" <rgruet@xxxxxxxxxxxxx> Date: Thu, 12 Jul 2001 16:12:10 -0700 |
Jarno, Thanks for the long answer ! However, it seems that your solutions require that I declare the namespace prefix in my stylesheet. Unfortunately, in my case this prefix determined at run time (it is the value of an attribute in the source document) , so obviously I can declare it in the stylesheet. Richard Jarno.Elovirta@xxxxxxxxx wrote: > 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 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, Michael Kay | Thread | Re: [xsl] How to output a xmlns:pre, Oliver Becker |
Re: [xsl] How to output a xmlns:pre, Richard Gruet | Date | Re: [xsl] How to output a xmlns:pre, Richard Gruet |
Month |