<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.matsim.org/files/dtd"
					 xmlns="http://www.matsim.org/files/dtd"
					 elementFormDefault="qualified"
					 xmlns:xs="http://www.w3.org/2001/XMLSchema"
					 xml:lang="en">

<!-- Editor: Dominik Grether, VSP, Berlin Institute of Technology -->
<!-- Network format of MATSim -->

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

<xs:element name="networkChangeEvents">
	<xs:annotation>
	<xs:documentation>Just a wrapper for the NetworkChangeEvents</xs:documentation>
	</xs:annotation>
	<xs:complexType>
		<xs:sequence>
			<xs:element name="networkChangeEvent" type="networkChangeEventType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

<xs:complexType name="networkChangeEventType">
  <xs:sequence>
    <xs:element name="link" type="idRefType" minOccurs="1" maxOccurs="unbounded"/>
    <xs:element name="flowCapacity" type="changeType" minOccurs="0" maxOccurs="1"/>
		<xs:element name="freespeed" type="changeType" minOccurs="0" maxOccurs="1"/>
		<xs:element name="lanes" type="changeType" minOccurs="0" maxOccurs="1"/>
  </xs:sequence>
  <xs:attribute name="startTime" type="xs:time" use="required"/>
</xs:complexType>

<xs:complexType name="changeType">
	<xs:attribute name="type">
		<xs:simpleType>
	  	<xs:restriction base="xs:string">
		    <xs:enumeration value="absolute" />
			  <xs:enumeration value="scaleFactor" />
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
	<xs:attribute name="value">
		<xs:simpleType>
		  <xs:restriction base="xs:decimal">
			  <xs:minInclusive value="0.0"/>
	    </xs:restriction>
		</xs:simpleType>
	</xs:attribute>
</xs:complexType>

</xs:schema>

