[
Lists Home |
Date Index |
Thread Index
]
>
> I recently used a variable referencing a node-set (x) as a predicate
> expression.
Reading ahead in your message, I see that you are talking about XSLT. The
best place for XSLT questions is the xsl-list at mulberrytech.com.
I was expecting that the initial node-set (y), to
> which the
> predicate was applied, would be filtered as if each node from y was
> being compared to the node-set x. What I think I observed was
> that y was
> being compared to x as a complete node-set.
No, the predicate is evaluated once for each node in the sequence being
filtered, and (unless its value is a number) it is converted to a boolean.
If the value of the predicate is a node-set, it is interpreted as true if it
contains one or more nodes.
> (a) simply add "subnodes" as the predicate
>
> <xsl:variable name="preceding"
> select="preceding-sibbling::mynodetest[$subnodes]"/>
>
> (b)explicitly define a node by node-set comparison
>
> <xsl:variable name="preceding"
> select="preceding-sibbling::mynodetest[self::* = $subnodes]"/>
>
> I expected the results from (a) and (b) to be identical.
I've no idea what gave you that expectation.
Michael Kay
http://www.saxonica.com/
|