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 Tages­komponente des in kanonische Form gebrachten, übergebenen Zeitdauerwer­tes 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 kanoni­scher Form vorliegt. Alle anderen Komponenten (Stunden, 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 erfolgt, 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 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 Tageskom­ponente, da der Wert der Stundenkomponente unter 24 liegt, der Zeitdauer­wert 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 Tageskom­­ponente.

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