xs:pattern

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

Facette zur Festlegung einer Bedingung durch einen regulären Ausdruck.

<xs:pattern
    id = xs:ID
    value = anySimpleType
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?)
</xs:pattern>

Kann auftreten innerhalb von: xs:restriction (einfacher Typ), xs:restriction (einfacher Inhalt)

Kann als Facette verwendet werden für: xs:anyURI, xs:base64Binary, xs:boolean, xs:byte, xs:date, xs:dateTime, xs:decimal, xs:double, xs:duration, xs:ENTITY, xs:float, xs:gDay, xs:gMonth, xs:gMonthDay, xs:gYear, xs:gYearMonth, xs:hexBinary, xs:ID, xs:IDREF, xs:int, xs:integer, xs:language, xs:long, xs:Name, xs:NCName, xs:negativeInteger, xs:NMTOKEN, xs:nonNegativeInteger, xs:nonPositiveInteger, xs:normalizedString, xs:NOTATION, xs:positiveInteger, xs:QName, xs:short, xs:string, xs:time, xs:token, xs:unsignedByte, xs:unsignedInt, xs:unsignedLong, xs:unsignedShort

Beschreibung

xs:pattern erlaubt die Definition von Mustern regulärer Ausdrücke über dem lexikalischen Raum. Die für diese Muster verwendete Schreibweise ist von den regulären Ausdrücken von Perl ausgeborgt und erweitert worden, um Unicode-Zeichenblöcke zu unterstützen.

Wenn mehrere xs:pattern-Facetten in einem einzigen Ableitungsschritt definiert werden, wird ein Wert als gültig angesehen, wenn mindestens eines der Muster auf ihn paßt. Mit anderen Worten: Es wird ein logisches oder für alle Muster angewendet, die in ein und demselben Ableitungsschritt definiert sind.

Muster werden auf den lexikalischen Raum des Basis-Datentyps angewendet. Dies bedeutet, daß ein logisches und für alle Muster angewendet wird, die in verschiedenen Ableitungsschritten definiert sind.

Die Schreibweise dieser Muster wird unter Reguläre Ausdrücke zur Spezifikation einfacher Datentypen ausführlich erläutert.

Einschränkungen

xs:pattern stellt eine gängige Umgehungsstrategie dar, um Datentypen zu definieren, die aussehen, als fehlten sie in der Reihe der vordefinierten Datentypen. Es ist beispielsweise möglich, Dezimalzahlen mit einem anderen Trennzeichen als dem Dezimalpunkt mit Hilfe eines Musters zu simulieren. Solche Datentypen müssen auf xs:token beruhen und werden weder die Semantik von xs:decimal noch seine Reihe von Facetten haben.

xs:pattern kann nicht fixiert werden.

Beispiel

<xs:simpleType name="nonScientific">
    <xs:restriction base="xs:float">
        <xs:pattern value="[^eE]*"/>
    </xs:restriction>
</xs:simpleType>
<xs:simpleType name="noLeading0">
    <xs:restriction base="xs:float">
        <xs:pattern value="[^0].*"/>
    </xs:restriction>
</xs:simpleType>

Attribute

id
Element-ID laut W3C XML Schema.

value
Wert der Facette.

   

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