fn:hours-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 Stundenkomponente des in kanonische Form gebrachten, übergebenen Zeitdauerwertes entspricht.
Aufruf/Argumente:
fn:hours-from-duration($dt-dauer)
$dt-dauer:
Optional. Eine Zeitdauerangabe vom Typ xtd:dayTimeDuration der Form PnDTnHnMnS, aus der – nach Umwandlung in ihre kanonische Form – der so resultierende Wert der Stundenkomponente extrahiert wird. Wird die leere Sequenz übergeben, so gibt die Funktion diese zurück.
Verwendungszweck:
Die Funktion gibt eine Ganzzahl zurück, die sich aus der Stundenkomponente des Zeitdauerwertes ergibt, sofern der Wert in kanonischer Form vorliegt. Alle anderen Komponenten (Tage, 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 geschieht, sofern möglich, durch Umrechnung jeder einzelnen Komponente in ganzzahlige Werte der nächstgrößeren Komponente unter Beibehaltung des Restwertes (Beispiel: PT26H wird zu P1DT2H). Für negative Zeitdauerwerte ist der zurückgegebene Wert entsprechend negativ.
Beispiele:
Beispiel 1 – Stundenkomponente aus Zeitdauerwert:
fn:hours-from-duration(
xs:dayTimeDuration("P3DT10H")
)
ergibt 10.
Die Zeitdauerangabe liegt bereits in kanonischer Form vor. Im diesem einfachsten Fall kann die Stundenkomponente durch Verwerfen aller anderen Komponenten direkt gewonnen werden.
Beispiel 2 – Wert mit Minuten- und Sekundenkomponente:
fn:hours-from-duration(
xs:dayTimeDuration("P3DT12H32M12S")
)
ergibt 12.
Analog zu Beispiel 1 – hier werden neben der Tageskomponente jedoch auch die Komponenten für Minuten und Sekunden verworfen.
Beispiel 3 – Zeitdauerwert in nicht kanonischer Form:
fn:hours-from-duration(
xs:dayTimeDuration("PT123H")
)
ergibt 3.
Die Zeitdauerangabe liegt nicht in kanonischer Form vor. Die Stundenkomponente wird zunächst in ganze Tage und verbleibende Stunden umgerechnet (P5DT3H; 5 Tage und 3 Stunden), der verbleibende Rest der Stundenkomponente wird zurückgegeben.
Beispiel 4 – Stunden aus negativem Zeitdauerwert:
fn:hours-from-duration(
xs:dayTimeDuration("-P3DT10H")
)
ergibt -10.
Die Zeitdauerangabe liegt in kanonischer Form vor, ist aber negativ. Der Wert der Stundenkomponente (10H) wird daher auch mit negativem Vorzeichen zurückgegeben.
Funktionsdefinition:
XPath 1.0:
Funktion nicht verfügbar
XPath 2.0:
fn:hours-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