Subject: RE: <xsl:variable> behavior From: Kay Michael <Michael.Kay@xxxxxxx> Date: Thu, 11 Nov 1999 12:34:03 -0000 |
Weird, but correct. This language is full of surprises. If xsl:variable (without select) has children, the value is a result tree fragment, regardless of the fact that the children produce no output; and in this case the equivalent node set to the result tree fragment is a root node with no children of its own; the test xsl:if test=$x tests whether the equivalent node set contains any nodes, which it does, because it contains a root node with no children. Mike Kay > > <xsl:template match="/"> > <xsl:variable name="x"> > <xsl:choose> > <xsl:when test="false()">X</xsl:when> > </xsl:choose> > </xsl:variable> > <xsl:if test="$x">x</xsl:if> > </xsl:template> > > This (unexpectedly) prints "x" using jclark's xt while > > <xsl:template match="/"> > <xsl:variable name="x"></xsl:variable> > <xsl:if test="$x">x</xsl:if> > </xsl:template> > > Does not (as expected). > > Thoughts? > > Clark > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: illegal character data, Linda van den Brink | Thread | [no subject], David Hemmingsson |
Re: <xsl:variable> behavior, Phil Lanch | Date | [no subject], David Hemmingsson |
Month |