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

Subject: Re: [xsl] "Convert" true/false to 0/1
From: Andrew Franz <afranz0@xxxxxxxxxxxxxxxx>
Date: Wed, 28 Sep 2005 06:09:14 +1000
<xsl:template match="data">
<data><xsl:apply-templates /></data>

<xsl:template match="foo[(@edible='false')]">
<foo edible="0"><xsl:apply-templates select="@*" /></foo>
<xsl:template match="foo">
<foo edible="1"><xsl:apply-templates select="@*" /></foo>

<xsl:template match="@edible" />

Aron Bock wrote:

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:

<foo name="apple" edible="false"/>
<foo name="banana"/>

I want the output document to look like this:

<foo name="apple" edible="0"/>
<foo name="banana" edible="1"/>

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:when test="$foo/@edible and $foo/@edible = false">0</xsl:when>

But apparently not. Would somebody suggest a compact way of achieving the above, again asuming $foo.



FREE pop-up blocking with the new MSN Toolbar  get it now!

Current Thread