Restriction types are declared using the declaration. : restriction « XML Schema « XML Tutorial






<restriction base="name of the simpleType you are deriving from"> 


A derived type declared using the <restriction> declaration is a subset of its base type. 
Facets control all simple types within XML Schemas. 
A facet is a single property or trait of a <simpleType>. 
For example, the built-in numeric type nonNegativeIntegerwas created by deriving from the built-in Integer type and setting the facet minInclusiveto zero. 


There are 12 constraining facets, described in the following table: 

Facet                 
minExclusive          
minInclusive          
maxExclusive          
maxInclusive          
totalDigits           
fractionDigits        
length                
minLength             
maxLength             
enumeration           
whiteSpace            
pattern               


Within a <restriction> declaration, you must specify the type you are restricting using the base attribute. 
The base attribute is a reference to a global <simpleType> definition or built-in XML Schema datatype. 

<attribute name="kind">
  <simpleType>
    <restriction base="string">
      <enumeration value="Home" />
      <enumeration value="Work" />
      <enumeration value="Cell" />
      <enumeration value="Fax" />
    </restriction>
  </simpleType>
</attribute>








3.67.restriction
3.67.1.Deriving Custom Simple Types
3.67.2.Restriction types are declared using the declaration.
3.67.3.restriction specifies values for zero or more constraining facets
3.67.4.Deriving by Restriction