XML-Validierung: Wozu? / xs:element name

xs:element name

xs:element name

xs:element name definiert den Namen eines XML-Elements. Der interne Aufbau, eventuelle Datentypen, Attribute und Childnodes können an verschiedenen Stellen präzisiert werden.

Es gibt verschiedene Design-Alternativen für XML-Schema. Die einfachste dürfte das der "russischen Puppe" sein:


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

Dieses XML-Schema definiert beispielsweise die Struktur für das folgende XML-Dokument.


<?xml version="1.0" encoding="UTF-8"?>
<Persons 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:noNamespaceSchemaLocation="Persons.xsd">
  <Person>
    <Lastname>Xy</Lastname>
    <Firstname>Xy</Firstname>
    <Age>20</Age>
  </Person>
</Persons>

wg / 24. September 2018



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/XSD3_1.html