Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: [xsl] Variable and parameter with same name and scope allowed in 2.0

From: Florent Georges <darkman_spam@-------->
To:
Date: 5/2/2006 1:39:00 PM
andrew welch wrote:

> I can see how its possible - the variable will always come
> after the parameter, so it will always 'win' when it comes
> to scope.  My concern is that this sort of thing would
> usually end up from a mistake, and then get silently
> handled by the code - it's shadowing, and its well known
> how many problems that can cause.

> I've only tried this with Saxon 8.7.1 so I'm assuming it's
> intentional?

  It seems to be.  '9.2, Parameters:

    Local variables may shadow template parameters and
    function parameters: see 9.7 Scope of Variables.

  '9.7, Scope of Variables:

    [Definition: A binding shadows another binding if the
    binding occurs at a point where the other binding is
    visible, and the bindings have the same name.]  [...]

    It is also not an error if a binding established by a
    local xsl:variable or xsl:param element shadows another
    binding established by another local xsl:variable or
    xsl:param.

> Is there a good reason for this - something that I'm not
> seeing at the moment?

  I don't know the idea of the members of the WG.

  Personaly, I used this in generated XSLT.  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).

  But in such a case, I can usualy use generate-id().

  Regards,

--drkm

























	

	
		
___________________________________________________________________________ 
Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services prifiris : virifiez vos nouveaux mails, lancez vos recherches et suivez l'actualiti en temps riel. 
Rendez-vous sur http://fr.yahoo.com/set


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent