(Resending from the appropriate email address) Someone has corrected me off-list on part of my answer: > > However, will > > let > $a := (<a1/>, <a2/>, <a3/>), > $b := (<b1/>, <b2/>, <b3/>) > return > $a/$b > > return > > (<b1/>, <b2/>, <b3/>, <b1/>, <b2/>, <b3/>, <b1/>, <b2/>, <b3/>) > > because the expression bound to $b constructs unique elements > each time it is evaluated? I answered incorrectly: Yes. I was thinking of a different case, $a/b() where the function b() returns three elements. In that case, b() must be evaluated three times, and returns three different elements each time. With a variable reference, however, the variable must be evaluated exactly once, and the same value is used each time. So the result is (<b1/>, <b2/>, <b3/>) or some permutation thereof (since these elements are not in the same tree, their relative document order is unpredictable). Michael Kay http://www.saxonica.com/Received on Tuesday, 26 April 2005 14:05:37 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 22 July 2006 00:10:20 GMT