This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]