Subject: RE: "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: "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/
|