<?xml version="1.0" encoding="UTF-8"?> <xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:include schemaLocation="types/base.xsd" /> <xsd:element name="connections" type="connectionsType"/> <xsd:complexType name="connectionsType"> <xsd:sequence> <xsd:element name="location" type="locationType" minOccurs="0" maxOccurs="1"/> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="connection" type="connectionType"/> <xsd:element name="prohibition" type="prohibitionType"/> <xsd:element name="delete" type="deleteType"/> <xsd:element name="crossing" type="crossingType"/> <xsd:element name="walkingArea" type="walkingAreaType"/> </xsd:choice> </xsd:sequence> <xsd:attribute name="version" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d+.\d+"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="connectionType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="conflict" type="conflictType" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="from" type="xsd:string" use="required"/> <xsd:attribute name="to" type="xsd:string" use="optional"/> <xsd:attribute name="fromLane" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="toLane" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="pass" type="boolType" use="optional"/> <xsd:attribute name="uncontrolled" type="boolType" use="optional"/> <xsd:attribute name="keepClear" type="boolType" use="optional"/> <xsd:attribute name="contPos" type="floatType" use="optional"/> <xsd:attribute name="visibility" type="floatType" use="optional"/> <xsd:attribute name="allow" type="xsd:string" use="optional"/> <xsd:attribute name="disallow" type="xsd:string" use="optional"/> <xsd:attribute name="speed" type="floatType" use="optional"/> <xsd:attribute name="length" type="floatType" use="optional"/> <xsd:attribute name="shape" type="shapeType" use="optional"/> <xsd:attribute name="changeRight" type="xsd:string" use="optional"/> <xsd:attribute name="changeLeft" type="xsd:string" use="optional"/> <xsd:attribute name="indirect" type="boolType" use="optional"/> <xsd:attribute name="type" type="xsd:string" use="optional"/> </xsd:complexType> <xsd:complexType name="prohibitionType"> <xsd:attribute name="prohibitor" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value=".+->.+"></xsd:pattern> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="prohibited" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value=".+->.+"></xsd:pattern> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="deleteType"> <xsd:attribute name="from" type="xsd:string" use="required"/> <xsd:attribute name="to" type="xsd:string" use="optional"/> <xsd:attribute name="fromLane" type="xsd:nonNegativeInteger" use="optional"/> <xsd:attribute name="toLane" type="xsd:nonNegativeInteger" use="optional"/> </xsd:complexType> <xsd:complexType name="crossingType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="node" type="xsd:string" use="required"/> <xsd:attribute name="edges" type="xsd:string" use="optional"/> <xsd:attribute name="priority" type="xsd:int" use="optional"/> <xsd:attribute name="width" type="positiveFloatType" use="optional"/> <xsd:attribute name="discard" type="boolType" use="optional"/> <xsd:attribute name="shape" type="shapeType" use="optional"/> <xsd:attribute name="outlineShape" type="shapeType" use="optional"/> <xsd:attribute name="linkIndex" type="xsd:integer" use="optional"/> <xsd:attribute name="linkIndex2" type="xsd:integer" use="optional"/> </xsd:complexType> <xsd:complexType name="walkingAreaType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="node" type="xsd:string" use="required"/> <xsd:attribute name="edges" type="xsd:string" use="optional"/> <xsd:attribute name="shape" type="shapeType" use="optional"/> <xsd:attribute name="width" type="positiveFloatType" use="optional"/> </xsd:complexType> </xsd:schema>