The reason I am trying to do this is because I have created a
template that tests for a certain condition and returns true
or false, for
example:
<xsl:template name="boolean-function-template">
<xsl:param name="node-set"/>
<xsl:choose>
<xsl:when test="$node-set/x">
<xsl:value-of select="false()"/>
</xsl:when>
<xsl:when test="$node-set/y">
<xsl:value-of select="true()"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="false()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Good: the question is now an intelligent one!
Named templates can only return tree structures, they can never return
boolean values. (For that, you need xsl:function which is introduced in
XSLT 2.0, or something like the EXSLT func:function extension).
I would write the template to return a [tree containing a] string
result, e.g. "true" and "false" or "y" and "n", and then test the string
value that's returned, using e.g.
<xsl:if test="string($var)='n'">
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list