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
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