XML-Schema definiert / Facets

Limited (BeschrÀnkung) verwendet akzeptabel XML-Element zu definieren oder Attributwerte. So definieren Sie XML-Elemente werden Facette genannt.


Grenzwerte

Das folgende Beispiel definiert ein Element mit einer definierten und dem Namen "Alter". Der Wert des Alters kann nicht niedriger sein als 0 oder grĂ¶ĂŸer als 120:

<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


Definieren einer Reihe von Werten

FĂŒr den Inhalt des XML-Elements auf einen Satz von akzeptablen Werten begrenzt ist, wĂŒrden wir die AufzĂ€hlung Bedingung (AufzĂ€hlung EinschrĂ€nkung) verwenden.

Das folgende Beispiel ein Element mit einem qualifizierten Namen "Auto" definiert ist. Nur akzeptable Werte sind: Audi, Golf, BMW:

<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das obige Beispiel kann auch geschrieben werden als:

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>

Hinweis: In diesem Fall geben Sie "Cartype" können durch andere Elemente verwendet werden , da sie nicht Teil des "Auto" Element ist.


Eine Reihe von begrenztem Wert

Um den Inhalt eines XML-Elements begrenzen, wird als eine Reihe von Zahlen oder Buchstaben definiert, die verwendet werden können, wollen wir die Modenbegrenzung (pattern constraint) zu verwenden.

Das folgende Beispiel definiert ein Element mit einem definierten Namen "Brief" von. Die einzig akzeptable Werte Kleinbuchstaben a - z ein:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das nĂ€chste Beispiel definiert ein Element mit einem definierten Namen "Initialen" von. ZulĂ€ssige Werte sind Großbuchstaben A - Z, in der drei von ihnen:

<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das nĂ€chste Beispiel definiert auch ein Element mit einem definierten Namen "Initialen" von. ZulĂ€ssige Werte sind Groß- oder Kleinbuchstaben a - z drei von ihnen:

<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das nÀchste Beispiel definiert ein Element mit einer begrenzten Auswahl die Buchstaben x, y oder z in ein als "akzeptabel Wert ist:

<xs:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das nĂ€chste Beispiel definiert ein Element mit einem qualifizierten Namen "prodid" von. Die zulĂ€ssigen Werte sind eine Folge von fĂŒnf Ziffern, und jede Zahl im Bereich von 0-9:

<xs:element name="prodid">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


Eine Reihe von Werten fĂŒr andere definierte

Das folgende Beispiel definiert ein Element mit einem definierten Namen "Brief" von. ZulÀssige Werte sind a - z null oder mehr Buchstaben:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das folgende Beispiel definiert ein Element mit einem definierten Namen "Brief" von. Die zulĂ€ssigen Werte sind ein oder mehrere Paare von Buchstaben besteht jedes Paar von einem Kleinbuchstaben von einem Großbuchstaben gefolgt. Zum Beispiel: "STOPP" wird dieses Modell bestĂ€tigen, aber die "Stop", "STOP" oder "Stopp" nicht ĂŒberprĂŒft werden kann:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das folgende Beispiel definiert ein Element mit einer definierten genannten "Gender" ist. Die zulÀssigen Werte sind mÀnnlich oder weiblich:

<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

Das folgende Beispiel definiert ein Element mit einem qualifizierten Namen "Passwort" aus. Die zulĂ€ssigen Werte sind eine Reihe von Zeichen aus acht Zeichen besteht, mĂŒssen diese Zeichen Groß- und Kleinbuchstaben werden, um eine - z oder wird digital 0--9:

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


Blank Zeichen definiert

Um Leerzeichen (Leerzeichen) Ansatz angeben, mĂŒssen wir whitespace beschrĂ€nkt zu verwenden.

Das folgende Beispiel definiert eine benannte "Adresse" Element mit einer definierten. Dieses whitespace Limited ist auf "konservieren", was bedeutet, dass der XML-Prozessor keine Leerzeichen nicht entfernt werden:

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

In diesem Beispiel wird auch eine benannte "Adresse" Element mit einer definierten. Dieses whitespace Limited ist auf "Ersetzen", was bedeutet, dass der XML-Prozessor alle Leerzeichen entfernen wird (ZeilenumbrĂŒche ZeilenumbrĂŒche, Leerzeichen und Tabulatoren):

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

In diesem Beispiel wird auch eine benannte "Adresse" Element mit einer definierten. Dieses whitespace Limited ist auf "Zusammenbruch", was bedeutet, dass der XML-Prozessor alle Leerzeichen entfernen wird (ZeilenumbrĂŒche ZeilenumbrĂŒche, Leerzeichen und Tabulatoren durch Leerzeichen ersetzt werden, fĂŒhrende und nachfolgende Leerzeichen entfernt werden, und mehrere aufeinanderfolgende Leerzeichen zu einem einzigen Raum reduziert):

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


Definierter LĂ€nge

Um die LĂ€nge der Elementwerte begrenzen, mĂŒssen wir die LĂ€nge zu verwenden, maxLength und minLength begrenzt.

Elemente mit einer definierten und Namen "Passwort" in diesem Fall definiert. Der Wert muss genau acht Zeichen lang sein:

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

In diesem Beispiel wird auch ein Element mit einem qualifizierten Namen "Passwort" aus. Sein Wert ist ein Minimum von 5 Zeichen und maximal acht Zeichen:

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


Definierte Datentypen

begrenzt Beschreibung
AufzÀhlung Definieren Sie eine Liste der zulÀssigen Werte
fractionDigits Es definiert die maximal zulĂ€ssige Anzahl von Dezimalstellen. Er muss grĂ¶ĂŸer als 0 sein.
LĂ€nge Definieren Sie die genaue Anzahl der erlaubten Zeichen oder Listenelemente. Es muss grĂ¶ĂŸer als oder gleich 0 ist.
maxExclusive Definieren Sie den oberen Grenzwert. Erlaubte Wert muss kleiner sein als dieser Wert.
maxInclusive Definieren Sie den oberen Grenzwert. Erlaubt Wert muss kleiner oder gleich diesem Wert.
maxLength Legt die maximale Anzahl der zulĂ€ssigen Zeichen oder Listenelemente. Es muss grĂ¶ĂŸer als oder gleich 0 ist.
minExclusive Der untere Grenzwert definiert. Der Wert muss grĂ¶ĂŸer als dieser Wert zugelassen werden.
minInclusive Der untere Grenzwert definiert. Erlaubt Wert muss grĂ¶ĂŸer oder gleich diesem Wert.
minLength Definiert die zulĂ€ssige Mindestanzahl von Zeichen oder Listenelemente. Es muss grĂ¶ĂŸer als oder gleich 0 ist.
Muster Definieren Sie die genaue Reihenfolge der zulÀssigen Zeichen.
totaldigits Es definiert die erlaubten PrĂ€zision stelligen arabischen Ziffern. Er muss grĂ¶ĂŸer als 0 sein.
whitespace Die Definition von Leerzeichen (ZeilenumbrĂŒche ZeilenumbrĂŒche, Tabulatoren und Leerzeichen) behandelt werden.