Latest web development tutorials

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:element name="age">
<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:element name="car">
<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:element name="car" type="carType"/>

<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:element name="letter">
<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:element name="initials">
<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:element name="initials">
<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:element name="choice">
<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:element name="prodid">
<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:element name="letter">
<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:element name="letter">
<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:element name="gender">
<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:element name="password">
<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:element name="address">
<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:element name="address">
<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:element name="address">
<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:element name="password">
<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:element name="password">
<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.