fn:minutes-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; der Wert der Minutenkomponente des übergebenen Zeitdauerwertes nach Kanonisierung.

Aufruf/Argumente:

fn:minutes-from-duration($zeitdauerwert)

$zeitdauerwert:
Optional. Eine Zeitdauerangabe xs:duration, aus der, nach Umwandlung in den Typ xs:dayTimeDuration in seiner kanonischen Form PnDTnHnMnS, der so resultierende Wert der Minutenkomponente extrahiert wird. Wird die leere Sequenz übergeben, so gibt die Funktion eine leere Ergebnissequenz zurück.

Verwendungszweck:

Die Funktion gibt eine Ganzzahl zurück, die sich aus der Minutenkomponente eines Zeitdauerwertes ergibt, nach Überführung des Eingabewertes, der als beliebiger Typ xs:duration vorliegen darf, in die kanonische Form von xs:dayTimeDuration. Dies geschieht durch Entfernen der Jahres- und Monatskomponenten aus dem Zeitdauerwert mit anschließender Kanonisierung.

Wurde ein Typ xs:yearMonthDuration übergeben, so kann dieser zwar in den geforderten Typ xs:dayTimeDuration umgewandelt werden – dessen Komponenten besitzen jedoch alle den Wert 0, weshalb die Funktion für die Minutenkomponente folgerichtig den Wert 0 zurückgibt.

Um die kanonische Form PnDThHmMsS (mit n beliebig, h, m, s < 60) eines übergebenen Wertes xs:dayTimeDuration zu erreichen, werden alle Komponenten für sich in kanonische Form gebracht. Hierfür wird jede einzelne Komponente in ganzzahlige Werte der nächstgrößeren Komponente umgerechnet, wobei der Restwert beibehalten wird (Beispiel: PT130S wird zu PT2M10S). Für negative Zeitdauerwerte ist der zurückgegebene Wert entsprechend negativ.

Beispiele:

Beispiel 1 – Minutenkomponente aus Zeitdauerwert:

fn:minutes-from-duration(
           xs:dayTimeDuration("P3DT10H")
  )

ergibt 0.

Die Zeitdauerangabe liegt in kanonischer Form vor, besitzt aber keine Minutenkomponente. Im diesem Fall wird sie für die Ausgabe auf 0 gesetzt.

Beispiel 2 – Wert mit Minuten- und Sekundenkomponente:

fn:minutes-from-duration(
           xs:dayTimeDuration("P3DT12H32M12S")
  )

ergibt 32.

Analog zu Beispiel 1 – hier werden neben der Tageskomponente jedoch auch die Komponenten für Stunden und Sekunden verworfen.

Beispiel 3 – Zeitdauerwert in nicht kanonischer Form:

fn:minutes-from-duration(
           xs:dayTimeDuration("P3DT2H5M123S")
  )

ergibt 7.

Die Zeitdauerangabe liegt nicht in kanonischer Form vor. Die Sekundenkomponente wird zunächst in ganze Minuten und verbleibende Sekunden umgerechnet (2M3S; 2 Minuten und 3 Sekunden). Zur bestehenden Minutenkomponente von 5 wird daher 2 hinzugezählt.

Beispiel 4 – Stunden aus negativem Zeitdauerwert:

fn:minutes-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:minutes-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