Re: [xsl] problem adding namespace node

Subject: Re: [xsl] problem adding namespace node
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 28 Feb 2006 11:28:25 -0500
At 2006-02-28 16:39 +0100, Majirus FANSI wrote:
Should anyone knows how to add a namespace to a node?
i have tried the following approach:
first, i create a dummy attribute;
<xsl:variable name="dummy">
 <xsl:element name="p:a" namespace="http://majirus.org"/>
</xsl:variable>
From an xml node <a>, i write the following instruction:
<a><xsl:copy-of select="xalan:nodeset($dummy)/*/namespace::*[2]"/><a>
but, as a result tree i have got only the <a/> element without namespace,

Perhaps because you are addressing the namespace by its position, which is processor dependent ... you cannot rely on the order of namespace nodes. This is something my students find hard to understand: there *is* an order, just that the stylesheet writer cannot rely on what the order is.


Did you try:

<xsl:copy-of select="xalan:nodeset($dummy)/*/namespace::p"/>

I think it would be cleaner if you had in your stylesheet:

<xsl:stylesheet xmlns:p="http://majirus.org";>

then you could do:

<xsl:copy-of select="document('')/*/namespace::p"/>

I hope this helps.

. . . . . . . . . . . Ken

--
Upcoming XSLT/XSL-FO hands-on courses: Washington,DC 2006-03-13/17
World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread