AUTOVERMIETUNG.XSD
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="autohaus">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="fuhrparks" type="fuhrparksType"  />
        <xsd:element name="kunden" type="kundenType"  />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType  name="fuhrparksType">
    <xsd:sequence>
      <xsd:element name="fuhrpark" type="fuhrparkType" maxOccurs="400" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType  name="fuhrparkType">
    <xsd:sequence>
      <xsd:choice maxOccurs="100" >
        <xsd:element name="pkw" type="pkwType" maxOccurs="5"/>
        <xsd:element name="bus" type="busType" maxOccurs="5"/>
        <xsd:element name="lkw" type="lkwType" maxOccurs="5"/>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <!--  ist die Basisklasse fuer PKW,LKW,BUS -->

    <xsd:complexType  name="fahrzeugType">
      <xsd:sequence>
        <xsd:element name="marke" type="xsd:string"/>
        <xsd:element name="kw" type="kwType"/>
        <xsd:element name="typ" type="xsd:string"/>
        <xsd:element name="kennzeichen" type="kennzeichenType" />
        <xsd:element name="preis" type="preisType" />
      </xsd:sequence>
    </xsd:complexType>

    <xsd:simpleType name="kennzeichenType">
      <xsd:restriction base="xsd:string">
        <xsd:pattern value="[A-Z]{1,3} [A-Z]{1,2} [1-9][0-9]{0,3}"/>
      </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="preisType">
      <xsd:restriction base="xsd:decimal">
        <xsd:totalDigits value="10"/>
        <xsd:fractionDigits value="2"/>
      </xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="pkwType">
      <xsd:complexContent>
        <xsd:extension base="fahrzeugType">
          <xsd:sequence>
            <xsd:element name="anzsitze" type="xsd:unsignedInt"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="lkwType">
      <xsd:complexContent>
        <xsd:extension base="fahrzeugType">
          <xsd:sequence>
            <xsd:element name="ladevolumen" type="ladevolumenType"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="busType">
      <xsd:complexContent>
        <xsd:extension base="fahrzeugType">
          <xsd:sequence>
            <xsd:element name="anzsitze" type="xsd:unsignedInt"/>
            <xsd:element name="anztv" type="xsd:unsignedInt"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

    <xsd:simpleType name="kwType">
      <xsd:restriction base="xsd:integer">
        <xsd:minInclusive value="50"/>
        <xsd:maxInclusive value="500"/>
      </xsd:restriction>
    </xsd:simpleType>


    <!--  Das Ladevolumen hat eine Begrenzung von >0 und <=7,5 -->
    <!--  Das Ladevolumen hat eine Begrenzung mit einer Dezimalstelle -->
        <xsd:simpleType name="ladevolumenType">
          <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="2"/>
            <xsd:fractionDigits value="1"/>
            <xsd:minExclusive value="0"/>
            <xsd:maxInclusive value="7.5"/>
          </xsd:restriction>
        </xsd:simpleType>

        <xsd:complexType name="kundenType">
          <xsd:sequence>
            <xsd:element name="kunde" type="kundeType" maxOccurs="5" />
          </xsd:sequence>
        </xsd:complexType>

        <xsd:complexType name="kundeType">
          <xsd:sequence>
            <xsd:element name="vorname" type="vornnameType" />
            <xsd:element name="nachname" type="nachnameType" />
            <xsd:element name="kundennr" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>

        <xsd:simpleType name="vornnameType">
          <xsd:restriction base="xsd:string">
            <xsd:pattern value="[A-Z]{1}[a-züäöß]{1,39}( [A-Z]{1}[a-züäöß]{1,39}){0,3}"/>
          </xsd:restriction>
        </xsd:simpleType>

        <xsd:simpleType name="nachnameType">
          <xsd:restriction base="xsd:string">
            <xsd:pattern value="[A-Z]{1}[a-züäöß]{1,29}( [A-Z]{1}[a-züäöß]{1,29}){0,3}"/>
          </xsd:restriction>
        </xsd:simpleType>

      </xsd:schema>


Autovermietung.xml