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

Subject: [xsl] "Convert" true/false to 0/1
From: "Aron Bock" <aronbock@xxxxxxxxxxx>
Date: Tue, 27 Sep 2005 06:35:44 +0000
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