Hi Eric!
At 2003-10-17 12:28 -0700, Eric Promislow wrote:
Here's the code, which tries to reference a variable
bound in an outer dynamic scope, but foreign static scope:
?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" />
<xsl:template match="/">
<xsl:variable name="v1">bupkis</xsl:variable>
<xsl:apply-templates />
</xsl:template>
<xsl:template match='x'>
<output>
First, var v1 = <xsl:value-of select="$v1"/>.
Text = <xsl:value-of select='.' />
</output>
</xsl:template>
</xsl:stylesheet>
I can infer an understanding of your use of the term "dynamic scope", but
the scope of all variables not in global scope in XSLT 1.0 is the following
siblings and their descendants after the variable declaration, which is
what I assume you mean by "static scope".
I don't think any XSLT processor would have $v1 in scope in your code
fragment because it isn't in one of the following siblings and their
descendants from the declaration in the template of the template rule of
the root node.
The last paragraph of Section 11 (before section 11.1) states the region of
visibility is solely determined by the stylesheet tree, which I think would
exclude your use of the concept of a dynamic scope. I just found in 11.5
what I said above about the visibility being following siblings and their
descendants.
So, I believe *all* variable scoping is done at compile time.
Does that help?
.......................... Ken
--
Next public US delivery: 3-day XSLT/2-day XSL-FO 2003-10-13
Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-11-??
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide: please contact us for the details
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners: http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list