[XSL-LIST Mailing List Archive Home]
RE: [xsl]Jumping out a loop AND Starting loop at another node
Subject: RE: [xsl]Jumping out a loop AND Starting loop at another node|
From: Patrick Moore <patrickm@xxxxxxxxxxx>
Date: Fri, 20 Apr 2001 11:51:12 -0700
Hi Tanz and David,
I had this same kind of problem that you are running into. This is
essentially a grouping problem (look at http://www.jenitennison.com ).
Continuing what David says, XSLT is like SQL not like a scripting language
or Java. That is to say 1) it is not a "complete" language (There are things
that are simply impossible to do in XSLT); and 2) it is a FUNCTIONAL
language. In a FUNCTIONAl language you are NOT telling the XSLT processor
HOW to do what you need done, but rather WHAT you need done. It is up to the
processor to determine what is the best way to achieve your desired result.
Now having said this, I believe you are wrong, David.
http://www.w3.org/TR/xslt11/#for-each clearly states that the nodes are
PROCESSED in document order. Not just outputed in document order.
> -----Original Message-----
> From: David_Marston@xxxxxxxxx [mailto:David_Marston@xxxxxxxxx]
> Sent: Friday, April 20, 2001 11:32 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl]Jumping out a loop AND Starting loop at another node
> Tanz Mohammad first asked:
> >I am trying to start the loop at node 4...
> and later asked:
> >I want to jump out the loop at...
> I think it's important to jump out of such thinking right now!
> Picture it this way: if the select of your for-each selected 16 nodes,
> and your XSLT processor were running on a computer with 16 processors,
> all 16 nodes could actually get processed at the same time (if the
> XSLT processor were written to do so). When you look at it that way,
> you can see why one thread ("iteration" in the fallacious view) can't
> set a value for another thread to read, and why you can't skip over
> the first 3 or the 2 after value="x" -- there is NO "first" or "after"
> in the processing. Document order or xsl:sort controls the order in
> which outputs must be placed on the output tree, but it doesn't
> affect how the processor sequences or parallelizes internally.
> If you want a for-each to apply to a limited set of nodes, you must
> select only that set.
> .................David Marston
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list