Subject: RE: [xsl] xsl:variable From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Wed, 13 Jun 2001 10:38:21 +0100 |
> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl:variable, Xiaocun Xu | Thread | Re: [xsl] xsl:variable, RSuiter |
[xsl] Creating namespace declaratio, Oliver Becker | Date | RE: [xsl] Contitional statement, Michael Kay |
Month |