RE: [xsl] more on Using apply-templates instead of for-each?

Subject: RE: [xsl] more on Using apply-templates instead of for-each?
From: "Passin, Tom" <tpassin@xxxxxxxxxxxx>
Date: Tue, 15 Apr 2003 15:35:36 -0400
I wrote -
>  In other cases, the fact that the context is a single node (in
> for-each) vs. a node-set (in apply-templates and call-templates) can
> make quite a difference.
> 

Well, that was a little too simplified, I think - it ended up a bit
incorrect.  The context node is always a single node, but
apply-templates operates on an entire node-set (which might happen to
contain one node or many - or none).  The results get assembled into the
right order but may or may not have been processed in that order.  The
context node for call-templates is the same one as from where it was
called.

For-each does operate on each node in a node-set, but they are operated
on separately, as if they were single, unrelated nodes.  With for-each,
for example, you can only get a position() of 1 on any one iteration,
whereas with apply-templates, position() can give other values (you
might be processing node #3 in a set of nodes).

Cheers,

Tom P

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread