[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Can you embed a filter test ahead of the format-number function in the xsl:value-of method


Subject: Re: [xsl] Can you embed a filter test ahead of the format-number function in the xsl:value-of method
From: Jörg Heinicke <joerg.heinicke@xxxxxx>
Date: Tue, 06 Nov 2001 22:06:55 +0100

Why not adding this filter directly to for-each?

<xsl:for-each select="NodeSomething[@attribute2 != '']">
    <xsl:value-of select="...."/>
</xsl:for-each>

Joerg

jdgarrett@xxxxxxxxxx wrote:

Given the following XML snippet


<NodeSomething attribute1="1234" attribute2="3">5678</NodeSomething> <NodeSomething attribute1="12" attribute2="">Abc</NodeSomething> <NodeSomething attribute1="1256" attribute2="45">456</NodeSomething> <NodeSomething attribute1="1298" attribute2="">8899</NodeSomething>

I would like to change the following XSLT (which works but is code bloat)

<xsl:for-each select="NodeSomething">
<xsl:if test="./@attribute2 != ''">
	<xsl:value-of select="format-number(./@attribute2,"#,###.00")"/>
</xsl:if>
</xsl:for-each>


to the following (so that I can optimize the code)


<xsl:for-each select="NodeSomething">
	<xsl:value-of select="[./@attribute2 !=
'']format-number(./@attribute2,"#,###.00")"/>
</xsl:for-each>


is it possible to embed a filter test ahead of the format-number function in the xsl:value-of so that if the filter test was true then and only then it would call the format-number function on the selected attribute rather than doing the xsl:if test and then calling the xsl:value-of method ??

As you know, if attribute2 is empty then I get a NaN which format-number
returns NaN
rather than just nothing ....

Please advise
Thank You
JGarrett




XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list






--

System Development
VIRBUS AG
Fon +49(0)341-979-7435
Fax +49(0)341-979-7409
joerg.heinicke@xxxxxxxxx
www.virbus.de


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread
Keywords