xsl-list
[Top] [All Lists]

Re: [xsl] Is it possible to set the default namespace with a dynamically-generated namespace uri?

2010-03-12 17:45:14
<xsl:element name="foo" namespace="$x"

is your friend

david

Yes, but this would require creating all the output with <xsl:element>

The OP (in another forum) wants this default namespace to apply to
literal result elements that are descendents of this top node.
However, they are just copied to the output 1:1 and the serializer
takes special care to express the fact that they belong to no
namespace, by inserting "  xmlns=''     " on all of them.

It seems to me that using <xsl:namespace> it is not possible to
specify a default namespace.

I would be very glad if someone provides a concrete code sample
proving me wrong :)

Cheers,
Dimitre




On Fri, Mar 12, 2010 at 11:26 AM, David Carlisle 
<davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:
On 12/03/2010 19:15, Dimitre Novatchev wrote:
http://www.w3.org/TR/xslt20/#element-namespace

If the effective value  of the name attribute is a zero-length string, a
namespace node is added for the default namespace.


so

<foo>
<xsl:namespace name="" select="$x"/>

sets the default namespace to the uri in the variable x.

David



David, I tried this hours before asking the question.

Saxon raises this error:

er because I got it wrong, sorry, I should have checked or known or
something.

You can add namespace nodes using xsl:namespace but you can't change the
namespace of a node that's already  been created so
<foo>
<xsl;namespace name=""


doesn't work.


<xsl:element name="foo" namespace="$x"

is your friend

david






-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
I enjoy the massacre of ads. This sentence will slaughter ads without
a messy bloodbath.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--