XML-Schema / XML-Schema: Verschiedene Designs / XML-Schema: Globale complexTypes, simpleTypes, xs:group
![]() |
![]() |
➪ Ein XML-Schema im Design globaler complexTypes, simpleTypes und xs:groups könnte so aussehen:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="Menschen" type="MenschenTYP">
<xs:annotation>
<xs:documentation>
Das ist das Root-Element
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="MenschenTYP">
<xs:sequence>
<xs:element name="Mensch" type="MenschTYP" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MenschTYP">
<xs:sequence>
<xs:element name="Name" type="stringmax20"/>
<xs:element name="Vorname" type="stringmax20"/>
<xs:element name="Alter" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="stringmax20">
<xs:annotation>
<xs:documentation>
erstes Zeichen A-Z, max 19 weitere Zeichen a-z
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][a-z]{1,19}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="Menschen" type="MenschenTYP">
<xs:annotation>
<xs:documentation>
Das ist das Root-Element
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:group name="Menschen_GRP">
<xs:sequence>
<xs:element name="Mensch"
type="MenschTYP"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:group name="Mensch_GRP">
<xs:sequence>
<xs:element name="Name" type="stringmax20"/>
<xs:element name="Vorname" type="stringmax20"/>
<xs:element name="Alter" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:group>
<xs:complexType name="MenschenTYP">
<xs:group ref="Menschen_GRP"/>
</xs:complexType>
<xs:complexType name="MenschTYP">
<xs:group ref="Mensch_GRP"/>
</xs:complexType>
<xs:simpleType name="stringmax20">
<xs:annotation>
<xs:documentation>
erstes Zeichen A-Z, max 19 weitere Zeichen a-z
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][a-z]{1,19}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
wg / 1. November 2020
Fragen? Anmerkungen? Tipps?
Bitte nehmen Sie Kontakt zu mir auf.
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de