This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]