Subject: Re: Xsl:copy-of writes xmlns:xsi always - Any way to avoid this?
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Mon, 05 Mar 2007 11:06:44 +0100
|
binu.idicula@xxxxxxxxx wrote:
I used the following .. But the problem was that it is not copying
nested.
It just copies the direct chile element nodes. If the child element has
another child, do I have to write one more for-each OR is there a simple
way.
<xsl:for-each select="./*">
<xsl:element name="{name()}"
namespace="{namespace-uri()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:for-each>
Once I select a particular node, all the contents (including next level
- children) should be translated to another XML. Please advice
Michael was not talking of a for-each loop, which only walks through the
selected node set. He meant (and gave an example of) a modified identity
template which is the generic way of processing an input tree and modify
only small parts of it. Use template matches instead of for-each to
achieve that effect (see Michaels original answer).
|