Subject: Re: [xsl] Sorting and re-ordering down a hierarchy From: David Ohlemacher <ohlemacher@xxxxxxx> Date: Fri, 18 Jul 2003 11:18:30 -0400 |
Guten Tag, -d
Hello, I'm struggling to re-organise my node tree. My tree is something like this:
<input> <node> <rank>2</rank> <node> <rank>88</rank> </node> <node> <rank>7</rank> </node> <node> <rank>66</rank> </node> </node> <node> <rank>1</rank> <node> <rank>3</rank> </node> <node> <rank>2</rank> </node> <node> <rank>1</rank> </node> </node> </input>
I need to reorganise the nodes so that they are organised in number order down the nodes within their tree, so the output should be like this: <output> <node> <rank>1</rank> <node> <rank>7</rank> </node> <node> <rank>66</rank> </node> <node> <rank>88</rank> </node> </node> <node> <rank>2</rank> <node> <rank>1</rank> </node> <node> <rank>2</rank> </node> <node> <rank>3</rank> </node> </node> </output> I can sort one level by using the code below, but I'm struggling to find a way to re-order the second level within the first level (and the third level later).
<xsl:template match="/input"> <xsl:call-template name="ascending-numeric-sort-l1"> <xsl:with-param name="seqnuml1" select="node/rank"/> </xsl:call-template>
</xsl:template>
<xsl:template name="ascending-numeric-sort-l1"> <xsl:param name="seqnuml1"/> <xsl:for-each select="$seqnuml1"> <xsl:sort select="." data-type="number" order="ascending"/> <xsl:copy-of select="parent::node()"/> </xsl:for-each> </xsl:template>
Can anybody offer any advice please? Thanks Chris
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Sorting and re-ordering d, David Carlisle | Thread | Re: [xsl] Sorting and re-ordering d, David Ohlemacher |
Re: [xsl] Sorting and re-ordering d, David Carlisle | Date | [xsl] replacing , with a ., Challa, Harsha |
Month |