Subject: RE: [xsl] namespace generation in the output. From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 31 May 2005 20:06:14 +0100 |
The XSLT 1.0 and 2.0 specs are both explicit that you can't create a namespace node by pretending that it's an attribute called xmlns:thing. In 2.0 you can create a namespace node in the result tree using the new xsl:namespace instruction. In 1.0 you have to do what docbook is doing, and copy it from a source tree or temporary tree. (XQuery, incidentally, doesn't provide any way of doing this. I couldn't persuade them it was needed. Saxon XQuery has an extension to do it, though). Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Dave Pawson [mailto:davep@xxxxxxxxxxxxx] > Sent: 31 May 2005 18:59 > To: Xsl List > Subject: [xsl] namespace generation in the output. > > Problem. I was writing a stylesheet to produce another stylesheet. > I wanted all elements output from the second stylesheet, > which were literal content to be in a specific namespace > > I knew the docbook stylesheets did this to produce xhtml, > and yet Saxon kept finding out I was cheating! > > <xsl:element name="xsl:stylesheet"> > etc > > when I tried any variant of > <xsl:attribute name="xslns"> > .... > > Saxon realised what I was doing and (correctly) told me not to. > > Then I found this in the docbook stylesheets :-) > > > <xsl:element name="xsl:stylesheet"> > <xsl:variable name="a"> > <xsl:element name="dummy" > namespace="http://www.w3.org/1999/xhtml"/> > </xsl:variable> > <xsl:copy> > <xsl:copy-of select="exsl:node-set($a)//namespace::*"/> > <xsl:copy-of select="@*"/> > <xsl:apply-templates/> > </xsl:copy> > </xsl:template> > > > which simply copies over the namespace from the variable just > declared, > which means that the stylesheet produced puts all literal content into > the xhtml namespace. > > > I thought it a clever way to achieve what is now > doable in xslt 2.0 (I'm sure MK or DC will tell us how :-) > > This is an xslt 1.0 solution. > > > > > > -- > Regards, > > Dave Pawson > XSLT + Docbook FAQ > http://www.dpawson.co.uk
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] namespace generation in the o, Dave Pawson | Thread | Re: [xsl] namespace generation in t, David Carlisle |
Re: [xsl] preceding axis and contex, Wendell Piez | Date | [xsl] Extreme 2005 Program Now Avai, B. Tommie Usdin |
Month |