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

Subject: Re: [xsl] Variable and parameter with same name and scope allowed in 2.0
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 2 May 2006 15:10:11 +0100
On 5/2/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> I've only tried this with Saxon 8.7.1 so I'm assuming it's
> intentional?  Is there a good reason for this - something
> that I'm not seeing at the moment?

It's intentional and the reason for it is that people voted for it, but I
can't read their minds to tell you why they did so.

It can be quite convenient though when writing a micro-pipeline:

<xsl:variable name="selected-nodes" select="...."/>
<xsl:variable name="selected-nodes" select="if (XYZ) then $selected-nodes
else ...."/>
<xsl:variable name="selected-nodes" select="if (PQR) then $selected-nodes
else ...."/>

Hmmm the convenience of not having to use distinct variable names versus a few hours debugging (followed by raw anger that you really did make that mistake)....

At least its reasonably well known it seems.  It came as a surprise to
me as it doesn't feel right for XSLT, which is usually more strict.

Current Thread