<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.matsim.org/files/dtd"
xmlns="http://www.matsim.org/files/dtd" elementFormDefault="qualified"
xml:lang="en">
<!-- Editor: Dominik Grether, VSP, Berlin Institute of Technology -->
<!-- This xml schema contains xml definitions for household information in the MATSim framework  -->

<!--<xs:include schemaLocation="http://www.matsim.org/files/dtd/matsimCommon.xsd"/>-->
<xs:include schemaLocation="http://www.matsim.org/files/dtd/vehicleDefinitions_v1.0.xsd"/>

<xs:element name="household" type="householdType"/>

<xs:element name="households">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="household" minOccurs="0" maxOccurs="unbounded"></xs:element>
    </xs:sequence>  
  </xs:complexType>
</xs:element>

<xs:complexType name="householdIdType">
  <xs:complexContent>
    <xs:extension base="idRefType"/>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="householdType">
  <xs:annotation>
    <xs:documentation>This type contains all information to describe a MATSim household.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="matsimObjectType">
    <xs:sequence>
      <xs:element name="members" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="personId" type="idRefType" minOccurs="1" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="vehicles" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="vehicleDefinitionId" minOccurs="1" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
			<xs:element name="income" type="incomeType" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>


<xs:complexType name="incomeType">
  <xs:simpleContent>
	  <xs:extension base="xs:decimal">
      <xs:attribute name="currency" type="xs:string" use="optional" />
      <xs:attribute name="period" type="incomePeriodType" use="required" />
		</xs:extension>
  </xs:simpleContent>
</xs:complexType>

<xs:simpleType name="incomePeriodType">
	<xs:restriction base="xs:string">
	  <xs:enumeration value="year" />
	  <xs:enumeration value="month" />
    <xs:enumeration value="week" />
	  <xs:enumeration value="day" />
	  <xs:enumeration value="hour" />
	  <xs:enumeration value="second" />
	</xs:restriction>
</xs:simpleType>
</xs:schema>
