fn:dateTime

(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: Funktionen für Sequenzen

Herkunft: XPath 2.0

Rückgabewert: Sequenz aus atomaren Werten verschiedenen Typs, die aus der Verarbeitung (Atomisierung) der Items einer Eingabesequenz gebildet wird

Aufruf/Argumente:

fn:dateTime($datumswert, $zeitwert)

$datumswert:
Ein Datumswert vom Typ xs:date. Die leere Sequenz ist als Argument gestattet – die Funktion gibt in diesem Fall eine leere Ergebnissequenz zurück.

$zeitwert:
Eine Tageszeitangabe vom Typ xs:time. Die leere Sequenz ist als Argument gestattet – die Funktion gibt in diesem Fall eine leere Ergebnissequenz zurück.

Verwendungszweck:

Die Funktion konstruiert aus den ihr als Argumente übergebenen Einzelkomponenten vom Typ xs:date und xs:time einen Zeitstempelwert von Typ xs:dateTime. Beide übergebenen Werte müssen von den Zeitzonen her übereinstimmen. Wird anstelle eines oder beider Argumente die leere Sequenz übergebn, so gibt die Funktion eine leere Ergebnissequenz zurück.

Der Ergebniswert erhält dieselbe Zeitzone wie die Argumente, sofern diese entweder für beide gleich lautet, oder nur für eines der Argumente eine Angabe erfolgt.

Liegen für beide Argumente Zeitzonenangaben vor, stimmen diese jedoch nicht überein, so wird der Fehler »Both arguments to fn:dateTime have a specified timezone« gemeldet (err:FORG0008).

Beispiele:

Beispiel 1 – Konstruktion eines Zeitstempelwertes:

fn:dateTime( xs:date('2007-12-31'),
             xs:time('12:00:00')
  )

ergibt xs:dateTime('2007-12-31T12:00:00'). Der Ergebniswert besitzt, wie die Eingabeargumente, keine Zeitzonenangabe.

Beispiel 2 – Konstruktion eines Zeitstempelwertes mit Zeitzone:

fn:dateTime( xs:date('2007-07-25-05:00'),
             xs:time('12:00:00')
  )

ergibt xs:dateTime('2007-12-31T12:00:00-05:00'). Das erste Argument besitzt eine Zeitzonenangabe, die demzufolge im Ergebnis erscheint.

Beispiel 3 – Konstruktion eines Zeitstempelwertes mit Zeitzone:

fn:dateTime( xs:date('2007-07-25-05:00'),
             xs:time('12:00:00-05:00')
  )

ergibt xs:dateTime('2007-12-31T12:00:00-05:00'). Hier besitzen beide Argumente dieselbe Zeitzonenangabe, die wiederum im Ergebnis erscheint.

Beispiel 4 – Fehler durch inkorrekte Zeitzonenangabe:

fn:dateTime( xs:date('2007-07-25-05:00'),
             xs:time('12:00:00+05:00')
  )

ergibt den Fehler err:FORG0008 da die Argumente unterschiedliche Zeitzonenangaben besitzen. Die Funktion bricht die Verarbeitung ohne Ausgabe ab.

Funktionsdefinition:

XPath 1.0:

Funktion nicht verfügbar

XPath 2.0:

fn:dateTime($arg1 as xs:date?, $arg2 as xs:time?) as xs:dateTime?

   

<< 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