Re: [xsl] Copy idiom and overriding namespaces: trying to be smart, finding approaches

Subject: Re: [xsl] Copy idiom and overriding namespaces: trying to be smart, finding approaches
From: Abel Braaksma Online <abel.online@xxxxxxxxx>
Date: Wed, 26 Jul 2006 20:45:14 +0200
Hmm, I see now that I am missing something there. My first attempt was using node(), to select all nodes that did not have a name:

match="node()[local-name() != '']

I later changed it to the asterisk, finding out that it worked as well, but I left the local-name test in there:

match="*[local-name() != '']

This will do for now, and there should be no errors for empty-name element creation:

<xsl:template match="@*" >
<xsl:copy copy-namespaces="no" /> </xsl:template>


<xsl:template match="*" >
   <xsl:element name="{local-name()}" namespace="{$target-namespace}">
       <xsl:apply-templates  select="@* | node()" />
   </xsl:element>
</xsl:template>


Abel Braaksma www.nuntia.nl



Michael Kay wrote:

I'm not at all sure what you're trying to do here, but

match="*[local-name() = '']

looks all wrong. Every element has a local name.

Michael Kay
http://www.saxonica.com/

Current Thread