[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Generating namespace declarations in output docume

Subject: RE: Generating namespace declarations in output documents: How?
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Thu, 6 Sep 2001 12:06:55 +0100
xslt generate namespace declaration
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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.