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 Stun­denkomponente des in kanonische Form gebrachten, übergebenen Zeitdauer­wertes entspricht.

Aufruf/Argumente:

fn:hours-from-duration($dt-dauer)

$dt-dauer:
Optional. Eine Zeitdauerangabe vom Typ xtd:dayTimeDura­tion 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, Sekun­den) 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 Kompo­nente 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 einfachs­ten Fall kann die Stundenkomponente durch Verwerfen aller anderen Kompo­nenten direkt gewonnen werden.

Beispiel 2 – Wert mit Minuten- und Sekundenkomponente:

fn:hours-from-duration(
         xs:dayTimeDura­tion("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 Stundenkompo­nente wird zunächst in ganze Tage und verbleibende Stunden umgerechnet (P5DT3H; 5 Tage und 3 Stunden), der verbleibende Rest der Stundenkompo­nente 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