Latest web development tutorials

Wskaźnik XML Schema

Wskaźnikiem może kontrolować stosowanie elementów w trybie dokumentu.


wskaźnik

Istnieje siedem wskaźników:

Wskaźniki zamówienie:

  • wszystko
  • wybór
  • sekwencja

Wskaźnik Występowanie:

  • maxOccurs
  • minOccurs

Wskaźnik Grupa:

  • Nazwa grupy
  • Nazwa attributeGroup

wskaźnik Zamówienie

Zamówienie wskaźniki służą do określenia kolejności elementów.

wszystko wskaźnik

<Wszystkie> wskaźnik zgodnie z postanowieniami podelementów może pojawić się w dowolnej kolejności, a każdy element dziecko musi pojawić się tylko raz:

<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>

Uwaga: W przypadku korzystania z <wszystkie> wskaźnik, można umieścić <minOccurs> jest ustawiona na 0 lub 1, ale tylko wskaźnik <maxOccurs> jest ustawiona na 1 (później wyjaśnić <minOccurs> i <maxOccurs>).

dobór wskaźnika

<Choice> Wskaźnik przewiduje podelementu występują lub mogą wystąpić inny element podrzędny (lub drugi):

<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>

Wskaźnik kolejności

<Sekwencja> Element dziecko musi być określone w określonej kolejności:

<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>


wskaźnik występowanie

Wskaźniki występowania są używane do określania częstotliwości element występuje.

Uwaga: Dla wszystkich "Rozporządzenie" i wskaźnik "Group" (w ogóle, wszystko, wybór, sekwencja , nazwa grupy , a grupa odniesienia), które maxOccurs i minOccurs domyślne to 1.

wskaźnik maxOccurs

Wskaźnik <MaxOccurs> może określić maksymalną liczbę razy, może wystąpić element:

<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>

Powyższe przykłady pokazują, że element "child_name" dziecko może pojawić się w najmniej "osoba" elementu raz (gdy wartość domyślna minOccurs wynosi 1), pojawia się co najwyżej 10 razy.

wskaźnik minOccurs

<MinOccurs> wskaźnik może wymagać minimalną ilość razy mogą wystąpić element:

<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>

Powyższe przykłady pokazują, że element "child_name" dziecko może wynosić co najmniej 0 w "osoba" element wydaje co najwyżej 10 razy.

Wskazówka: Aby dokonać liczbę wystąpień elementu nie jest ograniczona, skorzystaj z maxOccurs = "nieograniczony", to stwierdzenie:

Praktyczny przykład:

Nazywany "Myfamily.xml" plik 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>

Powyżej tego pliku XML zawiera element główny o nazwie "osoby" z. Wewnątrz tego elementu głównego, zdefiniowaliśmy "osoba" elementu trzy. Każdy "osoba" Element musi zawierać "FULL_NAME" elementów, ale może zawierać do 5 "CHILD_NAME" elementu.

Jest to plik schematu "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>


wskaźnik Grupa

Wskaźnik grupy kilku porcjach elementy związane z tą definicją.

Element Grupa

Element grupy zdefiniowane przez grupę oświadczył:

<xs:group name="groupname">
...
</xs:group>

Należy zdefiniować oświadczenie w grupie wszystkich, wyboru lub elementy sekwencji. Poniższy przykład definiuje grupę o nazwie "persongroup", który definiuje zestaw elementów, które muszą być obecne w zależności od dokładnej kolejności:

<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>

Po zdefiniowaniu grupy jest zakończona, można zwrócić się do niego w innej definicji:

<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>

grupa nieruchomości

grupy zdefiniowane przez oświadczenie attributeGroup Atrybut:

<xs:attributeGroup name="groupname">
...
</xs:attributeGroup>

Poniższy przykład definiuje grupę właściwość o nazwie "personattrgroup" stanowi:

<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>

Po zdefiniowaniu kompletny zestaw atrybutów, można odwoływać się do niej w innej definicji, tak jak poniżej:

<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>