Subject: RE: [xsl] Generating namespace declarations in output documents: How? From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Thu, 6 Sep 2001 12:06:55 +0100 |
The only way to generate a namespace node in the result tree is by copying it from a source document or stylesheet. Normally this will happen automatically, of course, when the namespace node is needed. If you want to generate a namespace declaration that isn't referenced anywhere, then create a document that contains it, and use xsl:copy on the namespace node (provided your processor implements the XSLT 1.0 errata). Mike Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of David Moles > Sent: 06 September 2001 00:39 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Generating namespace declarations in output documents: > How? > > > So I've got this document more or less of the form > > <foo> > ...some elements... > </foo> > > and I need to transform it into > > <bar xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="[somewhere]"> > ...some elements... > </bar> > > (yes, the transformation from foo to bar is pretty trivial at > the moment, but it's expected to get nastier later). > > Of course the first thing I tried (since this is the first time > I've used XSL) is exactly what they tell you not to do in > section 7.1.3 of the XSLT spec -- > > <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:template match="foo"> > <xsl:element name="bar"> > <xsl:attribute name="xmlns:xsi"> > http://www.w3.org/2000/10/XMLSchema-instance > </xsl:attribute> > <xsl:attribute name="xsi:noNamespaceSchemaLocation"> > [somewhere] > </xsl:attribute> > <xsl:apply-templates/> > </xsl:template> > ...some templates... > </xsl:transform> > > -- you know, the part where it says "Thus, while it is not an error > to do [what I just did], it will not result in a namespace declaration > being output." > > So what *will* result in a namespace declaration being output? > > I read the FAQ at > > http://www.dpawson.co.uk/xsl/sect2/N5536.html#d162e1308 > > but I confess that (1) I don't understand it, (2), it looks like > overkill, and (3), I have to think that anything involving > > <xsl:text disable-output-escaping="yes"> > > has got to be The Wrong Thing for something as simple as what I'm > trying to do. The couple of FAQs below it don't look like what I > want either, or else the explanations aren't clear enough. > > What am I missing? > > Thanks, > > David > > > 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 -> |
---|---|---|
[xsl] Generating namespace declarat, David Moles | Thread | RE: [xsl] getting multiple values, Sullivan, Dan |
Re: [xsl] Combining XMLs, Jeni Tennison | Date | Re: [xsl] How to match a cdata sect, David Carlisle |
Month |