This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: effecient inline multi-conditional testing
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 21 Nov 2001 10:42:41 -0000
- Subject: RE: [xsl] effecient inline multi-conditional testing
- Reply-to: xsl-list at lists dot mulberrytech dot com
Have I misunderstood, because to me it looks as if you're trying to say
<xsl:choose>
<xsl:when test="substring-before($cast, '-')=$bvalue">true</xsl:when>
<xsl:when test="substring-after($cast, '-')=$bvalue">false</xsl:when>
<xsl:otherwise>error</xsl:otherwise>
</xsl:choose>
Mike Kay
>
>
> here's the task:
> -create a template to cast an overloaded boolean value
>
> here's the psuedo-template:
> <xsl:template name="cast:boolean">
> <xsl:param name="b-value">
> <!-- overloaded boolean value;
> some potential values may be:
> 1. 'true' or 'false'
> or 't' or 'f'
> 2. 'yes' or 'no' or 'y' or 'n'
> 3. '1' or '0'
> 4. ...
> -->
> </xsl:param>
> <xsl:param name="cast">
> <!-- 'casting' operator;
> some potential values may be:
> 1. 'true-false' or 't-f'
> 2. 'yes-no' or 'y-n'
> 3. '1-0'
> 4. ...
> -->
> </xsl:param>
> <xsl:if test="$operand">
> <xsl:if
> test="(($b-value='1')or($b-value='0')or($b-value='true')or($b-
> value='false')
> or($b-value='yes')or($b-value='no') ... )">
> <xsl:choose>
> <xsl:when
> test="('true-false'=$cast)">
> <!-- ... -->
>
> </xsl:when>
> <xsl:when
> test="('yes-no'=$cast)">
> <!-- ... -->
>
> </xsl:when>
> <xsl:otherwise>
> <!-- ... -->
> </xsl:otherwise>
>
> </xsl:choose>
> </xsl:if>
> </xsl:if>
> </xsl:template>
>
> my question is this:
> Any ideas on a more effecient way to conduct the second
> (xsl:if) test than
> the way I'm about to?
>
> Maybe some stylesheet scoped param that acts like a mask and
> then use the
> translate(...) function? Or, ...?
>
> If there is a FAQ on this, then I apologize ... I looked and
> couldn't find
> one.
>
> Thanks,
> Jeff
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list