Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


Alternatives Schema-Design ElementRefs

Wieder ein anderes XML Schema-Design besteht darin, Elemente auf globaler Ebene zu definieren und über Referenzierungen in die Komplexen Typen einzubinden. Das erleichtert Teilvalidierungen, wie sie in XSLT 2.0 über xsl:import-schema häufig sinnvoll sind. Problematisch ist dabei jedoch, daß das Root-Element nicht immer klar definiert ist und jemand, der die Gesamtstruktur der Daten nicht kennt, oft Zeit braucht, sich Klarheit zu verschaffen.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:simpleType name="stringmax20">
    <xs:restriction base="xs:string">
      <xs:maxLength value="20"/>
      <xs:pattern value="[A-Z][a-z]{1,19}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="Person">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Name"/>
        <xs:element ref="Vorname" 
                    maxOccurs="unbounded"/>
        <xs:element ref="Alter" 
                    minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Name" 
              type="stringmax20"/>
  <xs:element name="Vorname" 
              type="stringmax20"/>
  <xs:element name="Alter" 
              type="xs:nonNegativeInteger"/>
  <xs:element name="Persons">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Person" 
              maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

qrpic/XSD3_4.jpg

wg / 30. September 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


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

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