xsl-list
[Top] [All Lists]

Re: Adding namespaces to output

2002-12-23 09:38:12

Hi Felix,

On Monday 23 Dec 2002 3:09 pm, hauser felix wrote:

Question: Do you know how to add a prefixed namespace
('xmlns:p="URI"', where URI is not known in advance)
to an output element ('<a>...</a>') WITHOUT producing
an additional dummy-Attribute
('p:dummy-for-xmlns=""')? One Solution would be to
transform the output document again and just remove
the dummy-Attribute, but this doesn't seem to be very
ellegant.

You can get the same effect by using a temporary tree and then copying the 
namespace out of it.

<xsl:variable name="dummy">
        <xsl:element name="p:a" namespace="something"/>
</xsl:variable>

<a>
        <xsl:copy-of select="$dummy/*/namespace::*[1]"/>
</a>

You will need to use your processors nodeset function to access $dummy in the 
copy-of. There may be a minor portability issue here in that a processor is 
not required to respect your choice of prefix, i.e. the 'p' may be changed to 
something else, although that is unlikely unless you have used 'p' for 
something else. It works ok with Saxon.

Kev.



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>