fn:days-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 vom Typ xs:integer, die dem Wert der Tageskomponente des in kanonische Form gebrachten, übergebenen Zeitdauerwertes entspricht
Aufruf/Argumente:
fn:days-from-duration($dt-dauer)
$dt-dauer:
Optional. Eine Zeitdauerangabe vom Typ xs:duration, aus der – im Anschluss an eine Typumwandlung nach xs:dayTimeDuration der kanonisierten Form PnDTnHnMnS – der so resultierende Wert der Tageskomponente extrahiert wird. Wird leere Sequenz übergeben, so gibt die Funktion ebenfalls eine leere Sequenz zurück.
Verwendungszweck:
Die Funktion gibt eine Ganzzahl zurück, die der Tageskomponente D des Zeitdauerwertes entspricht, sofern dessen Wert in kanonischer Form vorliegt. Alle anderen Komponenten (Stunden, Minuten, Sekunden) werden verworfen. Liegt der Wert nicht in kanonischer Form PnDThHmMsS (mit n beliebig, h, m, s < 60) vor, so werden alle Komponenten zunächst in kanonische Form gebracht. Dies erfolgt, sofern möglich, durch Umrechnung jeder einzelnen Komponente in ganzzahlige Werte der nächstgrößeren Komponente unter Beibehaltung des Restwertes (Beispiel: PT26H wird zu P1D2H). Für negative Zeitdauerwerte ist der zurückgegebene Wert entsprechend negativ.
Beispiele:
Beispiel 1 – Tage aus Zeitdauerwert:
fn:days-from-duration(
xs:dayTimeDuration("P4DT12H")
)
ergibt 4.
In diesem Fall entspricht der zurückgegebene Wert demjenigen der Tageskomponente, da der Wert der Stundenkomponente unter 24 liegt, der Zeitdauerwert also in kanonischer Form vorliegt.
Beispiel 2 – Tage aus Zeitdauerwert:
fn:days-from-duration(
xs:dayTimeDuration("P4DT50H")
)
ergibt 6.
Der Wert muss zunächst in kanonische Form gebracht werden: T50H wird zu 2DT2H. Zum vorliegenden Wert der Tageskomponente werden folglich zwei Tage hinzugezählt. Die kanonische Form des Wertes ist also P6DT2H.
Beispiel 3 – Tage aus negativem Zeitdauerwert:
fn:days-from-duration(
xs:dayTimeDuration("-P3DT10H")
)
ergibt –3.
Der zurückgegebene Wert ist negativ, da es sich beim Eingabewert um eine negative Zeitdauer handelt. Der absolute Wert entspricht dem der Tageskomponente.
Funktionsdefinition:
XPath 1.0:
Funktion nicht verfügbar
XPath 2.0:
fn:days-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