[
Lists Home |
Date Index |
Thread Index
]
On Tue, Mar 23, 2004 at 07:31:49AM -0800, G. Ken Holman wrote:
> At 2004-03-23 08:38 -0600, Bill Riegel wrote:
> >What to look thru a listOfNodes, and set contents on a variable, foundIt,
> >when I found what I am looking for, then break.
>
> XSLT does not work this way ... the semantics for an <xsl:for-each> are
> different than a programmer's "for loop".
To amplify on that a little...
"for-each" can be read as saying, make a sequence in which each element
is the result of a single evaluation of this contained expression for
every matching item.
In functional programming terms it's a mapping from one sequence to
another.
An XSLT engine does not need to evaluate the for-each in any particular
order -- all that matters is that the results are generated in the
appropriate order. This is similar to a C compiler optimising by
changing expression evaluation order, and is not usually noticeable
unless you start using things with side effects
(e.g. ++j * ++i + --i * --j might or might not do what you expect in C)
I hope this helps. But it really is a different way of thinking about
things.
Liam
--
Liam Quin, W3C XML Activity Lead, http://www.w3.org/People/Quin/
http://www.holoweb.net/~liam/
|