However, due to business needs, I have to expand my variable.
I have since code it in this manner:
<xsl:variable name="hasContracts">
<xsl:choose>
<xsl:when test="$branding =
'ABC'"><xsl:value-of
select="count(/Output/Contracts/Contract[substring(ContractId,
1,1)='Q']) > 0"/> </xsl:when>
<xsl:otherwise><xsl:value-of
select="boolean(/Output/Contracts/Contract)"/></xsl:other
wise>
</xsl:choose>
</xsl:variable>
And now it is no longer a boolean value, perhaps because true
or false is a child of the xsl:variable element?
Is there a way to put the value of your variable in a
xsl:choose and retain a true boolean value?
Not directly, in XSLT 1.0 (In XSLT 2.0, you can use xsl:sequence).
But you can create a variable whose value is an RTF (as above), and then
create a second variable that converts it to a boolean:
<xsl:variable name="hasContracts-boolean" select="$hasContracts =
'true'"/>
Michael Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list