Defines constraints on a simpleContent definition.
<restriction base = QName id = ID {any attributes with non-schema Namespace}…> Content: (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits |fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?)) </restriction>
base is the name of a built-in data type, simple type, or complex type. If a complex type, this type must be of one of the following: built-in data type, simple type, or simple content.
The base value must be a qualified name (QName).
Required.
Optional.
Number of occurrences | One time |
Parent elements | simpleContent |
Contents (simpleContent) | annotation, fractionDigits, enumeration, length, maxExclusive, maxInclusive, maxLength, minExclusive, minInclusive, minLength, pattern, simpleType, totalDigits, whiteSpace, attribute, attributeGroup, anyAttribute |
The following example shows a simpleContent definition that restricts another simpleContent extension. The set of values is restricted to a short list of values and the attribute.
<xs:simpleType name="mountainbikesize"> <xs:restriction base="xs:string"> <xs:enumeration value="small"/> <xs:enumeration value="medium"/> <xs:enumeration value="large"/> </xs:restriction> </xs:simpleType> <xs:complexType name="FamilyMountainBikeSizes"> <xs:simpleContent> <xs:extension base="mountainbikesize"> <xs:attribute name="familyMember" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="ChildMountainBikeSizes> <xs:simpleContent> <xs:restriction base="FamilyMountainBikeSizes" > <xs:enumeration value="small"/> <xs:enumeration value="medium"/> </xs:restriction> </xs:simpleContent> </xs:complexType>
XML Schema Reference (XSD) | XML Schema Elements
For more information, see the W3C XML Schema Part 2: Datatypes Recommendation at http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#derivation-by-restriction.