Altova Mailing List Archives
>xsl-list Archive Home
>Thread Prev - [xsl] 'xsl:variable' as dynamic select for 'xsl:for-each'...
RE: [xsl] 'xsl:variable' as dynamic select for 'xsl:for-each'...
Date: 11/17/2003 3:42:00 AM
> > My problem is that the select statement of the variable needs to be > dynamic. Such as... (and I know this doesn't work.. ) > > <xsl:choose> > <xsl:when test="$clientid = ''"> > <xsl:variable name="selectclause" select = "//client"/> > </xsl:when> > <xsl:otherwise> > <xsl:variable name="selectclause" select = > "//client[$clientid]"/> > </xsl:otherwise> > </xsl:choose> > This is a bit tricky in XSLT 1.0. The usual recommendation for creating a node-set conditinoally is: <xsl:variable name="selectclause" select="(//client)[$clientid=''] | (//client[$clientid!=''])"/> or more generically select = then-part[condition] | else-part[not(condition)] In XSLT 2.0 of course you can do select="if (condition) then expr-1 else expr-2" Michael Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list