XML Schema define / Facetas
Limited (restrição) é usado para definir elemento XML aceitável ou os valores de atributos. Para definir elementos XML são chamados faceta.
valores limite
O exemplo a seguir define um elemento com uma "idade" definido e chamado de. O valor de idade não pode ser menor do que 0 ou maior do que 120:
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
A definição de um conjunto de valores
Para o conteúdo do elemento XML é limitada a um conjunto de valores aceitáveis, que se utilizam a restrição de enumeração (enumeração restrição).
O exemplo a seguir define um elemento com um nome de "carro" qualificado é. Apenas valores aceitáveis são: Audi, Golf, BMW:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O exemplo acima pode também ser escrita como:
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
Nota: Neste caso, tipo "CarType" pode ser utilizada por outros elementos, porque não faz parte do elemento de "carro".
Uma série de valor limitado
Para limitar o conteúdo de um elemento XML é definido como uma série de números ou letras que podem ser usados, queremos usar o confinamento modo (padrão de restrição).
O exemplo a seguir define um elemento com uma chamada "carta" definido de. Os únicos valores aceitáveis letras minúsculas A - Z um:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O próximo exemplo define um elemento com um definido chamado "iniciais" de. Os valores aceitáveis são as letras maiúsculas A - Z em que três deles:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O próximo exemplo também define um elemento com um definido chamado "iniciais" de. Os valores aceitáveis são letras maiúsculas ou minúsculas A - Z três deles:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O exemplo seguinte define um elemento com uma escolha limitada chamado "valor aceitável são as letras X, Y ou Z em um:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O próximo exemplo define um elemento com um nome "prodid" qualificado. Os valores aceitáveis são uma sequência de cinco dígitos, e cada número no intervalo de 0-9:
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Uma série de valores definidos para a outra
O exemplo a seguir define um elemento com uma chamada "carta" definido de. Os valores aceitáveis são a - z zero ou mais letras:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O exemplo a seguir define um elemento com uma chamada "carta" definido de. Os valores aceitáveis são um ou mais pares de letras, cada par é composto por uma letra minúscula seguido por uma letra maiúscula. Por exemplo, "Stop" irá validar este modelo, mas o "Stop", "STOP" ou "stop" não pode ser verificado:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O exemplo a seguir define um elemento com um chamado "gênero" definido é. Os valores aceitáveis são do sexo masculino ou feminino:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
O exemplo a seguir define um elemento com um nome de "password" qualificado. Os valores aceitáveis são uma linha de caracteres consiste em oito caracteres, esses caracteres devem ser maiúsculas ou minúsculas A - Z ou será digitais 0--9:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
caractere em branco definida
Para especificar abordagem branco caracteres de espaço (espaços em branco), precisamos usar whiteSpace limitado.
O exemplo a seguir define um elemento chamado "endereço" com um definido. Este whiteSpace Limited está definido para "preservar", o que significa que o processador XML não irá remover quaisquer caracteres de espaço em branco:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Este exemplo também define um elemento chamado "endereço" com um definido. Este whiteSpace Limited está definido para "substituir", o que significa que o processador XML irá remover todos os caracteres de espaço em branco (quebras de linha, retornos de carro, espaços e tabs):
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Este exemplo também define um elemento chamado "endereço" com um definido. Este whiteSpace Limited está definido para "colapso", o que significa que o processador XML irá remover todos os caracteres de espaço em branco (quebras de linha, retornos de carro, espaços e tabulações são substituídas por espaços, espaços iniciais e finais serão removidos, e vários espaços consecutivos são reduzidos a um único espaço):
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
De comprimento definidas
Para limitar o comprimento dos valores de elementos, é preciso usar o comprimento, maxLength e minLength limitado.
Elementos com uma "password" definido e nomeado, neste caso, é definido. Seu valor deve ser exatamente oito caracteres:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Este exemplo também define um elemento com um nome de "password" qualificado. O seu valor é de um mínimo de 5 caracteres e um máximo de oito caracteres:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
tipos de dados definidos
limitado | descrição |
---|---|
enumeração | Definir uma lista de valores aceitáveis |
fractionDigits | Ele define o número máximo permitido de casas decimais. Ele deve ser maior do que 0. |
comprimento | Definir o número exato de caracteres permitidos ou itens de lista. Ele deve ser maior do que ou igual a 0. |
maxExclusive | Definir o valor limite superior. valor permitido deve ser inferior a este valor. |
maxInclusive | Definir o valor limite superior. Valor permitido deve ser inferior ou igual a este valor. |
maxLength | Define o número máximo de caracteres permitidos ou itens de lista. Ele deve ser maior do que ou igual a 0. |
minExclusive | O valor limite inferior é definido. O valor deve ser permitido superior a este valor. |
minInclusive | O valor limite inferior é definido. must valor permitido igual ou superior a esse valor. |
minLength | Define o número mínimo permitido de caracteres ou itens de lista. Ele deve ser maior do que ou igual a 0. |
padrão | Definir a seqüência exata de caracteres aceitáveis. |
totalDigits | Ele define a precisão dígitos algarismos arábicos permitidos. Ele deve ser maior do que 0. |
whiteSpace | A definição de caracteres espaço branco (quebras de linha, retornos de carro, tabulações e espaços) são manipulados. |