Subject: Re: [xsl] Variable and parameter with same name and scope allowed in 2.0 From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 2 May 2006 14:51:23 +0100 |
> In some case, > it's clearer than the 1.0 version, where it is an error to > have two variables of the same name in the same template > rule (even in different "scopes", for example outside and > inside an xsl:if). In XSLT1.0 you can have two variables with the same name in a single template if they are in distinct scopes, it's just an error if those scopes overlap. so <xsl:variable name="x"/> <xsl:if test="true()"> <xsl:variable name="x"/> </xsl:if> is an error but <xsl:if test="true()"> <xsl:variable name="x"/> </xsl:if> <xsl:variable name="x"/> is not. When this rule was added to XSLT 1 (in quite a late draft of the spec) it invalidated several of my stylesheets (where I'd used "n" or "x" for all variables) but probably on balance it has caught more user errors than it has created. (A good thing). I think it's gone in 2.0 as there are more variable binding possibilities (eg XPath for expressions) and so any variable shadowing rule would probably affect xpath (and possibly xquery) as well as xslt. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Variable and parameter wi, Florent Georges | Thread | Re: [xsl] Variable and parameter wi, Florent Georges |
RE: [xsl] Variable and parameter wi, Michael Kay | Date | Re: [xsl] Variable and parameter wi, andrew welch |
Month |