This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: copying child nodes n-level deep


Ram Anantha wrote

>
> Given:
> <A>
>   <B>
>     <C id="1">
>       <D id1="2">
>         <E>hello</E>
>       </D>
>     </C>
>   </B>
> </A>
>
> I would like to copy all the elements and their children starting from D.
> The logic is, take the grand-child of B (in this case D) and copy it
(along
> with all its children). The only known element name is B..How can I write
a
> generic xsl code such that from the following schema:
>

If you want to perform a deep copy (all elements and their children), use
<xsl:copy-of> as opposed to <xsl:copy> which only copies the current
element.  Selecting the grand-children of the current node can be performed
simply with a concatenation of two child::* axis specifiers:-

<xsl:template match="B">
 <xsl:copy-of select="child::*/child::*"/>
</xsl:template>

Regards
~Rob

--
Rob Lugt
ElCel Technology
http://www.elcel.com/



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]