As restrições de valores refinam um tipo simples, definindo limites para os valores que ele pode representar.
Geralmente, é útil poder restringir os valores que podem ser utilizados por um elemento, talvez para assegurar que as mensagens estejam de acordo com as regras de negócios. Este tópico descreve como as restrições de valores podem ser incluídas a um tipo simples para restringir o valor de todos os elementos baseados nele.
A maioria das restrições de valores discutidas aqui são modeladas pelos aspectos Esquema do XML e está associada a um tipo simples. No entanto, os valores padrão e valores fixos podem ser definidos para um elemento, e estão associados ao próprio elemento.
Se um atributo estiver ausente em uma mensagem de entrada, a ele será designado o valor padrão.
Observe que as restrições de valores padrão estão associadas ao próprio elemento e, portanto, não podem ser herdadas.
Se um atributo estiver presente em uma mensagem de entrada, ele deverá ter o valor fixo. Se um atributo estiver ausente em uma mensagem de entrada, a ele será designado o valor fixo.
As restrições de valores fixos estão associadas ao próprio elemento e, portanto, não podem ser herdadas.
As restrições de comprimento podem ser aplicadas a tipos simples que são derivados de xsd:hexBinary, xsd:base64Binary ou xsd:string (incluindo tipos de esquema internos, tais como, xsd:normalisedString).
As restrições de comprimento são herdadas de tipos ascendentes e as restrições de comprimento definidas para um tipo simples não devem afrouxar as restrições impostas por qualquer um de seus tipos ascendentes. Por exemplo, seria ilegal derivar um tipo 'longString' (Comprimento Máx=100) de um tipo 'shortString' (Comprimento Max=10).
As restrições de intervalos são herdadas de tipos ascendentes e quaisquer restrições de intervalos definidas para um tipo simples não devem afrouxar as restrições impostas por qualquer um de seus tipos ascendentes. Por exemplo, seria ilegal derivar um tipo 'largeNumber' (Max Inclusivo=100) de um tipo 'smallNumber' (Max Inclusivo=10).
O modelo de mensagem não permite que restrições exclusivas sejam aplicadas a tipos não-integrais (float, decimal, double, dateTime etc).
As restrições de enumeração são herdadas de tipos ascendentes e qualquer conjunto de restrições de enumeração definidas para um tipo simples não deve aumentar o intervalo de valores permitidos. Por exemplo, seria inválido derivar um tipo 'AllColours' (com enumerações para todas as cores do arco-íris) de um tipo 'MonoColours' (com enumerações apenas para 'preto' e 'branco').
As restrições de precisão são herdadas de tipos ascendentes e quaisquer restrições de precisão definidas para um tipo simples não devem afrouxar as restrições impostas por qualquer um de seus tipos ascendentes. Por exemplo, seria ilegal derivar um tipo 'veryPrecise' (Dígitos da Fração=10) de um tipo 'notVeryPrecise' (Dígitos da Fração=1).
Como ocorre com todas as restrições de valores, um tipo simples pode herdar restrições de padrão do tipo simples no qual ele está baseado. Nesse caso, o conjunto de restrições de padrão contribuído por cada tipo ascendente deve ser atendido, bem como o conjunto contribuído pelo próprio tipo simples. Em outras palavras, os conjuntos de restrições de padrão de cada nível na hierarquia de tipos são combinados utilizando o booleano AND.
As restrições de padrão podem ser aplicadas apenas a tipos simples que são derivados de xsd:string.
Conceitos Relacionados
Conceitos de Modelagem de Mensagens
Objetos do Modelo de Mensagem
Tipos Complexos
Herança de Tipo
Formatos Físicos no Domínio MRM
Formato de Ligação Personalizado - Relacionamento com o Modelo Lógico
Formato de Ligação XML - Relacionamento com o Modelo Lógico
Formato de Cadeia Marcada/Delimitada - Relacionamento com o Modelo Lógico
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
ad10470_ |