XML-Schema-Indikator
Durch den Indikator, können wir die Verwendung der Elemente in der Dokumentmodus steuern.
Anzeige
Es gibt sieben Indikatoren:
Bestellen Indikatoren:
- alle
- Wahl
- Sequenz
Vorkommen Anzeige:
- maxOccurs
- minOccurs
Gruppenanzeige:
- Gruppenname
- attribute Name
Bestellen Anzeige
Um Indikatoren werden verwendet, um die Reihenfolge der Elemente zu definieren.
Alle Anzeige
<Alle> Anzeige in Übereinstimmung mit den Bestimmungen der Unterelemente können in beliebiger Reihenfolge erscheinen, und jedes Kind-Element muss nur einmal vorkommen:
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
Hinweis: Bei der Verwendung des <alle> Indikator, können Sie put <minOccurs> auf 0 oder 1, sondern nur die <maxOccurs> Indikator auf 1 gesetzt ist (später erklären <minOccurs> und <maxOccurs>).
Wahl-Indikator
<Auswahl> Anzeige sieht ein Unterelement auftreten oder ein anderes Kind Element auftreten können (oder andere):
<xs:complexType>
<xs:choice>
<xs:element name="employee" type="employee"/>
<xs:element name="member" type="member"/>
</xs:choice>
</xs:complexType>
</xs:element>
Feldrichtungsanzeiger
<Sequence> Element muss in einer bestimmten Reihenfolge angegeben werden:
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Vorkommen Anzeige
Auftreten Indikatoren werden verwendet, treten die Frequenz eines Elements zu definieren.
Hinweis: Für alle die "Order" und "Gruppe" Indikator (alle, alle, Wahl, Sequenz , Gruppenname und Gruppenreferenz), die maxOccurs und minOccurs defaults 1 sind.
maxOccurs Anzeige
<MaxOccurs> Anzeige können die maximale Anzahl festlegen, wie oft ein Element auftreten können:
<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>
Die obigen Beispiele zeigen, dass das Kind-Element "child_name" einmal im Geringsten "Person" Element erscheinen kann (wobei der Standardwert minOccurs 1), erscheint höchstens 10-mal.
minOccurs Anzeige
<MinOccurs> Indikator kann eine minimale Anzahl von Zeiten erfordern ein Element auftreten:
<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>
Die obigen Beispiele zeigen, dass das Kind-Element "child_name" kann es ein Minimum von 0 in "Person" Element sein, erscheint höchstens 10-mal.
Tipp: Um die Anzahl der Vorkommen eines Elements machen nicht begrenzt ist, nutzen Sie bitte das maxOccurs = "unbounded" diese Aussage:
Ein praktisches Beispiel:
Genannt "Myfamily.xml" XML-Datei:
<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>
Oberhalb dieser XML-Datei enthält ein Root-Element mit dem Namen "Personen" von. Innerhalb dieses Wurzelelement haben wir drei "Personen" Element definiert. Jeder "Person" Element muss ein "full_name" Elemente enthalten, aber es kann bis zu 5 "child_name" Element enthalten.
Dies ist die Schemadatei "family.xsd":
<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>
Gruppenanzeige
Gruppenindikator für mehrere Chargen von Elementen zur Definition zusammen.
Elementgruppe
Elementgruppe von der Gruppe definiert erklärt:
...
</xs:group>
Sie müssen eine Anweisung innerhalb der Gruppe definieren alle, die Auswahl oder Sequenzelemente. Das folgende Beispiel definiert eine Gruppe mit dem Namen "persongroup", die eine Reihe von Elementen definiert, die nach einem genauen vorhanden sein müssen:
<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>
Nachdem Sie die Gruppe abgeschlossen haben, definiert sind, können Sie sie in einer anderen Definition verweisen:
<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>
Immobilien Gruppe
Attributgruppen definiert durch attribute Aussage:
...
</xs:attributeGroup>
Das folgende Beispiel definiert eine Eigenschaft Gruppe mit dem Namen "personattrgroup" aus:
<xs:attribute name="firstname" type="xs:string"/>
<xs:attribute name="lastname" type="xs:string"/>
<xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
Nachdem Sie einen vollständigen Satz von Attributen definiert haben, können Sie es in einer anderen Definition verweisen, etwa so:
<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>