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