[Home] [By Thread] [By Date] [Recent Entries]


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



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member