- Valor Padrão
- Se um elemento vazio estiver presente em uma mensagem de entrada,
ele será designado ao valor padrão. Se um elemento estiver totalmente ausente em uma mensagem de entrada, a ele não será designado nenhum valor.
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.
Nota: Se você implementar um conjunto de mensagens no WebSphere Message Broker, o
comportamento descrito antes nem sempre se aplicará. Para obter
detalhes das diferenças, consulte o tópico Relacionamento com o
Modelo Lógico para obter o formato físico apropriado.
- Valor Fixo
- Se um elemento aparecer em uma mensagem de entrada, seu valor deverá ser o valor fixo especificado.
Se um elemento vazio estiver presente em uma mensagem de entrada,
será designado a ele o valor fixo. Se um elemento estiver totalmente ausente em uma mensagem de entrada, a ele será designado o valor fixo.
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.
Nota: Se você implementar um conjunto de mensagens no WebSphere Message Broker, o
comportamento descrito antes nem sempre se aplicará. Para obter
detalhes das diferenças, consulte o tópico Relacionamento com o
Modelo Lógico para obter o formato físico apropriado.
- Restrições de Comprimento:
Comprimento,
Comprimento Min,
Comprimento Máx
- Utilizando restrições de comprimento, o comprimento de todos os elementos baseados no tipo simples serão restringidos ou até mesmo limitados a um único valor.
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).
Nota: Para WebSphere Message Broker, por padrão, as
restrições de valor de
Comprimento são convertidas
para as restrições de Comprimento
Max quando um conjunto de mensagens é incluído em um arquivo
BAR. Isso evita que o WebSphere Message Broker gere erros de validação falsos para estrutura de dados de comprimento fixo, em que as cadeias tendem a ser preenchidas para se ajustarem a um campo de largura fixa. Se a validação de comprimento exata for requerida, esse padrão pode ser alterado nas propriedades do conjunto de mensagens alterando o sinalizador O Intermediário Trata o Aspecto de Comprimento como MaxLength.
- Restrições de Intervalo: Min
Inclusivo, Máx
Inclusivo, Min
Exclusivo, Máx
Exclusivo
- As restrições de intervalos especificam o intervalo permitido de valores para todos os elementos baseados no tipo simples. As restrições inclusivas incluem os nós de extremidade especificados no intervalo permitido, enquanto as restrições exclusivas não. As restrições de intervalo podem ser aplicadas a tipos simples que são numéricos ou que estão relacionados a valores de calendário e tempo. Elas não podem ser aplicadas a cadeias, porque a ordenação de valores de cadeia depende do conjunto de caracteres que está sendo utilizado.
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).
- Restrições de Enumeração
- A restrição de enumeração especifica um único valor permitido para todos os elementos que são baseados no tipo simples. Uma lista de valores permitidos pode ser especificada, definindo mais de uma restrição de enumeração para o mesmo tipo simples. As restrições de enumeração podem ser aplicadas a todos os tipos simples.
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').
- Restrições de Precisão : Dígitos Totais e Dígitos Fracionários
- As restrições de precisão estão relacionadas apenas a valores decimais. Elas limitam o número de dígitos significativos (dígitos totais) e o número de casas decimais (dígitos fracionários) para todos os elementos baseados no tipo simples. As restrições de precisão podem ser aplicadas apenas a tipos simples que são derivados de xsd:decimal.
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).
- Restrições de Padrão
- Uma restrição de padrão é uma expressão regular que especifica um conjunto de valores permitidos para todos os elementos baseados no tipo simples. Vários padrões podem ser definidos para o mesmo tipo simples, permitindo que as regras de validação complexas sejam expressas em partes separadas logicamente.
Cada restrição de padrão em um tipo simples contribui para o conjunto
de valores permitidos para elementos baseados nele. Em outras
palavras, todos os padrões são combinados utilizando o Booleano OR.
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.
- Restrições de Espaços em Branco
- Uma restrição de espaço em branco especifica como um analisador deve tratar espaços em branco para todos os elementos baseados no tipo simples.
Nota: Para WebSphere Message Broker, os formatos físicos
MRM permitem que espaços em branco sejam controlados de forma muito
precisa para cada formato físico definido para a mensagem, mas essas
propriedades físicas são separadas da restrição de espaço em branco
no modelo lógico.