O melhor tutorial Indicador de XML Schema em 2024. Neste tutorial você pode aprender
indicador,indicador de ordem,indicador de ocorrência,indicador de grupo,
Indicador de XML Schema
Pelo indicador, que pode controlar a utilização dos elementos do modo de documento.
indicador
Há sete indicadores:
indicadores de encomendas:
indicador de ocorrência:
Indicador de grupo:
- nome do grupo
- nome attributeGroup
indicador de ordem
indicadores de ordem são usados para definir a ordem dos elementos.
tudo indicador
<All> indicador, de acordo com as disposições do sub-elementos podem aparecer em qualquer ordem, e cada elemento filho deve aparecer apenas uma vez:
<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
NOTA: Ao usar o <all> indicador, você pode colocar <minOccurs> está definido para 0 ou 1, mas apenas o indicador <maxOccurs> é definido como 1 (mais tarde explicar <minOccurs> e <maxOccurs>).
Indicador de escolha
<Choice> indicador prevê um sub-elemento ocorrer ou pode ocorrer outro elemento filho (ou outro):
<xs:element name="person">
<xs:complexType>
<xs:choice>
<xs:element name="employee" type="employee"/>
<xs:element name="member" type="member"/>
</xs:choice>
</xs:complexType>
</xs:element>
Indicador de sequência
<Sequence> elemento filho deve ser especificado em uma ordem específica:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
indicador de ocorrência
indicadores de ocorrência são usados para definir a frequência de um elemento de ocorrer.
Nota: Para todos os e indicador de "Ordem" "Grupo" (qualquer, todos, escolha, sequência , o nome do grupo e referência de grupo), que maxOccurs e minOccurs padrão 1.
indicador maxOccurs
Indicador <MaxOccurs> pode especificar o número máximo de vezes que um elemento pode ocorrer:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string" maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Os exemplos acima mostram que a criança elemento "child_name" pode aparecer no elemento menos "pessoa" uma vez (em que o valor padrão de minOccurs é 1), aparece no máximo 10 vezes.
indicador minOccurs
<MinOccurs> indicador pode exigir um número mínimo de vezes que um elemento pode ocorrer:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
maxOccurs="10" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Os exemplos acima mostram que a criança elemento "child_name" pode haver um mínimo de 0 no elemento de "pessoa", aparece um máximo de 10 vezes.
Dica: Para fazer com que o número de ocorrências de um elemento não é limitado, por favor use o maxOccurs = "unbounded" esta declaração:
Um exemplo prático:
Chamado de "Myfamily.xml" arquivo XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="family.xsd">
<person>
<full_name>Hege Refsnes</full_name>
<child_name>Cecilie</child_name>
</person>
<person>
<full_name>Tove Refsnes</full_name>
<child_name>Hege</child_name>
<child_name>Stale</child_name>
<child_name>Jim</child_name>
<child_name>Borge</child_name>
</person>
<person>
<full_name>Stale Refsnes</full_name>
</person>
</persons>
Acima deste arquivo XML contém um elemento raiz chamado "pessoas" de. Dentro deste elemento raiz, definimos três elementos "pessoa". Cada elemento "pessoa" deve conter um elementos "FULL_NAME", mas pode conter até 5 elementos "child_name".
Este é o arquivo de esquema "family.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="persons">
<xs:complexType>
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
minOccurs="0" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
indicador de grupo
Indicador de grupo para vários lotes de elementos relacionados com a definição.
elemento Grupo
grupo elemento definido pelo grupo declarou:
<xs:group name="groupname">
pt.
</xs:group>
É necessário definir uma declaração dentro do grupo de tudo, escolha ou elementos de sequência. O exemplo a seguir define um grupo denominado "persongroup", que define um conjunto de elementos que devem estar presentes de acordo com uma ordem exacta:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>
Depois de ter definido o grupo estiver completo, você pode se referir a ele em outra definição de:
<xs:group name="persongroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
</xs:sequence>
</xs:group>
<xs:element name="person" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:group ref="persongroup"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
grupo de propriedades
grupos definidos pela declaração attributeGroup Atributo:
<xs:attributeGroup name="groupname">
pt.
</xs:attributeGroup>
O exemplo a seguir define um grupo propriedade denominada "personattrgroup" de:
<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
Depois de definir um conjunto completo de atributos, você pode fazer referência a ela em outra definição, assim:
<xs:attributeGroup name="personattrgroup">
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
<xs:element name="person">
<xs:complexType>
<xs:attributeGroup ref="personattrgroup"/>
</xs:complexType>
</xs:element>