[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: XSL Variable declaration
Dear David/Mike. Thanks for this.. Yeas, It does kind of confuse the reader.. Vasu On 14 February 2011 11:07, Michael Kay <mike@xxxxxxxxxxxx> wrote: > On 14/02/2011 10:48, Vasu Chakkera wrote: >> >> There is an interesting stylesheet I came across this morning where >> some developer had declared two Xsl:variables one after the other with >> the same name. >> <xsl:variable name = "foo"> >> </xsl:variable> >> <xsl:variable name = "foo"> >> </xsl:variable> >> Not sure why he did that, but to my surprise, it seems to be valid >> in XSLT2 .. and as my expectations, it failed in XSLT1 saying two >> variables cant have same name within the same scope.. >> Is this right?? > > Yes, this is permitted in XSLT 2.0 but not 1.0 (I assume you are talking > about local variables). > > It can be quite a handy style of programming, so long as you recognize that > each xsl:variable is a new variable: > > <xsl:variable name="s" select="@something"/> > <xsl:variable name="s" select="substring-before($s, ':')"/> > <xsl:variable name="s" select="substring-after($s, '/')"/> > <xsl:variable name="s" select="concat('(', $s, ')')"/> > <xsl:value-of select="$s"/> > > Saves (a) writing deeply nested XPath expressions, and (b) thinking up new > variable names for intermediate results, or (c) changing variable names when > an extra computation step is introduced. > > But it might confuse some readers, so use with care. > > Michael Kay > Saxonica > > -- Vasu Chakkera NodeLogic Limited Oxford www.nodelogic.org ==============
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|