Subject: [xsl] Resent: Sorting Sibling Nodes !!! From: "Ciaran Byrne" <ciaran.byrne@xxxxxxx> Date: Thu, 17 May 2001 10:13:23 +0100 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] RE: [xsl] [xsl] £ character r, Gertjan Assies | Thread | [xsl] Two input xml files.., Kavithak |
Re: [xsl] How to copy the whole tre, Jeni Tennison | Date | Re: [xsl] Sorting Sibling Nodes !!!, Jeni Tennison |
Month |