[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] effecient inline multi-conditional testing


Subject: RE: [xsl] effecient inline multi-conditional testing
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Wed, 21 Nov 2001 10:42:41 -0000

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



Current Thread