<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    xmlns:vehicle="http://classic-trader.com/api-schema/vehicle/car"
    xmlns:carAd="http://classic-trader.com/api-schema/vehicleAd/carAd"
    xmlns:contact="http://classic-trader.com/api-schema/contact"
    xmlns:location="http://classic-trader.com/api-schema/location"
    xmlns:image="http://classic-trader.com/api-schema/image"
    xmlns:asset="http://classic-trader.com/api-schema/asset"
    xmlns:file="http://classic-trader.com/api-schema/file"
    xmlns:extra="http://classic-trader.com/api-schema/extra"
    xmlns:translated="http://classic-trader.com/api-schema/translated"
    targetNamespace="http://classic-trader.com/api-schema/vehicleAd/carAd"
    elementFormDefault="qualified"
    version="1.0.1">

    <xs:import namespace="http://classic-trader.com/api-schema/vehicle/car" schemaLocation="../vehicle/car-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/contact" schemaLocation="../contact-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/location" schemaLocation="../location-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/image" schemaLocation="../image-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/asset" schemaLocation="../asset-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/file" schemaLocation="../file-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/extra" schemaLocation="../extra-1.0.xsd"/>
    <xs:import namespace="http://classic-trader.com/api-schema/translated" schemaLocation="../translated-1.0.xsd"/>

    <!-- carAd -->
    <xs:element name="carAd">
        <xs:complexType>
            <xs:sequence>
                <!-- custom data -->
                <xs:element ref="carAd:uid" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:importId" minOccurs="1" maxOccurs="1"/>

                <!-- step 0 -->
                <xs:element ref="vehicle:car" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:yearOfProduction" minOccurs="1" maxOccurs="1"/>

                <!-- step 1 -->
                <xs:element ref="carAd:titleShort" minOccurs="0" maxOccurs="2"/>
                <xs:element ref="carAd:horsepower" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:cubicCapacity" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:manufacturerCode" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:steering" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:cylinder" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:gearbox" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:gears" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:gearType" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:frontBrakes" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:rearBrakes" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:doors" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:fuel" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:firstRegistrationDate" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:numberOfPreviousOwner" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:chassisNumber" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:engineNumber" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:gearboxNumber" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:matchingNumbers" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:replica" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:colorOutside" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:colorInside" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:manufacturerColorNameOutside" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:manufacturerColorNameInside" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:interiorMaterial" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:sunroof" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:electricWindows" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:foldingRoof" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:centralLocking" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:airbag" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:heatedSeats" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:abs" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:airconditioning" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:powerSteering" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:cruiseControl" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:price" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:priceCurrency" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:priceOnRequest" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="location:location" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:mileageUnit" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:mileageByUnit" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:vatReclaimable" minOccurs="0" maxOccurs="1"/>

                <!-- step 2 -->
                <xs:element name="standardImages" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="image:image" minOccurs="0" maxOccurs="50"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="damageImages" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="image:image" minOccurs="0" maxOccurs="50"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="restorationImages" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="image:image" minOccurs="0" maxOccurs="50"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element ref="carAd:embeddedVideoCode" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:description" minOccurs="1" maxOccurs="1"/>

                <!-- step 3 -->
                <xs:element ref="carAd:stateCategory" minOccurs="0" maxOccurs="1"/>
                <xs:element name="extras" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="extra:extra" minOccurs="0" maxOccurs="50"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <!-- step 4 -->
                <xs:element ref="carAd:report" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:starsEngine" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:starsTechnik" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:starsPaint" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:starsInterior" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:licensed" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:readyToRide" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:milleMiglia" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:mainInspection" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:oldtimerLicensePlate" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:fiva" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:fia" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:accidentFree" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="carAd:mainInspectionUntil" minOccurs="0" maxOccurs="1"/>
                <xs:element name="files" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="file:file" minOccurs="0" maxOccurs="10"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <!-- Step 5 -->
                <xs:element ref="contact:contact" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:status" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:locale" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="carAd:hasChanges" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="uid" type="xs:string"/>
    <xs:element name="importId" type="xs:string"/>
    <xs:element name="cubicCapacity">
        <xs:simpleType>
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="10000"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="horsepower">
        <xs:simpleType>
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
                <xs:maxInclusive value="1000"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="manufacturerCode" type='xs:string'/>
    <xs:element name="chassisNumber" type='xs:string'/>
    <xs:element name="gears">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="ONE"/>
                <xs:enumeration value="TWO"/>
                <xs:enumeration value="THREE"/>
                <xs:enumeration value="FOUR"/>
                <xs:enumeration value="FIVE"/>
                <xs:enumeration value="SIX"/>
                <xs:enumeration value="SEVEN"/>
                <xs:enumeration value="EIGHT"/>
                <xs:enumeration value="NINE"/>
                <xs:enumeration value="TEN"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="gearType">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="FRONT"/>
                <xs:enumeration value="BACK"/>
                <xs:enumeration value="ALL_WHEEL"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="rearBrakes">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="DISC"/>
                <xs:enumeration value="DRUM"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="frontBrakes">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="DISC"/>
                <xs:enumeration value="DRUM"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="cylinder">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="ONE"/>
                <xs:enumeration value="TWO"/>
                <xs:enumeration value="THREE"/>
                <xs:enumeration value="FOUR"/>
                <xs:enumeration value="FIVE"/>
                <xs:enumeration value="SIX"/>
                <xs:enumeration value="SEVEN"/>
                <xs:enumeration value="EIGHT"/>
                <xs:enumeration value="NINE"/>
                <xs:enumeration value="TEN"/>
                <xs:enumeration value="ELEVEN"/>
                <xs:enumeration value="TWELVE"/>
                <xs:enumeration value="SIXTEEN"/>
                <xs:enumeration value="TWENTYFOUR"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="doors">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="NONE"/>
                <xs:enumeration value="ONE"/>
                <xs:enumeration value="TWO"/>
                <xs:enumeration value="THREE"/>
                <xs:enumeration value="FOUR"/>
                <xs:enumeration value="FIVE"/>
                <xs:enumeration value="SIX"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="firstRegistrationDate">
        <xs:simpleType>
            <xs:restriction base="xs:token">
                <xs:pattern value="(18|19|20)\d{2}-\d{2}"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="numberOfPreviousOwner">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="ONE"/>
                <xs:enumeration value="TWO"/>
                <xs:enumeration value="THREE"/>
                <xs:enumeration value="FOUR"/>
                <xs:enumeration value="FIVE"/>
                <xs:enumeration value="SIX"/>
                <xs:enumeration value="GREATERSIX"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="matchingNumbers" type='xs:boolean'/>
    <xs:element name="replica" type='xs:boolean'/>
    <xs:element name="report" type='xs:boolean'/>
    <xs:element name="colorInside">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="BEIGE"/>
                <xs:enumeration value="BLUE"/>
                <xs:enumeration value="BROWN"/>
                <xs:enumeration value="YELLOW"/>
                <xs:enumeration value="GREY"/>
                <xs:enumeration value="GREEN"/>
                <xs:enumeration value="PURPLE"/>
                <xs:enumeration value="ORANGE"/>
                <xs:enumeration value="RED"/>
                <xs:enumeration value="BLACK"/>
                <xs:enumeration value="WHITE"/>
                <xs:enumeration value="GOLD"/>
                <xs:enumeration value="SILVER"/>
                <xs:enumeration value="OTHERS"/>
                <xs:enumeration value="NOT_SPECIFIED"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="colorOutside">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="BEIGE"/>
                <xs:enumeration value="BLUE"/>
                <xs:enumeration value="BROWN"/>
                <xs:enumeration value="YELLOW"/>
                <xs:enumeration value="GREY"/>
                <xs:enumeration value="GREEN"/>
                <xs:enumeration value="PURPLE"/>
                <xs:enumeration value="ORANGE"/>
                <xs:enumeration value="RED"/>
                <xs:enumeration value="BLACK"/>
                <xs:enumeration value="WHITE"/>
                <xs:enumeration value="GOLD"/>
                <xs:enumeration value="SILVER"/>
                <xs:enumeration value="OTHERS"/>
                <xs:enumeration value="NOT_SPECIFIED"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="interiorMaterial">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="CLOTH"/>
                <xs:enumeration value="LEATHER"/>
                <xs:enumeration value="PARTIAL_LEATHER"/>
                <xs:enumeration value="LEATHERETTE"/>
                <xs:enumeration value="ALCANTARA"/>
                <xs:enumeration value="VELVET"/>
                <xs:enumeration value="OTHERS"/>
                <xs:enumeration value="NOT_SPECIFIED"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="sunroof" type='xs:boolean'/>
    <xs:element name="airconditioning" type='xs:boolean'/>
    <xs:element name="abs" type='xs:boolean'/>
    <xs:element name="centralLocking" type='xs:boolean'/>
    <xs:element name="cruiseControl" type='xs:boolean'/>
    <xs:element name="electricWindows" type='xs:boolean'/>
    <xs:element name="heatedSeats" type='xs:boolean'/>
    <xs:element name="airbag" type='xs:boolean'/>
    <xs:element name="powerSteering" type='xs:boolean'/>
    <xs:element name="gearbox">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="STICKSHIFT"/>
                <xs:enumeration value="SEMIAUTOMATIC"/>
                <xs:enumeration value="AUTOMATIC"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="steering">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="CENTER"/>
                <xs:enumeration value="LEFT"/>
                <xs:enumeration value="RIGHT"/>
                <xs:enumeration value="NOT_SPECIFIED"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="fuel">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="GASOLINE"/>
                <xs:enumeration value="DIESEL"/>
                <xs:enumeration value="GAS"/>
                <xs:enumeration value="ELECTRO"/>
                <xs:enumeration value="NOT_SPECIFIED"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="starsEngine" type='xs:integer'/>
    <xs:element name="starsTechnik" type='xs:integer'/>
    <xs:element name="starsPaint" type='xs:integer'/>
    <xs:element name="starsInterior" type='xs:integer'/>
    <xs:element name="stateCategory">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="ORIGINAL"/>
                <xs:enumeration value="AUTHENTIC"/>
                <xs:enumeration value="RESTORED"/>
                <xs:enumeration value="PARTIALLY_RESTORED"/>
                <xs:enumeration value="REBUILT"/>
                <xs:enumeration value="OBJECT"/>
                <xs:enumeration value="DONATOR"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="reportProvider" type='xs:string'/>
    <xs:element name="reportMark" type='xs:string'/>
    <xs:element name="engineNumber" type='xs:string'/>
    <xs:element name="gearboxNumber" type='xs:string'/>
    <xs:element name="foldingRoof" type='xs:boolean'/>
    <xs:element name="lockedManufacturerCode" type='xs:boolean'/>
    <xs:element name="licensed" type='xs:boolean'/>
    <xs:element name="readyToRide" type='xs:boolean'/>
    <xs:element name="milleMiglia" type='xs:boolean'/>
    <xs:element name="mainInspection" type='xs:boolean'/>
    <xs:element name="oldtimerLicensePlate" type='xs:boolean'/>
    <xs:element name="fiva" type='xs:boolean'/>
    <xs:element name="fia" type='xs:boolean'/>
    <xs:element name="accidentFree" type='xs:boolean'/>
    <xs:element name="mainInspectionUntil">
        <xs:simpleType>
            <xs:restriction base="xs:token">
                <xs:pattern value="(18|19|20)\d{2}-\d{2}"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>

    <xs:element name="titleShort" type="translated:locales"/>
    <xs:element name="manufacturerColorNameInside" type='translated:locales'/>
    <xs:element name="manufacturerColorNameOutside" type='translated:locales'/>
    <xs:element name="description" type='translated:locales'/>
    <xs:element name="status">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="DELETED"/>
                <xs:enumeration value="SOLD"/>
                <xs:enumeration value="PAUSED"/>
                <xs:enumeration value="PUBLISHED"/>
                <xs:enumeration value="DRAFT"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="price">
        <xs:simpleType>
            <xs:restriction base="xs:integer">
                <xs:minInclusive value="1"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="priceCurrency">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="eur"/>
                <xs:enumeration value="usd"/>
                <xs:enumeration value="jpy"/>
                <xs:enumeration value="bgn"/>
                <xs:enumeration value="czk"/>
                <xs:enumeration value="dkk"/>
                <xs:enumeration value="gbp"/>
                <xs:enumeration value="huf"/>
                <xs:enumeration value="ltl"/>
                <xs:enumeration value="pln"/>
                <xs:enumeration value="ron"/>
                <xs:enumeration value="sek"/>
                <xs:enumeration value="chf"/>
                <xs:enumeration value="nok"/>
                <xs:enumeration value="hrk"/>
                <xs:enumeration value="rub"/>
                <xs:enumeration value="try"/>
                <xs:enumeration value="aud"/>
                <xs:enumeration value="brl"/>
                <xs:enumeration value="cad"/>
                <xs:enumeration value="cny"/>
                <xs:enumeration value="hkd"/>
                <xs:enumeration value="idr"/>
                <xs:enumeration value="ils"/>
                <xs:enumeration value="inr"/>
                <xs:enumeration value="krw"/>
                <xs:enumeration value="mxn"/>
                <xs:enumeration value="myr"/>
                <xs:enumeration value="nzd"/>
                <xs:enumeration value="php"/>
                <xs:enumeration value="sgd"/>
                <xs:enumeration value="thb"/>
                <xs:enumeration value="zar"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="priceOnRequest" type='xs:boolean'/>
    <xs:element name="mileageUnit">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="KILOMETRES"/>
                <xs:enumeration value="MILES"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="mileageByUnit" type='xs:integer'/>
    <xs:element name="vatReclaimable" type='xs:boolean'/>
    <xs:element name="yearOfProduction">
        <xs:simpleType>
            <xs:restriction base="xs:token">
                <xs:pattern value="(18|19|20)\d{2}"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="embeddedVideoCode">
        <xs:simpleType>
            <xs:restriction base="xs:token">
                <xs:pattern value="(http://.*|https://.*)"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="locale">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="de_DE"/>
                <xs:enumeration value="en_GB"/>
                <xs:enumeration value="en_US"/>
                <xs:enumeration value="it_IT"/>
                <xs:enumeration value="fr_FR"/>
                <xs:enumeration value="es_ES"/>
                <xs:enumeration value="nl_NL"/>
                <xs:enumeration value="de_CH"/>
                <xs:enumeration value="en_AU"/>
                <xs:enumeration value="de_AT"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="hasChanges" type='xs:boolean'/>

    <!--  abstract vehicle fields -->
    <xs:element name="starter">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="90"/>
                <xs:minLength value="1"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="engineType">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="90"/>
                <xs:minLength value="1"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="gearShiftType">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="90"/>
                <xs:minLength value="1"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="chassisFront">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="90"/>
                <xs:minLength value="1"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="chassisRear">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="90"/>
                <xs:minLength value="1"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="standardImages">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="image:image" minOccurs="0" maxOccurs="50"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="damageImages">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="image:image" minOccurs="0" maxOccurs="50"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="restorationImages">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="image:image" minOccurs="0" maxOccurs="50"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="extras">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="extra:extra" minOccurs="0" maxOccurs="50"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="files">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="file:file" minOccurs="0" maxOccurs="10"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
