xsl-list
[Top] [All Lists]

Re: [xsl] How to check if a value is numeric and add 2500 to it?

2010-04-05 07:09:25
Ben Stover wrote:
Assume I have a XML doc which might contain an optional tag with a numeric 
value similar to

<ns1:aaa>345</ns1:aaa>

Now I want to check with a XSLT expression:
- if this optional <ns1:aaa> tag exists at all

- if it exists then it should be checked if the value is numeric (leading and trainling blanks should be ignored. integer and floating numbers should both be acceptable

- If the value is numeric then 2500 (resp. 2500.00) should be added

How can I implement this logic in XSLT?

Do you use XSLT 1.0 or 2.0?
If it is 2.0 then you should decide which one of the numeric types you want to check for e.g. for xsd:decimal <xsl:if test="ns1:aaa and normalize-space(ns1:aaa) castable as xsd:decimal">
    <xsl:value-of select="xsd:decimal(normalize-space(ns1:aa)) + 2500"/>
  </xsl:if>



--

        Martin Honnen
        http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>