RE: [xsl] Context document with exsl:node-set()?

Subject: RE: [xsl] Context document with exsl:node-set()?
From: "Scott Trenda" <Scott.Trenda@xxxxxxxx>
Date: Thu, 1 Nov 2007 14:32:24 -0500
I think I was trying to ask, is the template content of a variable
treated as its own document? It would make sense if it were, considering
it's possible to create new nodes within it, rather than creating a set
of references to nodes in the original document when @select is used.
Then exsl:node-set() essentially acts like document(), correct? I think
I was getting confused because I started out making copies of the nodes
in the template content.

~ Scott

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Thursday, November 01, 2007 1:47 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Context document with exsl:node-set()?

> What happens to the context document when you use this in XSLT 1.0?

Technically there's no such thing as the "context document", though it's
convenient shorthand for "the document containing the context node".

> My suspicions
> are that the context document changes to the contents of
> $structured-data when I apply-templates to it

Correct, when you apply-templates to a node that node becomes the

If you need to refer back to the original document, it's usually best to
have a global variable bound to it.

<xsl:variable name="main-doc" select="/"/>

Michael Kay

Current Thread