Subject: RE: [xsl] Modifying the xPath order... From: Jarno.Elovirta@xxxxxxxxx Date: Mon, 1 Mar 2004 12:13:14 +0200 |
Hi, > I have this structure in XML... > > <elements> > <element>5</element> > <element>3</element> > <element>6</element> > <element>1</element> > </elements> > > With XSL, i have... > > <xsl:for-each select="element"> > <xsl:sort select="." order="ascending" data-type="number"/> > ... > </xsl:for-each> > > In this way, the elements have this order... > > position() = 1 --> element = 1 > position() = 2 --> element = 3 > position() = 3 --> element = 5 > position() = 4 --> element = 6 > > But ... > > preceding of element = 1 is element = 6 > preceding of element = 3 is element = 5 > preceding of element = 5 is element = null > preceding of element = 6 is element = 3 > > Then, how i know that preceding of element=3 in the order is > the element = 1? > ¿? Unfortenately, you don't. You can either do two passes, first sorting and then going through the elements and testing their preceding element, or sort the elements into a Result Tree Fragment, cast that into a node-set using an extension, and then process them. > How i calculate the acumulated total?¿? (for the element = 5 > the total > acumulated is 1 + 3 + 5 ...) You don't need preceding axis for that, just use <xsl:value-of select="sum(../element[. <= current()])"/> Cheers, Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Modifying the xPath order, i92agcad | Thread | [xsl] Generating the source XML fro, Satish Terala |
Re: [xsl] Modifying the xPath order, Andrew Curry | Date | [xsl] Generating the source XML fro, Satish Terala |
Month |