My application has an XML transformation over XSL which then is displayed to the end user.
The entire application is existing over Oracle 9i appserver (JDK1.4) and is presently ported to Weblogic 11G.(JDK1.6)
Now there is behavior which seems quite weird between the two version above.
As a part of display logic we have done something like this (to show whether the amount is debit or credit based on it being positive or negative) where numbalance is the users balance and DR/CR is a simple text.
<xsl:if test="@balance < '0.00'"> DR </xsl:if>
<xsl:if test="@balance >= '0.00'"> CR </xsl:if>
The funny part is if the amount is more that 3 digits we put a comma in it (10,123.45) through our service code. This comma causes the test function (to consider the number as text?) and not work; hence neither CR nor DR is displayed after the balance.
This same functionality works in Oracle 9i appserver (OC4J) even with negative balance.
For example (-19,456.00) DR will be displayed.
I am pretty sure that issue is with THE COMMA in number as the stuff works correctly with 3 digits and below on both JVMs.
[Does XSL allow comparison of numbers with legit commas in it]
Please do not suggest me the 'correct' way to do the comparison (we already know and are screwed by a developer who has left); only why it is different in different places (as we need to find why and not how).