[Home] [By Thread] [By Date] [Recent Entries]
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
|

Cart



