fn:months-from-duration
(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: Wertextraktion aus Zeitwerten, Datumswerten und Dauer
Herkunft: XPath 2.0
Rückgabewert: Eine Ganzzahl xs:integer, die dem Wert der Monatskomponente des in kanonische Form gebrachten Eingabewertes entspricht.
Aufruf/Argumente:
fn:months-from-duration($zeitdauerwert)
$zeitdauerwert:
Eine Zeitdauerangabe xs:duration, aus der, nach Umwandlung in den Typ xs:yearMonthDuration in seiner kanonischen Form PnYmM, der so resultierende Wert der Monatskomponente extrahiert wird. Wird die leere Sequenz übergeben, so gibt die Funktion eine leere Ergebnissequenz zurück.
Verwendungszweck:
Die Funktion gibt eine Ganzzahl zwischen 0 und 11 zurück, die sich aus der Monatskomponente eines Zeitdauerwertes ergibt, nach Überführung des Eingabewerts, der als beliebiger Typ xs:duration vorliegen darf, in die kanonische Form von xs:yearMonthDuration. Dies geschieht durch Entfernen der Tages-, Stunden-, Minuten und Sekundenkomponenten aus dem Zeitdauerwert mit anschließender Kanonisierung.
Wurde ein Typ xs:dayTimeDuration übergeben, so kann dieser zwar in den geforderten Typ xs:yearMonthDuration umgewandelt werden – dessen Komponenten besitzen jedoch alle den Wert 0, weshalb die Funktion für die Monatskomponente folgerichtig den Wert 0 zurückgibt.
Liegt ein übergebener Wert xs:yearMonthDuration nicht in kanonischer Form PnYmM (mit n beliebig, m < 12) vor, so werden die Komponenten zunächst in kanonische Form gebracht. Dies geschieht durch die Umrechnung der Monatskomponente in ganzzahlige Werte der Jahreskomponente.
Der verbleibende Restwert, der dem kanonischen Monatswert entspricht, wird ausgegeben (Beispiel: P130M wird zu P5Y10M). Für negative Zeitdauerwerte ist der zurückgegebene Wert ebenfalls negativ (siehe Beispiel 2).
Beispiele:
Beispiel 1 – Monate aus Zeitdauerwert:
fn:months-from-duration(xs:yearMonthDuration("P18Y14M"))
ergibt den Wert 2.
Der Wert liegt in nicht kanonischer Form vor. Der vorhandene Monatswert von 14 wird zunächst in 1 Jahr, 2 Monate umgerechnet (kanonisiert) – der Restwert von 2 wird als Ergebnis der Funktion ausgegeben.
Beispiel 2 – Monate aus Zeitdauerwert:
fn:months-from-duration(xs:yearMonthDuration("-P20Y18M"))
ergibt den Wert -6.
Der Wert liegt in nicht kanonischer Form vor. Der vorhandene Monatswert von 18 wird zunächst in 1 Jahr, 6 Monate umgerechnet (kanonisiert) – der Restwert von 6 wird, da der Zeitdauerwert negativ ist, mit negativem Vorzeichen als Ergebnis der Funktion ausgegeben.
Funktionsdefinition:
XPath 1.0:
Funktion nicht verfügbar
XPath 2.0:
fn:months-from-duration($arg as xs:duration?) as xs:integer?
<< 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