Las limitaciones de valor, también conocidas como facetas en el Esquema XML, refinan un tipo simple definiendo límites en los valores que éste puede representar.
Normalmente es útil poder limitar los valores que un elemento o atributo puede adoptar, quizá para garantizar que los mensajes se ajusten a las normas empresariales. Este tema describe cómo añadir limitaciones de valor a un tipo simple con el fin de limitar los valores de todos los elementos o atributos basados en dicho tipo simple.
Si el modelo se despliega en WebSphere Message Broker, los elementos y atributos se pueden validar comparándolos con las limitaciones de valor, para que las violaciones se notifiquen como errores o avisos. Los dominios SOAP, XMLNSC, DFDL y MRM soportan todos ellos la validación.
Se pueden aplicar limitaciones de longitud a los tipos simples que se derivan de xsd:hexBinary, xsd:base64Binary o xsd:string (incluidos los tipos de esquema incorporados tales como xsd:normalisedString).
Las limitaciones de longitud se heredan de los tipos ascendientes y las limitaciones de longitud definidas para un tipo simple no deben rebajar las limitaciones impuestas por cualquiera de los tipos ascendientes. Por ejemplo, un tipo 'longString' (Longitud máx.=100) no se puede derivar de un tipo 'shortString' (Longitud máx.=10).
Las limitaciones de rango se heredan de los tipos ascendientes y las limitaciones de rango definidas para un tipo simple no deben rebajar las limitaciones impuestas por cualquiera de los tipos ascendientes. Por ejemplo, un tipo 'largeNumber' (Inclusiva máx.=100) no se puede derivar de un tipo 'smallNumber' (InclusivaMáx.=10).
Las limitaciones de enumeración se heredan de los tipos ascendientes y cualquier conjunto de limitaciones de enumeración definidas para un tipo simple no debe incrementar el rango de valores permitidos. Por ejemplo, un tipo 'AllColors' (con enumeraciones para todos los colores del arco iris) no se puede derivar de un tipo 'MonoColors' (con enumeraciones para 'negro' y 'blanco' únicamente).
Las limitaciones de precisión se heredan de los tipos ascendientes y las limitaciones de precisión definidas para un tipo simple no deben rebajar las limitaciones impuestas por cualquiera de los tipos ascendientes. Por ejemplo, un tipo 'veryPrecise' (Dígitos de fracción=10) no se puede derivar de un tipo 'notVeryPrecise' (Dígitos de fracción=1).
Igual que sucede con todas las limitaciones de valor, un tipo simple puede heredar limitaciones de patrón del tipo simple en el que está basado. En este caso, se debe satisfacer el conjunto de limitaciones de patrón al que contribuye cada tipo ascendiente, además del conjunto al que contribuye el tipo simple; es decir, los conjuntos de limitaciones de patrón de cada nivel de la jerarquía de tipos se combinan utilizando el valor booleano AND.