<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://www.xmlmode.nl/interdata/dat" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.xmlmode.nl/interdata/dat" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:include schemaLocation="SharedVehicleDataTypes.xsd"/>
  <xs:include schemaLocation="DatDataTypesV2.xsd"/>

  <!-- *** Rubriek: DatVoertuig *** -->
  <!-- Schema definitie voor rubriek 'datVoertuig', versie 1 -->
  <xs:complexType name="datVoertuigTypeV1">
	<xs:sequence>
	  <xs:element name="voertuig" type="voertuig" maxOccurs="unbounded"/>
	</xs:sequence>
  </xs:complexType>

  <xs:complexType name="voertuig">
	<xs:sequence>
	  <xs:element ref="voertuigtype"/>
	  <xs:element ref="merk"/>
	  <xs:element ref="model"/>
	  <xs:element ref="submodel"/>
	  <xs:element ref="bouwtijd"/>
	  <xs:element ref="bouwdatum"/>
	  <xs:element ref="datecode"/>
	  <xs:element name="ecodeuitrustingen" type="ecodeuitrustingen"/>
	  <xs:element name="uitrustingen" type="uitrustingen"/>
	  <xs:element name="kbanummers" type="kbanummers"/>
	  <xs:element name="kleuren" type="kleuren"/>
	</xs:sequence>
  </xs:complexType>

  <xs:element name="model" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Naam van het model</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="merk" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Naam van het merk</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="submodel" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Naam van het submodel</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="voertuigtype" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Soort voertuig</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="bouwtijd" type="xs:integer" nillable="true">
	<xs:annotation>
	  <xs:documentation>Bouwtijd</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="bouwdatum" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Datum verkregen bouwtijd (ook bekend als constructionTime) te converteren naar een datum d.m.v. van DAT functie constructionTime2Date.</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="datecode" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>DAT €uropa-Code</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:complexType name ="ecodeuitrustingen">
	<xs:annotation>
	  <xs:documentation>VOEG DOCUMENTATIE TOE</xs:documentation>
	</xs:annotation>
	<xs:sequence>
	  <xs:element name="ecodeuitrusting" type="ecodeuitrusting" minOccurs="0" maxOccurs="unbounded"/>
	</xs:sequence>
  </xs:complexType>

  <xs:complexType name ="ecodeuitrusting">
	<xs:annotation>
	  <xs:documentation>VOEG DOCUMENTATIE TOE</xs:documentation>
	</xs:annotation>
	<xs:sequence>
	  <xs:element ref="ecodeuitrustingid"/>
	  <xs:element ref="ecodeomschrijving"/>
	</xs:sequence>
  </xs:complexType>

  <xs:element name="ecodeuitrustingid" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>VOEG DOCUMENTATIE TOE</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="ecodeomschrijving" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>VOEG DOCUMENTATIE TOE</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:complexType name ="uitrustingen">
	<xs:annotation>
	  <xs:documentation>Uitrustingen van het voertuig</xs:documentation>
	</xs:annotation>
	<xs:sequence>
	  <xs:element name="uitrusting" type="uitrusting" minOccurs="0" maxOccurs="unbounded"/>
	</xs:sequence>
  </xs:complexType>

  <xs:complexType name ="uitrusting">
	<xs:annotation>
	  <xs:documentation>Uitrusting van het voertuig</xs:documentation>
	</xs:annotation>
	<xs:sequence>
	  <xs:element ref="uitrusting-naam"/>
	  <xs:element ref="dvn"/>
	  <xs:element ref="standaardofoptioneel"/>
	  <xs:element ref="fabrikantcode"/>
	  <xs:element ref="prijs"/>
	</xs:sequence>
  </xs:complexType>

  <xs:element name="uitrusting-naam" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Naam van de uitrusting</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="dvn" type="xs:int" nillable="true">
	<xs:annotation>
	  <xs:documentation>Nummer van de uitrusting</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="standaardofoptioneel" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Is dit een standaard uitrusting? Mogelijke waarden: 'standaard' of 'optioneel'.</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="fabrikantcode" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Fabrikantcode</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="prijs" type="xs:int" nillable="true" default="0">
	<xs:annotation>
	  <xs:documentation>Prijs van de uitrusting</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:complexType name="kbanummers">
	<xs:sequence minOccurs="0" maxOccurs="unbounded">
	  <xs:element name="kbanummer" type="xs:string" />
	</xs:sequence>
  </xs:complexType>

  <xs:complexType name="kleuren">
	<xs:annotation>
	  <xs:documentation>Kleuren van het voertuig</xs:documentation>
	</xs:annotation>
	<xs:sequence>
	  <xs:element name="kleur" type="kleur" minOccurs="0" maxOccurs="unbounded"/>
	</xs:sequence>
  </xs:complexType>

  <xs:complexType name="kleur">
	<xs:annotation>
	  <xs:documentation>Kleur van het voertuig</xs:documentation>
	</xs:annotation>
	<xs:sequence>
	  <xs:element ref="code"/>
	  <xs:element ref="kleurid"/>
	  <xs:element ref="beschrijving"/>
	</xs:sequence>
  </xs:complexType>

  <xs:element name="code" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Kleurcode</xs:documentation>
	</xs:annotation>
  </xs:element>

  <xs:element name="kleurid" type="xs:string" nillable="true"/>

  <xs:element name="beschrijving" type="xs:string" nillable="true">
	<xs:annotation>
	  <xs:documentation>Beschrijving van de kleur</xs:documentation>
	</xs:annotation>
  </xs:element>

</xs:schema>
