|
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 |