RE: using a node-set as a predicate expression
> > 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/
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format