Facetas o restricciones, se pueden aplicar sobre tipos simples utilizando el elemento xs:restriction. Se expresan como un elemento dentro de una restricción y se pueden combinar para lograr restringir más el valor del elemento. Estas restricciones son:
(creción de una cadena de texto con longitud máxima de 9 caracteres y dos valores posibles)
<xs:simpleType name="estado">
<xs:restriction base="xs:string">
<xs:maxLength value="9"/>
<xs:enumeration value="conectado"/>
<xs:enumeration value="ocupado"/>
</xs:retriction>
</xs:simpleType>
(creación de un elemento en el que se respetan los espacios tal y como se han introducido)
<xs:simpleType name="nombre">
<xs:restriction base="xs:string">
<xs:whitespace value="preserve"/>
</xs:retriction>
</xs:simpleType>
(creción de un elemento calificaciones de dos digitos cuyo valor es un número entero comprendido entre 1 y 10, ambos inclusive)
<xs:simpleType name="calificaciones">
<xs:restriction base="xs:integer">
<xs:totalDigits value="2"/>
<xs:minExclusive value="0"/>
<xs:maxInclusive value="10"/>
</xs:retriction>
</xs:simpleType>
| Patrón | Significado |
| [A-Z a-z] | Letra |
| [A-Z] | Letra mayúscula |
| [a-z] | Letra minuscula |
| [0-9] | Digitos decimales |
| \D | Cualquier caracter excepto un digito decimal |
| (A) | Cadena que coincida con A |
| A|B | Cadena que es igual a la cadena A o a la B |
| AB | Cadena que es la concatenación de las cadenas A y B |
| A? | Cero o una vez la cadena A |
| A+ | Una o más veces la cadena A |
| A* | Cero o más veces la cadena A |
| [abcd] | Alguno de los caracteres que están entre corchetes |
| [^abcd] | Cualquier caracter que no esté entre corchetes |
| \t | Tabulación |
(creación de una máscara de un DNI)
<xs:simpleType name="dni">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Z]"/>
</xs:retriction>
</xs:simpleType>