xs:duration

(Auszug aus "XML Schema" von Eric van der Vlist)

Zeitdauern

Abgeleitet von: xs:anySimpleType

Urtyp: xs:duration

Bekannte Untertypen: keine

Facetten: xs:enumeration, xs:maxExclusive, xs:maxInclusive, xs:minExclusive, xs:minInclusive, xs:pattern, xs:whiteSpace

Definition

<xs:simpleType name="duration" id="duration">
    <xs:restriction base="xs:anySimpleType">
        <xs:whiteSpace value="collapse" fixed="true"/>
    </xs:restriction>
</xs:simpleType>

Beschreibung

Zeitdauern können ausgedrückt werden, indem alle Teile einer Datums-/Zeitangabe (vom Jahr bis zum Sekundenbruchteil) verwendet werden, und sind daher als »sechsdimensionaler Raum« definiert. Beachten Sie, daß die Ordnungsrelation zwischen Zeitdauern nur eine Teilordnung ist und daß das Ergebnis eines Vergleichs zweier Zeitdauern undefiniert sein kann, da das Verhältnis zwischen einigen der Datumsteile (beispielsweise bei den Tagen pro Monat) nicht fest ist.

Der lexikalische Raum von xs:duration ist das von ISO 8601 in der Form »PnYnMnDTnHnMnS« festgelegte Format, wobei die Großbuchstaben Trennzeichen sind, die weggelassen werden können, wenn die entsprechende Angabe nicht verwendet wird.

Auch wenn einige Zeitdauern unbestimmt sind, werden sie fixiert, sobald ein Startzeitpunkt für den Zeitraum angegeben wird. W3C XML Schema baut auf diese Eigenschaft auf, um einen Algorithmus zu definieren, der zum Vergleich zweier Zeitdauern verwendet wird. Vier Datumszeitangaben sind ausgewählt worden, die die größten Abweichungen ergeben, wenn Zeitdauern addiert werden. Eine Zeitdauer wird als größer als eine andere betrachtet, wenn das Ergebnis ihrer Addition zu diesen vier Datumsangaben jedesmal größer ist als die Addition der anderen Zeitdauer zu diesen selben vier Datumszeitangaben. Diese Datumszeitangaben lauten: »1696-09-01T00:00:00Z«, »1697-02-01T00:00:00Z«, »1903-03-01T00:00:00Z« und »1903-07-01T00:00:00Z«.

Einschränkungen

Der lexikalische Raum kann nicht an Benutzerwünsche angepaßt werden.

Beispiel

Gültige Werte sind unter anderem "PT1004199059S", "PT130S", "PT2M10S", "P1DT2S", "-P1Y"oder "P1Y2M3DT5H20M30.123S".

Die folgenden Werte wären ungültig: "1Y" (das führende »P« fehlt), "P1S" (der Trenner »T« fehlt), "P-1Y" (alle Teile müssen positiv sein), "P1M2Y" (es kommt auf die Reihenfolge der Teile an, »Y« muß vor »M« stehen) oder "P1Y-1M" (alle Teile müssen positiv sein).

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XML Schema bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2003 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML Schema" 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.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de