Subject: RE: [xsl] Counting preceding nodes From: "Kevin Bird \(Matrix\)" <kevin.bird@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 7 Jan 2005 16:44:41 -0000 |
Thank you for the comprehensive answer. Kevin > -----Original Message----- > From: Michael Kay [mailto:mike@xxxxxxxxxxxx] > Sent: 07 January 2005 16:35 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Counting preceding nodes > > It's easiest to do this in XSLT: > > <xsl:number count="level3" level="any" from="level1"/> > > and of course you can put that in a variable. > > In XPath 2.0 you can do > > count(ancestor::level1/level2/level3[. << current()]) > > An XPath 1.0 solution, given that your hierarchy is very rigid, is > > count(preceding-sibling::level3) + > count(../preceding-sibling::level2/level3) > > If a level2 only ever has exactly one level3 child, as in > your example, you can just do > > count(../preceding-sibling::*) > > Michael Kay > http://www.saxonica.com/ > > > > -----Original Message----- > > From: Kevin Bird [mailto:kevin.bird@xxxxxxxxxxxxxxxxxxxxxxx] > > Sent: 07 January 2005 16:20 > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: [xsl] Counting preceding nodes > > > > Hi > > > > I have the following XML structure, <level3/> is my context node. I > > want to count the preceding <level3/> nodes that have the same > > <level1> grandparent. I can't seem to get my head around the XPATH > > syntax. > > > > <wrapper> > > <level1> > > <level2> > > <level3/> > > </level2> > > <level2> > > <level3/> > > </level2> > > <level2> > > <level3/> > > </level2> > > </level1> > > <level1> > > <level2> > > <level3/> > > </level2> > > <level2> > > <level3/> > > </level2> > > <level2> > > <level3/> <!-- when context, preceding count will > > be 2 --> > > </level2> > > <level2> > > <level3/> <!-- when context, preceding count will > > be 3 --> > > </level2> > > </level1> > > </wrapper> > > > > Thanks. > > > > -- > > Kevin
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Counting preceding nodes, Michael Kay | Thread | [xsl] paratheses and or (|) operato, Eric Compas |
RE: [xsl] Counting preceding nodes, Kevin Bird \(Matrix\ | Date | [xsl] paratheses and or (|) operato, Eric Compas |
Month |