<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Vehicles" type="TYPE_Vehicles" />

<xs:complexType name="TYPE_Vehicles">
    <xs:sequence>
		<xs:element name="Vehicle" minOccurs="0" maxOccurs="unbounded">
			<xs:complexType>				<!--parameter letters given as per Reg(EU) 2018/956-->
		    	<xs:sequence>		    	<!--see guidance for detail on dates from which each parameter is mandatory -->
		        	<xs:element type="xs:integer" name="ID"/>
		        	<xs:element type="xs:string" name="VIN"/>        					<!--parameter a-->
		        	<xs:element type="xs:string" name="Mh"/>							<!--parameter b-->
					<xs:element type="xs:string" name="Mh_msv" minOccurs="0"/>     		<!--parameter b-->
		        	<xs:element type="xs:string" name="Mk"/>							<!--parameter c-->
		        	<xs:element type="xs:string" name="Bw"/>				<!--parameter d-->
		        	<xs:element type="TYPE_YesNo" name="Electric"/>						<!--parameter e-->
		        	<xs:element type="TYPE_YesNo" name="Hybrid"/>						<!--parameter e-->
		        	<xs:element type="xs:string" name="ClassOfHybrid" minOccurs="0"/>					<!--parameter e-->
		        	<xs:element type="xs:string" name="FT" minOccurs="0"/>							<!--parameter e-->
		        	<xs:element type="xs:integer" name="MaximumSpeed" minOccurs="0"/>					<!--parameter f-->
					<xs:element type="xs:string" name="StageOfCompletionCode" minOccurs="0"/>			<!--parameter g-->
					<xs:element type="xs:string" name="VehicleCategoryCode"/>						<!--parameter h-->
					<xs:element type="xs:integer" name="NumberOfAxles" minOccurs="0"/>				<!--parameter i-->
					<xs:element type="xs:integer" name="TechnPermMaxLadenMass"/>					<!--parameter j-->
					<xs:element type="xs:string" name="CryptHashManufacturerRecord" minOccurs="0"/>	<!--parameter k-->
					<xs:element type="xs:double" name="SpecificCO2Emissions" minOccurs="0"/>		<!--parameter l, unit: gCO2/tkm-->
					<xs:element type="xs:double" name="AveragePayload" minOccurs="0"/>				<!--parameter m-->
					<xs:element type="xs:date" name="RegistrationDate"/>			<!--parameter n, syntax: YYYY-MM-DD -->
					<xs:element type="xs:string" name="CodeForBodyworkSpecPurpVeh" minOccurs="0"/>
		        </xs:sequence>   
		     </xs:complexType>
		</xs:element>
	</xs:sequence>
	<xs:attribute name="Y" type="xs:integer" use="required" /> <!--Year should be the year the monitoring started, e.g. for 2019-2020 period, this should be 2019-->
	<xs:attribute name="MS" type="xs:string" use="required" /> <!--Please use 2-letter country code-->
</xs:complexType>

<xs:simpleType name = "TYPE_YesNo"> <!--this is a custom type for Electric and Hybrid parameters; lists possible values for these parameters-->
	<xs:restriction base = "xs:string">
		<xs:enumeration value = "Yes"/>
		<xs:enumeration value = "No"/>
		<xs:enumeration value = "true"/>
		<xs:enumeration value = "false"/>
	</xs:restriction>
</xs:simpleType>

</xs:schema>

