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>
<xsl:template match="foo[(@edible='false')]"> <foo edible="0"><xsl:apply-templates select="@*" /></foo> </xsl:template> <xsl:template match="foo"> <foo edible="1"><xsl:apply-templates select="@*" /></foo> </xsl:template>
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] "Convert" true/false to 0, Michael Kay | Thread | Re: [xsl] "Convert" true/false to 0, Aron Bock |
[xsl] Sibling or Node manipulation, siarom egrub | Date | Re: [xsl] Sibling or Node manipulat, JBryant |
Month |