Subject: RE: Using not(...a nd ... ) to select nodes
From: "Lars Huttar" <lars_huttar@xxxxxxx>
Date: Fri, 11 Jul 2003 10:55:56 -0500
|
Michael Kay wrote:
> [Lars wrote:]
> > In order for your code to work, current() in the select
> > expression of a for-each loop must refer to the <item> node
> > currently being tested for whether it gets selected, right?
> > If so, is this the way xsl:for-each / xpath work? I realize
> > that INSIDE the for-each, current() refers to the node
> > currently being processed, but is that also true in the
> > select expression of the for-each? Or does current() there
> > refer to the context node outside the for-each?
>
> current() always refers to the node that "." would refer to if you
> replaced the whole XPath expression containing the call on current()
> with ".".
Thank you. In other words, if I understand right, current() in the
select expression of a for-each gives the context node as it
is outside the for-each.
So in this case,
[xsl:for-each]
> select="items/item[not(preceding-sibling::*
> [name=current()/name and
> type = current()/type and
> status = current()/status])]"
current() does not give what we would want if we were trying to
find all unique items. Right (Wendell)?
I think that's why I was confused...
Lars
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|
cknell - Thu, 10 Jul 2003 16:05:54 -0400 (EDT)
|
|