[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xsl:variable
> Can someone tell me why the following doesn't work? > > <xsl:template name="myTemplate"> > <xsl:variable name="sizePresent" select="'no'"/> > <xsl:for-each select="attribute"> > <xsl:if test="@type='Size'"> > <xsl:variable name="sizePresent" select="'yes'"/> > Size is present. > </xsl:if> > </xsl:for-each> > > <xsl:if test="$sizePresent='no'"> > Size was never found. > </xsl:if> > </xsl:template> > > When I run it I get: > Size is present. > Size is present. > Size is present. > Size was never found. You should get an error message. It's not permitted to declare a variable when another local variable of the same name is already in scope. I suspect you're using xt, which doesn't enforce this rule. You're trying to update a variable. That's a no-no in XSLT's declarative, functional, non-precedural, non-sequential view of the world. Read Chap 8 of my XSLT Programmer's Reference (Chap 9 in the second edition) to understand why, and what to do about it. Mike Kay Software AG XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|