|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Moving an element to a new location in the Result
Contra Jim Graves writes:
> What is the recommended method to move an element to a Result-tree
> location that will be created, yet has not yet been created, (using
> copy, & copy-of)? Common sense would indicate that I need to run a
> second XSLT transform -- once the first version of the tree has been
> created -- or is there a better way, such as building the tree's
> elements first, then populating them with data, in a following template
> in the first and only transform? Since I usually build the element and
> populate it then too, when I'm there, I think I'll need a second XSLT.
I think you may be falling prey to the same procedural trap discussed
earlier today on this list.
If I have this input tree:
<document>
<a/>
<b/>
</document>
and I want to put a inside of b, I can do this:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="a"/>
<xsl:template match="b">
<xsl:copy>
<xsl:apply-templates select="../a" mode="inside"/>
</xsl:copy>
</xsl:template>
<xsl:template match="a" mode="inside">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
which results in:
<document>
<b><a/></b>
</document>
~Chris
--
Christopher R. Maden, Principal Consultant, crism consulting
XML-SGML-HTML-DTDs-schemas-XSL-DSSSL-conversion-training-ebooks-B2B
<URL: http://crism.maden.org/consulting/ >
PGP Fingerprint: BBA6 4085 DED0 E176 D6D4 5DFC AC52 F825 AFEC 58DA
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








