You're making it much too difficult.
<xsl:template match="catalog">
<catalog>
<xsl:copy-of select="book"/>
<xsl:copy-of select="book"/>
</catalog>
</xsl:template>
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: nick public [mailto:nickpubl(_at_)gmail(_dot_)com]
Sent: 27 December 2008 00:17
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] How to duplicate an entire subtree
Hi experts.
I'm using an XSL processor ver. 1 by Microsoft and I have the
following URGENT problem.
I need to produce an XML output containing the duplication of a (very
complex) node; not just the text elements but element name and
attribute(s) too.
An example can be this in which I want to duplicate the
<book> node and subs:
=========================
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating
applications with XML.</description>
</book>
</catalog>
=========================
The output have to be like this:
=========================
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating
applications with XML.</description>
</book>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating
applications with XML.</description>
</book>
</catalog>
=========================
I tried this script (and several variants of it):
=========================
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method='xml' indent='yes'/>
<xsl:template match='catalog/book'>
<xsl:apply-templates/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match='book'>
<xsl:copy>
<xsl:apply-templates select='@*|node()'/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
=========================
The disconcerting thing is that I'm able to achieve just the
text elements whitout the XML structure. Have a look to the output:
=========================
Gambardella, MatthewXML Developer's
GuideComputer44.952000-10-01An in-depth look at creating
applications with XML.
Gambardella, MatthewXML Developer's
GuideComputer44.952000-10-01An in-depth look at creating
applications with XML.
=========================
Who can help me, please?
Ciao. Nicola
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--