RE: [xsl] "Convert" true/false to 0/1

Subject: RE: [xsl] "Convert" true/false to 0/1
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 27 Sep 2005 08:50:44 +0100
Try $foo/@edible = 'false'

WHen you write $foo/@edible = false, it means $foo/@edible = child::false 

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Aron Bock [mailto:aronbock@xxxxxxxxxxx] 
> Sent: 27 September 2005 07:36
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] "Convert" true/false to 0/1
> 
> Hello, I'm using ... xalan I think (actually the ant xslt 
> task, which I 
> think uses xalan) ... to process an XML document wich 
> contains some attrs 
> with the value "false".  I want the output document to output 
> a "0" for 
> false, 1 for true; in cases where the attr holding true/false 
> is missing, 
> assume true.
> 
> The input XML looks like this:
> 
> <data>
>      <foo name="apple" edible="false"/>
>      <foo name="banana"/>
> </data>
> 
> I want the output document to look like this:
> 
> <data>
>     <foo name="apple" edible="0"/>
>     <foo name="banana" edible="1"/>
> </data>
> 
> edible is defined in an assocuiated XML schema as xs:boolean
> 
> At some point in the transform I thought the following would 
> work (assume 
> $foo refers to a <foo>):
> 
> <xsl:choose>
>   <xsl:when test="$foo/@edible and $foo/@edible = false">0</xsl:when>
>   <xsl:otherwise>1</xsl:otherwise>
> </xsl:choose>
> 
> But apparently not.  Would somebody suggest a compact way of 
> achieving the 
> above, again asuming $foo.
> 
> Thanx
> 
> --A
> 
> _________________________________________________________________
> FREE pop-up blocking with the new MSN Toolbar - get it now! 
> http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/

Current Thread