XML Schema 参考手册 完整 XML Schema 参考手册 The restriction element defines constraints on simpleType, simpleContent, or complexContent definitions. 父元素: SimpleType, simpleContent, complexContent (? The symbol declares that the element can appear zero or once in the restriction element. ) Attribute Description Id Optional. Specifies the unique ID of the element. Base Necessary. Specifies the name of the built-in data type, simpleType, or complexType element defined in the schema (or other schema indicated by the specified namespace). Any attributes Optional. Specifies any other attributes with the non-schema namespace. The following example defines an element named “age” with constraints. The value of age cannot be less than 0 or greater than 100: This example defines an element named “initials”. The “initials” element is a simple type with constraints. Acceptable values are three uppercase or lowercase letters from a to z: This example defines an element named “password”. The “password” element is a simple type with constraints. The value must be at least 5 characters and up to 8 characters: This example shows a complex type definition that uses constraints. The complex type “Chinese_customer” is derived from a normal customer complex type, and the fixed value of its country element is “China”:Definition and usage ¶
Element information ¶
Grammar ¶
<restriction
id=ID
base=QName
*any attributes*
>
Content for simpleType:
(annotation?,(simpleType?,(minExclusive|minInclusive\|
maxExclusive|maxInclusive|totalDigits|fractionDigits\|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
Content for simpleContent:
(annotation?,(simpleType?,(minExclusive \|minInclusive\|
maxExclusive|maxInclusive|totalDigits|fractionDigits\|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?,
((attribute|attributeGroup)*,anyAttribute?))
Content for complexContent:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?))
</restriction>
Example 1 ¶
<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Example 2 ¶
<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>
Example 3 ¶
<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>
Example 4 ¶
<xs:complexType name="customer">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Norwegian_customer">
<xs:complexContent>
<xs:restriction base="customer">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="country" type="xs:string" fixed="Norway"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>