Home
Über mich
Veröffentlichungen

XML XML-Schema XPath XSL-T XSL-FO XQuery XProc SVG

XML-Schema / XML-Schema: Verschiedene Designs / XML-Schema: Globale complexTypes, simpleTypes, xs:group

XML-Schema: Globale complexTypes, simpleTypes, xs:group

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>

XML-Schema: Verwendung von xs:group


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






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/xsd_Beispiele2.html