Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/data/xsd/netstate_file.xsd
169668 views
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xsd:include schemaLocation="types/base.xsd"/>

    <xsd:element name="netstate">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="timestep"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="timestep">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="edge"/>
            </xsd:sequence>
            <xsd:attribute name="time" use="required" type="nonNegativeFloatType"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="edge">
        <xsd:complexType>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="lane"/>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="vehicle"/>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="person"/>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="container"/>
            </xsd:choice>
            <xsd:attribute name="id" use="required" type="xsd:string"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="lane">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="vehicle"/>
            </xsd:sequence>
            <xsd:attribute name="id" use="required" type="xsd:string"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="vehicle">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="person"/>
                <xsd:element minOccurs="0" maxOccurs="unbounded" ref="container"/>
            </xsd:sequence>
            <xsd:attribute name="id" use="required" type="xsd:string"/>
            <xsd:attribute name="pos" use="required" type="nonNegativeFloatType"/>
            <xsd:attribute name="speed" use="required" type="nonNegativeFloatType"/>
            <xsd:attribute name="posLat" use="optional" type="floatType"/>
            <xsd:attribute name="speedLat" use="optional" type="floatType"/>
            <xsd:attribute name="personNumber" use="optional" type="xsd:nonNegativeInteger"/>
            <xsd:attribute name="containerNumber" use="optional" type="xsd:nonNegativeInteger"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="person">
        <xsd:complexType>
            <xsd:attribute name="id" use="required" type="xsd:string"/>
            <xsd:attribute name="pos" use="required" type="nonNegativeFloatType"/>
            <xsd:attribute name="angle" use="required" type="floatType"/>
            <xsd:attribute name="stage" use="required" type="xsd:string"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="container">
        <xsd:complexType>
            <xsd:attribute name="id" use="required" type="xsd:string"/>
            <xsd:attribute name="pos" use="required" type="nonNegativeFloatType"/>
            <xsd:attribute name="angle" use="required" type="floatType"/>
            <xsd:attribute name="stage" use="required" type="xsd:string"/>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>