xs:minLength

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

Facette zur Definition einer Minimallänge.

<xs:minLength
    fixed = xs:boolean : "false"
    id = xs:ID
    value = xs:nonNegativeInteger
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?)
</xs:minLength>

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

Kann als Facette verwendet werden für: xs:anyURI, xs:base64Binary, xs:ENTITIES, xs:ENTITY, xs:hexBinary, xs:ID, xs:IDREF, xs:IDREFS, xs:language, xs:Name, xs:NCName, xs:NMTOKEN, xs:NMTOKENS, xs:normalizedString, xs:NOTATION, xs:QName, xs:string, xs:token

Beschreibung

xs:minLength ist eine Facette, die die Festlegung der kleinsten zulässigen Länge in einer Einheit, die vom Datentyp abhängt, ermöglicht. Für die meisten Datentypen ist die Einheit das Zeichen, wie es in der XML 1.0 Recommendation definiert ist (d.h. Unicode-Zeichen, wie von ISO/IEC 10646 definiert, die mit mehr als acht Bits dargestellt sein können). Die Ausnahmen sind die binären Datentypen (xs:hexBinary und xs:base64Binary), für die die Längen als Anzahl der Bytes (zu je acht Bits) der binären Daten ausgedrückt werden, sowie alle Listen-Datentypen, für die die Längen als Anzahl der Listeneinträge ausgedrückt werden.

xs:minLength beschränkt den Werteraum. In der Praxis bedeutet dies, daß die Facette nach Whitespace-Ersetzung und -Zusammenfassung überprüft wird, wie von der Facette xs:whitespace definiert.

Einschränkungen

Es handelt sich hier um eine logische Länge, die oft keinen unmittelbaren Bezug zu dem Speicherplatz hat, der für den Wert benötigt wird.

Es ist verboten, sowohl xs:minLength als auch xs:length im selben Einschränkungsschritt zu definieren. Auch wenn nicht ausdrücklich in der Recommendation angegeben, ist es ebenfalls sinnlos, mehrere xs:minLength-Facetten in einem einzelnen Einschränkungsschritt zu definieren.

Innerhalb eines Einschränkungsschritts hängt xs:minLength auch mit xs:maxLength zusammen, da die Verwendung inkonsistenter Werte zu Datentypen mit leeren Werteräumen führt.

xs:minLength muß den Werteraum seines Basistyps einschränken, und der Wert dieser Facette muß größer als der xs:minLength-Wert seines Basistyps sein, falls dieser definiert ist.

Auch wenn dies in der Recommendation nicht angegeben ist, besteht eine Wechselwirkung zwischen xs:minLength und xs:length. xs:minLength sollte nicht definiert werden, wenn xs:length für seinen Basistyp definiert ist.

Die Festlegung der Facette xs:minLength fixiert die Facette xs:length nicht. Verwenden Sie zwei Einschränkungsschritte, um beide Facetten zu fixieren, denn es ist verboten, diese Facetten im selben Einschränkungsschritt anzuwenden.

Beispiel

<xs:simpleType name="longName">
    <xs:restriction base="xs:NCName">
        <xs:minLength value="6"/>
    </xs:restriction>
</xs:simpleType>

Attribute

fixed
Wenn der Wert true ist, kann der Wert dieser Facette bei weiteren Einschränkungen nicht modifiziert werden.

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