Subject: Re: [xsl] XPath for number of preceding nodes sharing an ancestor From: Michael Strasser <M.Strasser@xxxxxxxxxxxxx> Date: Wed, 16 May 2001 10:06:40 +1000 |
> > 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. Thanks, I see that now. > 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. Will you please elaborate? I don't understand the 'trick'. What are the values of $x and $y? Also, could I use: count(preceding::input[generate-id(ancestor::inputform) = generate-id(current()/ancestor::inputform)]) -- Michael Strasser Brisbane, Australia XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XPath for number of prece, Michael Kay | Thread | [xsl] contains()???, Gitanjali |
Re: [xsl] XPath for number of prece, Christopher R. Maden | Date | [xsl] contains()???, Gitanjali |
Month |