[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: <xsl:variable> behavior
"Clark C. Evans" wrote: > > <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 The value of the variable "is a result tree fragment equivalent to a node-set containing just a single root node having as children the sequence of nodes produced by instantiating the template" [11.2]. I.e. $x contains 1 node (which happens to be empty, because your template produces no nodes), so it converts to true. That one is a bit counter-intuitive, I think. > <xsl:template match="/"> > <xsl:variable name="x"></xsl:variable> > <xsl:if test="$x">x</xsl:if> > </xsl:template> > > Does not (as expected). "If the variable-binding element has empty content and does not have a select attribute, then the value of the variable is an empty string" [11.2]. And an empty string converts to false. -- cheers phil 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
|