|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Resent: Sorting Sibling Nodes !!!
Hi all,
I have some content of the form..
<template/><do type="accept"><go href="foo"/></do>
what I want is the following...
if 'do' is a sibling of template(as above) then place 'do'
inside template ie.
<template><do type="accept"><go href="foo"/></do></template>
otherwise leave 'template' as is..
<template></template>.
(NB - I need the output as <template></template> and not <template/>).
I've tried this with the XSL below(Snippet!), However I'm getting duplicate
outputs. Is this because the 'do' gets matched once as a sibling and
a second time when I have <xsl:apply-templates
select="following-sibling::do"/> ?.
In any matter, could someone suggest some ideas ;o)
<!-- ELEMENT do -->
<xsl:template match = "do">
<xsl:element name="{name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<!-- ELEMENT template -->
<xsl:template match="template">
<xsl:choose>
<xsl:when test="following-sibling::do">
<xsl:element name="{name()}">
<xsl:apply-templates select="following-sibling::do"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="{name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Thanks for the help,
Ciaran.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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








