HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
XSD Komplex schreibt Indicators |
Wir können steuern, WIE Elemente in den Dokumenten mit Indicators verwendet werden sollen.
|
Indicators
|
Es gibt sieben Indicators, wie folgt:
Order indicators:
Occurrence indicators:
Group indicators:
- Group name
- attributeGroup name
|
Order Indicators
|
Order indicators werden benutzt, um den Auftrag des Elements zu definieren.
|
All Indicator
|
The <all> Indicator spezifizieren, daß die Kindelemente in jedem möglichem Auftrag erscheinen können und daß jedes Kindelement nur einmal auftreten muß:
|
<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>
|
|
Anmerkung: Wenn Sie die <all> Anzeige du kann die <minOccurs> Anzeige bis 0 oder 1 einstellen verwenden und die <maxOccurs> Anzeige kann bis 1 nur nur eingestellt werden (das <minOccurs> und das <maxOccurs> werden später beschrieben
|
Choice Indicator
|
Die <choice> Anzeige spezifizieren, daß entweder ein Kindelement oder -andere auftreten können:
|
<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>
|
|
Sequence Indicator
|
Die <sequence> Anzeige spezifizieren, daß die Kindelemente in einem spezifischen Auftrag erscheinen müssen:
|
<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>
|
|
Occurrence Indicators
|
Occurrence indicator are used to define how often an
element can occur. Note: For all "Order" and "Group"
indicators (any, all, sequence, choice, group name, and group
reference) the default value for maxOccurs and minOccurs is 1.
|
maxOccurs Indicator
|
The <maxOccurs> indicator specify the maximum number of times an element can occur:
|
<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>
|
|
The example above indicate that the "child_name" element can occur a minimum of one
time (the default value for minOccurs is 1) and a maximum of ten times in the "person" element.
|
minOccurs Indicator
|
The <minOccurs> indicator specify the minimum number of times an element can occur:
|
<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>
|
|
Das Beispiel oben zeigen an, daß das „child_name“ Element auftreten kann ein Minimum nullzeiten und ein Maximum von 10mal im „Person“ Element.
Spitze: Um ein Element erscheinen zu lassen verwenden eine unbegrenzte Anzahl von Zeiten, die maxOccurs= " unbegrenzte " Aussage wie gegeben im folgenden Beispiel:
|
Ein Arbeitsbeispiel:
|
Eine XML Akte genannt „Myfamily.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>
|
|
The XML file above contain a root element named "persons".
Inside this root element we have defined three "person"
element. Each "person" element must contains "full_name"
element and it can contain up to five "child_name" elements.
Here is the schema file called "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>
|
|
Group Indicators
|
Group indicators are used to define related set of elements.
|
Element Groups
|
Elementgruppen werden mit der Gruppe Erklärung definiert, wie folgt:
|
<xs:group name="groupname">
...
</xs:group>
|
|
Du mußt alle, eine Wahl oder Reihenfolge Elemente innerhalb der Gruppe Erklärung definieren. Das folgende Beispiel definiert eine Gruppe, die „persongroup“ genannt wird, das definiert eine Gruppe Elemente, die in einer genauen Reihenfolge auftreten müssen:
|
<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>
|
|
Nachdem du eine Gruppe definiert hast, kannst du sie in einer anderen Definition beziehen, wie folgt:
|
<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>
|
|
Attribute Groups
|
Attributgruppen werden mit der attributeGroup Erklärung definiert, wie folgt:
|
<xs:attributeGroup name="groupname">
...
</xs:attributeGroup>
|
|
Das folgende Beispiel definieren eine Attributgruppe, die „personattrgroup“ genannt wird:
|
<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>
|
|
Nachdem du eine Attributgruppe definiert hast, kannst du sie in einer anderen Definition beziehen, wie folgt:
|
<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>
|
|
|
|
Keywords:
XSD complex types indicators,visual studio xsd,xsd tutorial,xsd attributes,cdata xsd,xsd xml,xsd namespace,xsd examples,xsd example,sample xsd,xsd attribute,xsd elements,xsd schema,xsd reference
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|