restriction

Die Restriktion ist eine der drei Methoden, einen Simple Type von einem anderen Simple Type abzuleiten (siehe auch List und Union).

Restriktion bedeutet, dass die zulässigen Werte des Basistyps eingeschränkt werden. Die Einschränkung kann auf mehrere Arten und Weisen geschehen:

- durch Aufzählen der erlaubten Werte (enumeration),
- durch Angabe der zulässigen Nachkommastellen (fractionDigits),
- durch Angabe der Länge (length),
- durch Angabe der oberen Schranke (maxExclusive, maxInclusive),
- durch Angabe der maximalen Länge (maxLength),
- durch Angabe der unteren Schranke (minExclusive, minInclusive),
- durch Angabe der minimalen Länge (minLength),
- durch Angabe eines regulären Ausdrucks (pattern),
- durch Angabe der gesamten Stellenzahl (totalDigits) sowie
- durch den Umgang mit Leerzeichen (whiteSpace).


Bei dem Umgang mit Leerzeichen gibt es die drei Möglichkeiten:

- unverändert erhalten,
- Tabulatoren und Zeilenumbrüche durch Leerzeichen ersetzen und
- ggf. zusätzliches Entfernen von Leerzeichen am Anfang und Ende sowie das Ersetzen mehrerer aufeinanderfolgender Leerzeichen durch eines.


<restriction base="qname"?>
annotation?
simpletype?
<enumeration value="string"/>*
<fractionDigits value="positive-integer"/>?
<length value="positive-integer"/>?
<maxExclusive value="number"/>?
<maxInclusive value="number"/>?
<maxLength value="positive-integer"/>?
<minExclusive value="number"/>?
<minInclusive value="number"/>?
<minLength value="positive-integer"/>?
<pattern value="regular-expression"/>?
<totalDigits value="positive-integer"/>?
<whiteSpace value="collapse|preserve|replace"/>?
</restriction>