<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:include schemaLocation="baseTypes.xsd" />

    <xsd:complexType name="vTypeType">
        <xsd:sequence>
            <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:sequence minOccurs="0">
                <xsd:choice>
                    <xsd:element name="carFollowing-IDM" type="cfIDMType"/>
                    <xsd:element name="carFollowing-IDMM" type="cfIDMMType"/>
                    <xsd:element name="carFollowing-Krauss" type="cfKraussType"/>
                    <xsd:element name="carFollowing-KraussPS" type="cfKraussType"/>
                    <xsd:element name="carFollowing-KraussOrig1" type="cfKraussType"/>
                    <xsd:element name="carFollowing-SmartSK" type="cfSmartType"/>
                    <xsd:element name="carFollowing-Daniel1" type="cfSmartType"/>
                    <xsd:element name="carFollowing-PWagner2009" type="cfPWagType"/>
                    <xsd:element name="carFollowing-BKerner" type="cfBKernerType"/>
                    <xsd:element name="carFollowing-Wiedemann" type="cfWiedemannType"/>
                </xsd:choice>
                <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="length" type="positiveFloatType"/>
        <xsd:attribute name="minGap" type="nonNegativeFloatType"/>
        <xsd:attribute name="maxSpeed" type="positiveFloatType"/>
        <xsd:attribute name="probability" type="nonNegativeFloatType"/>
        <xsd:attribute name="speedFactor" type="positiveFloatType"/>
        <xsd:attribute name="speedDev" type="nonNegativeFloatType"/>
        <xsd:attribute name="vClass" type="xsd:string"/>
        <xsd:attribute name="emissionClass" type="xsd:string"/>
        <xsd:attribute name="guiShape" type="xsd:string"/>
        <xsd:attribute name="width" type="positiveFloatType"/>
        <xsd:attribute name="height" type="positiveFloatType"/>
        <xsd:attribute name="color" type="colorType"/>
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="personCapacity" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="containerCapacity" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="boardingDuration" type="nonNegativeFloatType"/>
        <xsd:attribute name="loadingDuration" type="nonNegativeFloatType"/>
        <xsd:attribute name="lcStrategic" type="xsd:float"/>
        <xsd:attribute name="lcCooperative" type="xsd:float"/>
        <xsd:attribute name="lcSpeedGain" type="xsd:float"/>
        <xsd:attribute name="lcKeepRight" type="xsd:float"/>
        <xsd:attribute name="lcSublane" type="xsd:float"/>
        <xsd:attribute name="lcPushy" type="xsd:float"/>
        <xsd:attribute name="lcAssertive" type="xsd:float"/>
        <xsd:attribute name="maxSpeedLat" type="positiveFloatType"/>
        <xsd:attribute name="latAlignment">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="right"/>
                    <xsd:enumeration value="center"/>
                    <xsd:enumeration value="arbitrary"/>
                    <xsd:enumeration value="nice"/>
                    <xsd:enumeration value="compact"/>
                    <xsd:enumeration value="left"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:attribute>
        <xsd:attribute name="minGapLat" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="impatience">
            <xsd:simpleType>
                <xsd:union memberTypes="xsd:float">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="off"/>
                        </xsd:restriction>
                    </xsd:simpleType> 
                </xsd:union>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="delta" type="xsd:float"/>
        <xsd:attribute name="stepping" type="positiveIntType"/>
        <xsd:attribute name="adaptTime" type="xsd:float"/>
        <xsd:attribute name="adaptFactor" type="xsd:float"/>
        <xsd:attribute name="tmp1" type="xsd:float"/>
        <xsd:attribute name="tmp2" type="xsd:float"/>
        <xsd:attribute name="tmp3" type="xsd:float"/>
        <xsd:attribute name="tmp4" type="xsd:float"/>
        <xsd:attribute name="tmp5" type="xsd:float"/>
        <xsd:attribute name="tauLast" type="xsd:float"/>
        <xsd:attribute name="apProb" type="xsd:float"/>
        <xsd:attribute name="k" type="xsd:float"/>
        <xsd:attribute name="phi" type="xsd:float"/>
        <xsd:attribute name="security" type="xsd:float"/>
        <xsd:attribute name="estimation" type="xsd:float"/>
        <xsd:attribute name="carFollowModel" type="xsd:string"/>
        <xsd:attribute name="laneChangeModel">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="DK2008"/>
                    <xsd:enumeration value="LC2013"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:attribute>
        <xsd:attribute name="imgFile" type="xsd:string"/>
        <xsd:attribute name="osgFile" type="xsd:string"/>
    </xsd:complexType>

    <xsd:complexType name="cfIDMType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="delta" type="xsd:float"/>
        <xsd:attribute name="stepping" type="positiveIntType"/>
    </xsd:complexType>

    <xsd:complexType name="cfIDMMType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="adaptTime" type="xsd:float"/>
        <xsd:attribute name="adaptFactor" type="xsd:float"/>
        <xsd:attribute name="stepping" type="positiveIntType"/>
    </xsd:complexType>

    <xsd:complexType name="cfKraussType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
    </xsd:complexType>

    <xsd:complexType name="cfSmartType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="tmp1" type="xsd:float"/>
        <xsd:attribute name="tmp2" type="xsd:float"/>
        <xsd:attribute name="tmp3" type="xsd:float"/>
        <xsd:attribute name="tmp4" type="xsd:float"/>
        <xsd:attribute name="tmp5" type="xsd:float"/>
    </xsd:complexType>

    <xsd:complexType name="cfPWagType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="tauLast" type="xsd:float"/>
        <xsd:attribute name="apProb" type="xsd:float"/>
    </xsd:complexType>

    <xsd:complexType name="cfBKernerType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="k" type="xsd:float"/>
        <xsd:attribute name="phi" type="xsd:float"/>
    </xsd:complexType>

    <xsd:complexType name="cfWiedemannType">
        <xsd:attribute name="accel" type="positiveFloatType"/>
        <xsd:attribute name="decel" type="positiveFloatType"/>
        <xsd:attribute name="sigma">
            <xsd:simpleType>
                <xsd:restriction base="xsd:float">
                    <xsd:maxInclusive value="1"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="tau" type="positiveFloatType"/>
        <xsd:attribute name="security" type="xsd:float"/>
        <xsd:attribute name="estimation" type="xsd:float"/>
    </xsd:complexType>

    <xsd:complexType name="vehicleType">
        <xsd:sequence>
            <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:sequence minOccurs="0">
                <xsd:choice>
                    <xsd:element name="route" type="vehicleRouteType"/>
                    <xsd:element name="routeDistribution" type="vehicleRouteDistributionType"/>
                </xsd:choice>
                <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:sequence minOccurs="0">
                <xsd:element name="stop" type="stopType" maxOccurs="unbounded"/>
                <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="route" type="xsd:string"/>
        <xsd:attribute name="fromTaz" type="xsd:string"/>
        <xsd:attribute name="toTaz" type="xsd:string"/>
        <xsd:attribute name="type" type="xsd:string"/>
        <xsd:attribute name="depart" type="departType" use="required"/>
        <xsd:attribute name="color" type="colorType"/>
        <xsd:attribute name="departLane" type="departLaneType"/>
        <xsd:attribute name="departPos" type="departPosType"/>
        <xsd:attribute name="departSpeed" type="departSpeedType"/>
        <xsd:attribute name="arrivalLane" type="arrivalLaneType"/>
        <xsd:attribute name="arrivalPos" type="arrivalPosType"/>
        <xsd:attribute name="arrivalSpeed" type="arrivalSpeedType"/>
        <xsd:attribute name="departPosLat" type="departPosLatType"/>
        <xsd:attribute name="arrivalPosLat" type="arrivalPosLatType"/>
        <xsd:attribute name="arrival" type="nonNegativeFloatType"/>
        <xsd:attribute name="routeLength" type="nonNegativeFloatType"/>
        <xsd:attribute name="line" type="xsd:string"/>
        <xsd:attribute name="personNumber" type="xsd:nonNegativeInteger"/>
    </xsd:complexType>

    <xsd:complexType name="flowWithoutIDType">
        <xsd:sequence>
            <xsd:choice minOccurs="0">
                <xsd:element name="route" type="vehicleRouteType"/>
                <xsd:element name="routeDistribution" type="vehicleRouteDistributionType"/>
            </xsd:choice>
            <xsd:element name="stop" type="stopType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="route" type="xsd:string"/>
        <xsd:attribute name="fromTaz" type="xsd:string"/>
        <xsd:attribute name="toTaz" type="xsd:string"/>
        <xsd:attribute name="from" type="xsd:string"/>
        <xsd:attribute name="to" type="xsd:string"/>
        <xsd:attribute name="type" type="xsd:string"/>
        <xsd:attribute name="begin" type="nonNegativeFloatType"/>
        <xsd:attribute name="end" type="nonNegativeFloatType"/>
        <xsd:attribute name="period" type="positiveFloatType"/>
        <xsd:attribute name="vehsPerHour" type="nonNegativeFloatType"/>
        <xsd:attribute name="probability" type="nonNegativeFloatType"/>
        <xsd:attribute name="number" type="xsd:int"/>
        <xsd:attribute name="color" type="colorType"/>
        <xsd:attribute name="departLane" type="departLaneType"/>
        <xsd:attribute name="departPos" type="departPosType"/>
        <xsd:attribute name="departSpeed" type="departSpeedType"/>
        <xsd:attribute name="arrivalLane" type="arrivalLaneType"/>
        <xsd:attribute name="arrivalPos" type="arrivalPosType"/>
        <xsd:attribute name="arrivalSpeed" type="arrivalSpeedType"/>
        <xsd:attribute name="departPosLat" type="departPosLatType"/>
        <xsd:attribute name="arrivalPosLat" type="arrivalPosLatType"/>
        <xsd:attribute name="line" type="xsd:string"/>
        <xsd:attribute name="personNumber" type="xsd:nonNegativeInteger"/>
    </xsd:complexType>

    <xsd:complexType name="flowCalibratorType">
        <xsd:complexContent>
            <xsd:extension base="flowWithoutIDType">
                <xsd:attribute name="speed" type="nonNegativeFloatType"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="flowType">
        <xsd:complexContent>
            <xsd:extension base="flowWithoutIDType">
                <xsd:attribute name="id" type="xsd:string" use="required"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="tripType">
        <xsd:sequence>
            <xsd:element name="stop" type="stopType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="fromTaz" type="xsd:string"/>
        <xsd:attribute name="toTaz" type="xsd:string"/>
        <xsd:attribute name="from" type="xsd:string"/>
        <xsd:attribute name="to" type="xsd:string"/>
        <xsd:attribute name="via" type="xsd:string"/>
        <xsd:attribute name="type" type="xsd:string"/>
        <xsd:attribute name="depart" type="departType" use="required"/>
        <xsd:attribute name="color" type="colorType"/>
        <xsd:attribute name="departLane" type="departLaneType"/>
        <xsd:attribute name="departPos" type="departPosType"/>
        <xsd:attribute name="departSpeed" type="departSpeedType"/>
        <xsd:attribute name="arrivalLane" type="arrivalLaneType"/>
        <xsd:attribute name="arrivalPos" type="arrivalPosType"/>
        <xsd:attribute name="arrivalSpeed" type="arrivalSpeedType"/>
        <xsd:attribute name="departPosLat" type="departPosLatType"/>
        <xsd:attribute name="arrivalPosLat" type="arrivalPosLatType"/>
    </xsd:complexType>

    <xsd:complexType name="routeType">
        <xsd:complexContent>
            <xsd:extension base="vehicleRouteType">
                <xsd:attribute name="id" type="xsd:string" use="required"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:simpleType name="departType">
        <xsd:union memberTypes="nonNegativeFloatType">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="triggered"/>
                    <xsd:enumeration value="containerTriggered"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="departLaneType">
        <xsd:union memberTypes="xsd:nonNegativeInteger">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="random"/>
                    <xsd:enumeration value="free"/>
                    <xsd:enumeration value="allowed"/>
                    <xsd:enumeration value="best"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="departPosType">
        <xsd:union memberTypes="xsd:float">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="random"/>
                    <xsd:enumeration value="random_free"/>
                    <xsd:enumeration value="free"/>
                    <xsd:enumeration value="base"/>
                    <xsd:enumeration value="last"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="departSpeedType">
        <xsd:union memberTypes="nonNegativeFloatType">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="random"/>
                    <xsd:enumeration value="max"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="arrivalLaneType">
        <xsd:union memberTypes="xsd:nonNegativeInteger">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="current"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="arrivalPosType">
        <xsd:union memberTypes="xsd:float">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="random"/>
                    <xsd:enumeration value="max"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="departPosLatType">
        <xsd:union memberTypes="xsd:float">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="random"/>
                    <xsd:enumeration value="free"/>
                    <xsd:enumeration value="random_free"/>
                    <xsd:enumeration value="right"/>
                    <xsd:enumeration value="center"/>
                    <xsd:enumeration value="left"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="arrivalPosLatType">
        <xsd:union memberTypes="xsd:float">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="right"/>
                    <xsd:enumeration value="center"/>
                    <xsd:enumeration value="left"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:simpleType name="arrivalSpeedType">
        <xsd:union memberTypes="nonNegativeFloatType">
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="current"/>
                </xsd:restriction>
            </xsd:simpleType> 
        </xsd:union>
    </xsd:simpleType>

    <xsd:complexType name="vehicleRouteType">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="stop" type="stopType"/>
            <xsd:element name="param" type="paramType"/>
        </xsd:choice>
        <xsd:attribute name="edges" type="xsd:string" use="required"/>
        <xsd:attribute name="color" type="colorType"/>
        <xsd:attribute name="exitTimes" type="xsd:string"/>
    </xsd:complexType>

    <xsd:complexType name="routeDistRouteType">
        <xsd:sequence>
            <xsd:element name="stop" type="stopType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="edges" type="xsd:string"/>
        <xsd:attribute name="color" type="colorType"/>
        <xsd:attribute name="cost" type="xsd:float"/>
        <xsd:attribute name="probability" type="xsd:float"/>
        <xsd:attribute name="exitTimes" type="xsd:string"/>
        <xsd:attribute name="refId" type="xsd:string"/>
        <xsd:attribute name="replacedOnEdge" type="xsd:string"/>
        <xsd:attribute name="replacedAtTime" type="nonNegativeFloatType"/>
    </xsd:complexType>

    <xsd:complexType name="stopType">
        <xsd:attribute name="lane" type="xsd:string"/>
        <xsd:attribute name="busStop" type="xsd:string"/>
        <xsd:attribute name="containerStop" type="xsd:string"/>
        <xsd:attribute name="startPos" type="xsd:float"/>
        <xsd:attribute name="endPos" type="xsd:float"/>
        <xsd:attribute name="friendlyPos" type="boolType"/>
        <xsd:attribute name="duration" type="nonNegativeFloatType"/>
        <xsd:attribute name="until" type="nonNegativeFloatType"/>
        <xsd:attribute name="index" type="xsd:string"/>
        <xsd:attribute name="parking" type="boolType"/>
        <xsd:attribute name="triggered" type="boolType"/>
        <xsd:attribute name="containerTriggered" type="boolType"/>
        <xsd:attribute name="expected" type="xsd:string"/>
        <xsd:attribute name="actType" type="xsd:string"/>
    </xsd:complexType>

    <xsd:complexType name="vTypeDistributionType">
        <xsd:sequence>
            <xsd:element name="vType" type="vTypeType" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
    </xsd:complexType>

    <xsd:complexType name="routeDistributionType">
        <xsd:sequence minOccurs="0">
            <xsd:element name="route" type="routeDistRouteType" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="last" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="routes" type="xsd:string" use="optional"/>
        <xsd:attribute name="probabilities" type="xsd:string" use="optional"/>
    </xsd:complexType>

    <xsd:complexType name="vehicleRouteDistributionType">
        <xsd:sequence>
            <xsd:element name="route" type="routeDistRouteType" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:string" use="optional"/>
        <xsd:attribute name="last" type="xsd:nonNegativeInteger"/>
    </xsd:complexType>

    <xsd:complexType name="personType">
        <xsd:choice maxOccurs="unbounded">
            <xsd:element name="personTrip">
                <xsd:complexType>
                    <xsd:attribute name="from" type="xsd:string"/>
                    <xsd:attribute name="to" type="xsd:string" use="required"/>
                    <xsd:attribute name="modes" type="xsd:string"/>
                    <xsd:attribute name="vTypes" type="xsd:string"/>
                    <xsd:attribute name="departPos" type="departPosType"/>
                    <xsd:attribute name="arrivalPos" type="arrivalPosType"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="ride">
                <xsd:complexType>
                    <xsd:attribute name="from" type="xsd:string"/>
                    <xsd:attribute name="to" type="xsd:string"/>
                    <xsd:attribute name="busStop" type="xsd:string"/>
                    <xsd:attribute name="lines" type="xsd:string" use="required"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="walk">
                <xsd:complexType>
                    <xsd:attribute name="edges" type="xsd:string"/>
                    <xsd:attribute name="from" type="xsd:string"/>
                    <xsd:attribute name="to" type="xsd:string"/>
                    <xsd:attribute name="busStop" type="xsd:string"/>
                    <xsd:attribute name="speed" type="positiveFloatType"/>
                    <xsd:attribute name="duration" type="positiveFloatType"/>
                    <xsd:attribute name="departPos" type="departPosType"/>
                    <xsd:attribute name="arrivalPos" type="arrivalPosType"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="stop" type="stopType"/>
            <xsd:element name="param" type="paramType"/>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="depart" type="xsd:float" use="required"/>
        <xsd:attribute name="arrival" type="nonNegativeFloatType"/>
        <xsd:attribute name="type" type="xsd:string"/>
        <xsd:attribute name="departPos" type="departPosType"/>
        <xsd:attribute name="arrivalPos" type="arrivalPosType"/>
        <xsd:attribute name="modes" type="xsd:string"/>
        <xsd:attribute name="vTypes" type="xsd:string"/>
    </xsd:complexType>

    <xsd:complexType name="containerType">
        <xsd:choice maxOccurs="unbounded">
            <xsd:element name="transport">
                <xsd:complexType>
                    <xsd:attribute name="from" type="xsd:string"/>
                    <xsd:attribute name="to" type="xsd:string" use="required"/>
                    <xsd:attribute name="lines" type="xsd:string" use="required"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="tranship">
                <xsd:complexType>
                    <xsd:attribute name="edges" type="xsd:string"/>
                    <xsd:attribute name="from" type="xsd:string"/>
                    <xsd:attribute name="to" type="xsd:string"/>
                    <xsd:attribute name="speed" type="positiveFloatType"/>
                    <xsd:attribute name="duration" type="positiveFloatType"/>
                    <xsd:attribute name="departPos" type="xsd:float"/>
                    <xsd:attribute name="arrivalPos" type="xsd:float"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="stop" type="stopType"/>
            <xsd:element name="param" type="paramType"/>
        </xsd:choice>
        <xsd:attribute name="id" type="xsd:string" use="required"/>
        <xsd:attribute name="depart" type="xsd:float" use="required"/>
        <xsd:attribute name="arrival" type="nonNegativeFloatType"/>
        <xsd:attribute name="type" type="xsd:string"/>
        <xsd:attribute name="departPos" type="departPosType"/>
    </xsd:complexType>

</xsd:schema>
