fn:abs

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 5.)

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

   

Kategorie: Funktionen für numerische Typen

Herkunft: XPath 2.0

Rückgabewert: Eine positive Zahl, die vom absoluten Wert und numerischen Typ her dem Eingangswert entspricht

Aufruf/Argumente:

fn:abs($zahl?)

$zahl:
Optional. Ein beliebiger numerischer Wert, dessen absoluter Wert unter Beibehaltung des Typs zurückgegeben werden soll.

Verwendungszweck:

Die Funktion gibt stets den absoluten (positiven) Wert einer ihr übergebenen Zahl zurück. Sie kann eingesetzt werden, wenn sichergestellt werden muss, dass es sich bei einem Wert zuverlässig um eine positive Zahl handeln muss.

Wird der Funktion eine negative Zahl übergeben, so gibt sie deren positiven, absoluten Wert zurück. Der xs:float- oder xs:double-Wert -0 (negativ Null) wird demzufolge zu +0 (positiv Null), -INF zu INF. Ist der Eingangswert bereits positiv, so bleibt er unverändert.

Wird der Funktion die leere Sequenz übergeben, so gibt sie die leere Sequenz zurück.

Der numerische Typ des Rückgabewertes entspricht, wenn es sich beim übergebenen Wert um einen der numerischen Basistypen xs:float, xs:double, xs:decimal oder xs:integer handelt, dem numerischen Typ des Eingangswertes. Wird der Funktion beispielsweise ein Wert xs:integer übergeben, so wird der Ausgangswert ebenfalls den Typ xs:integer besitzen (in der Funk­tionssignatur sind Ein- und Ausgabewert daher mit numeric verallgemeinert, das jedoch keinen "echten" Datentyp, sondern eine Sammelbezeichnung darstellt).

Ist der Eingangswert ein nicht-typisierter atomarer Typ xs:untypedAtomic, so wird er mittels Typ-Promotion vor der Auswertung durch die Funktion zu xs:double umgewidmet.

Ist der Eingangswert ein von einem der numerischen Basistypen abgeleiteter Typ (derived type), so wird für den Ergebniswert statt dessen der Basistyp (base type) zurückgegeben. In seltenen Fällen ist es daher denkbar, dass fn:abs() einen Überlauffehler produziert, falls der Wertebereich des sich so ergebenden Ausgangstyps das Ergebnis nicht abbilden kann.

Beispiele:

fn:abs(1.15)

1.15

fn:abs(-1.15)

1.15

fn:abs(2)

2

fn:abs(-2)

2

fn:abs(1 div 0)

INFINITY

fn:abs(-1 div 0)

INFINITY

fn:abs('ein_string')

Typfehler

Funktionsdefinition:

XPath 1.0:

Funktion nicht verfügbar

XPath 2.0:

fn:abs($arg as numeric?) as numeric?

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn