<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="autohaus">

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="nummer" type="xsd:int"/>
        <xsd:element name="zentrale" type="zentraleType"/>
        <xsd:element name="autos" type="autosType" minOccurs="1"  maxOccurs="unbounded" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="zentraleType">
    <xsd:sequence>
      <xsd:element name="title" type="xsd:string"/>
      <xsd:element name="adresse" type="adressenType" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="autosType">
    <xsd:sequence>
        <xsd:element name="auto" type="autoType" minOccurs="1"  maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="adressenType">
    <xsd:sequence>
      <xsd:element name="strasse" type="xsd:string" />
      <xsd:element name="hausnr" type="xsd:string" />
      <xsd:element name="ort" type="xsd:string" />
      <xsd:element name="plz" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:simpleType name="hausnrType">
    <xsd:restriction base='xsd:string'>
      <xsd:minLength value='1'/>
      <xsd:pattern value="[1-9]{1,}[a-k]?"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:complexType name="autoType">
    <xsd:sequence>
      <xsd:element name="bez" type="xsd:string"  />
      <xsd:element name="kfz" type="kfzType"  />
      <xsd:element name="farbe" type="farbeType"  />      
    </xsd:sequence>
    <xsd:attribute name="nr" type="xsd:unsignedInt" />
  </xsd:complexType>

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

  <xsd:simpleType name="farbeType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="rot"/>
      <xsd:enumeration value="blau"/>
      <xsd:enumeration value="silber"/>
    </xsd:restriction>
  </xsd:simpleType>

</xsd:schema>



