RE: [xsl] When exactly is the current node changed?

Subject: RE: [xsl] When exactly is the current node changed?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 17 Nov 2006 00:31:22 -0000
I think I missed the point. Why are we suddenly so interested in the order
in which internal things happen? The only thing you know for sure is that a
node becomes the current node before you evaluate an expression that
references it. That might be long after the template has exited.

One can imagine a situation where the compiler knows that apply-templates
will select an A element (because the schema says that's the only thing
there can be); and that there's only one template rule that can handle this
element. So the template rule gets fired off; but it never references the
context node, so the A element actually never gets evaluated at all.

Michael Kay
http://www.saxonica.com/

> 
> I think logically current nnode is changed by the apply 
> templates and is set (in turn) to each of teh sekected nodes 
> _before_ a template is instantiated. The definition of the 
> match patern more or less implies this as it is in terms of 
> defining which templates match the current node. 
> Implementtaions may do something else entirely of course.
> 
> David

Current Thread