XML/XSL und Zahlenformat

Hallo,

Xalan ist in der Version 2.6.0 installiert und unterstützt XSLT 1.0.

"number(concat(VALUE, 'e-', NUMOFDEC))" gibt :

Verpackungseinheit 2.500Bl|5|CT|NaN|1||| wieder

während er xs:double garnicht akzeptiert und die Transformierung garnicht vornimmt.
 
Hallo,

Xalan ist in der Version 2.6.0 installiert und unterstützt XSLT 1.0.

"number(concat(VALUE, 'e-', NUMOFDEC))" gibt :

Verpackungseinheit 2.500Bl|5|CT|NaN|1||| wieder
Gut. Da ist mein 1.0 XSLT Prozessor (xsltproc) wohl etwas übers Ziel hinausgeschossen und unterstützt Java IEEE 754 Gleitkommaliterale - während in der XPath 1.0 Empfehlung vom W3C steht das ein Zahlenliteral nur aus Ziffern und Dezimalpunkt bestehen darf (http://www.w3.org/TR/xpath#function-number).

Dann probier's mal so:
XML:
<xsl:value-of select="concat(substring(VALUE, 1, string-length(VALUE) - numofdec), '.', substring(VALUE, string-length(VALUE) - NUMOFDEC + 1))"/>

während er xs:double garnicht akzeptiert und die Transformierung garnicht vornimmt.
Das ist OK, da das auch nur für XSL 2.0 gedacht war.

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Super,

funktioniert. Vielen Dank :)
Ich habe mir aber erlaubt, numofdec in NUMOFDEC umzuändern, sonst habe ich nichts mehr vor dem Punkt :)

Gruß
 
Zurück