Subject: RE: [xsl] XPath for number of preceding nodes sharing an ancestor From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Wed, 16 May 2001 00:41:25 +0100 |
> I want to count the number of preceding nodes that share an > ancestor node. > > My XSL includes: > > <xsl:template match="input"> > <xsl:variable name="input-count" > select="count(preceding::input[ancestor::inputform = > current()/ancestor::inputform]) + 1"/> > > This works but ... It appears to work but it's wrong. You're comparing the string-value of the ancestor nodes, not their identity. It's possible for two different nodes to have the same string-value, which will throw your code. You really need a set intersection here; if you don't want to use an extension function there's the $x[count(.|$y)=count($y)] trick. Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XPath for number of preceding, Michael Strasser | Thread | Re: [xsl] XPath for number of prece, Michael Strasser |
RE: [xsl] Calculating column widths, Michael Kay | Date | RE: [xsl] problem with xmlns and ie, Tim Watts |
Month |