<?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 -->
<!-- Description of the lanes to be used in
the simulation -->

<xs:include schemaLocation="matsimCommon.xsd"/>

<xs:element name="laneDefinitions">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="lanesToLinkAssignment" type="lanesToLinkAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<xs:complexType name="lanesToLinkAssignmentType">
  <xs:sequence>
    <xs:element name="lane" type="laneType" minOccurs="1" maxOccurs="unbounded"></xs:element>
  </xs:sequence>
  <xs:attribute name="linkIdRef" type="matsimIdType"></xs:attribute>
</xs:complexType>

<xs:complexType name="laneType">
  <xs:complexContent>
    <xs:extension base="matsimObjectType">
      <xs:sequence>
        <xs:element name="leadsTo">
          <xs:complexType>
            <xs:choice>
              <xs:element name="toLink" type="idRefType" minOccurs="1" maxOccurs="unbounded"></xs:element>
              <xs:element name="toLane" type="idRefType" minOccurs="1" maxOccurs="unbounded"></xs:element>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name="representedLanes" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="number" type="xs:double" use="optional" default="1">
              <xs:annotation>
                <xs:appinfo>
                  </xs:appinfo>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="capacity" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="vehiclesPerHour" type="xs:double" use="optional" default="3600">
              <xs:annotation>
                <xs:appinfo>
                  </xs:appinfo>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="startsAt" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="meterFromLinkEnd" type="xs:double" use="optional" default="45.0"></xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="alignment" type="xs:int"></xs:element>
        <xs:element name="attributes" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="attribute" type="attributeType" minOccurs="0" maxOccurs="unbounded"></xs:element>
            </xs:sequence> 
          </xs:complexType>
        </xs:element>
      </xs:sequence>    
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

</xs:schema>