|
| 1 | +<?xml version="1.0" encoding="utf-8" standalone="no"?> |
| 2 | +<!--ASAM OpenDRIVE V1.8.0 |
| 3 | +
|
| 4 | +© by ASAM e.V., 2024 |
| 5 | +
|
| 6 | +ASAM OpenDRIVE defines a file format for the precise analytical description of road networks |
| 7 | +
|
| 8 | +
|
| 9 | +Any use is limited to the scope described in the ASAM license terms. |
| 10 | +This file is distributable in accordance with the ASAM license terms. |
| 11 | +See www.asam.net/license.html for further details. |
| 12 | +--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
| 13 | + <xs:include schemaLocation="OpenDRIVE_Junction.xsd"/> |
| 14 | + <xs:include schemaLocation="OpenDRIVE_Core.xsd"/> |
| 15 | + <xs:simpleType name="e_road_railroad_switch_position"> |
| 16 | + <xs:restriction base="xs:string"> |
| 17 | + <xs:enumeration value="dynamic"/> |
| 18 | + <xs:enumeration value="straight"/> |
| 19 | + <xs:enumeration value="turn"/> |
| 20 | + </xs:restriction> |
| 21 | + </xs:simpleType> |
| 22 | + <xs:simpleType name="e_station_platform_segment_side"> |
| 23 | + <xs:restriction base="xs:string"> |
| 24 | + <xs:enumeration value="left"/> |
| 25 | + <xs:enumeration value="right"/> |
| 26 | + </xs:restriction> |
| 27 | + </xs:simpleType> |
| 28 | + <xs:simpleType name="e_station_type"> |
| 29 | + <xs:restriction base="xs:string"> |
| 30 | + <xs:enumeration value="small"/> |
| 31 | + <xs:enumeration value="medium"/> |
| 32 | + <xs:enumeration value="large"/> |
| 33 | + </xs:restriction> |
| 34 | + </xs:simpleType> |
| 35 | + <xs:complexType name="t_road_railroad"> |
| 36 | + <xs:annotation> |
| 37 | + <xs:documentation>Container for all railroad definitions that shall be applied along a road. |
| 38 | +The available set of railroad elements is currently limited to the definition of switches. All other entries shall be covered with the existing elements, for example, track definition by <road>, signal definition by <signal>, etc. Railroad-specific elements are defined against the background of streetcar applications.</xs:documentation> |
| 39 | + </xs:annotation> |
| 40 | + <xs:complexContent> |
| 41 | + <xs:extension base="_OpenDriveElement"> |
| 42 | + <xs:sequence> |
| 43 | + <xs:element maxOccurs="unbounded" minOccurs="0" name="switch" type="t_road_railroad_switch"/> |
| 44 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 45 | + </xs:sequence> |
| 46 | + </xs:extension> |
| 47 | + </xs:complexContent> |
| 48 | + </xs:complexType> |
| 49 | + <xs:complexType name="t_road_railroad_switch"> |
| 50 | + <xs:annotation> |
| 51 | + <xs:documentation>Switches change the tracks for rail-bound vehicles. Switches guide the vehicles into two directions only.</xs:documentation> |
| 52 | + </xs:annotation> |
| 53 | + <xs:complexContent> |
| 54 | + <xs:extension base="_OpenDriveElement"> |
| 55 | + <xs:sequence> |
| 56 | + <xs:element maxOccurs="1" minOccurs="1" name="mainTrack" type="t_road_railroad_switch_mainTrack"/> |
| 57 | + <xs:element maxOccurs="1" minOccurs="1" name="sideTrack" type="t_road_railroad_switch_sideTrack"/> |
| 58 | + <xs:element maxOccurs="1" minOccurs="0" name="partner" type="t_road_railroad_switch_partner"/> |
| 59 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 60 | + </xs:sequence> |
| 61 | + <xs:attribute name="id" type="xs:string" use="required"> |
| 62 | + <xs:annotation> |
| 63 | + <xs:documentation>Unique ID of the switch; preferably an integer number, see uint32_t</xs:documentation> |
| 64 | + </xs:annotation> |
| 65 | + </xs:attribute> |
| 66 | + <xs:attribute name="name" type="xs:string" use="required"> |
| 67 | + <xs:annotation> |
| 68 | + <xs:documentation>Unique name of the switch</xs:documentation> |
| 69 | + </xs:annotation> |
| 70 | + </xs:attribute> |
| 71 | + <xs:attribute name="position" type="e_road_railroad_switch_position" use="required"> |
| 72 | + <xs:annotation> |
| 73 | + <xs:documentation>Either a switch can be operated (dynamic) or it is in a static position</xs:documentation> |
| 74 | + </xs:annotation> |
| 75 | + </xs:attribute> |
| 76 | + </xs:extension> |
| 77 | + </xs:complexContent> |
| 78 | + </xs:complexType> |
| 79 | + <xs:complexType name="t_road_railroad_switch_mainTrack"> |
| 80 | + <xs:annotation> |
| 81 | + <xs:documentation>Main tracks form the primary course for rail bound traffic.</xs:documentation> |
| 82 | + </xs:annotation> |
| 83 | + <xs:complexContent> |
| 84 | + <xs:extension base="_OpenDriveElement"> |
| 85 | + <xs:sequence> |
| 86 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 87 | + </xs:sequence> |
| 88 | + <xs:attribute name="dir" type="e_elementDir" use="required"> |
| 89 | + <xs:annotation> |
| 90 | + <xs:documentation>direction, relative to the s-direction, on the main track for entering the side track via the switch</xs:documentation> |
| 91 | + </xs:annotation> |
| 92 | + </xs:attribute> |
| 93 | + <xs:attribute name="id" type="xs:string" use="required"> |
| 94 | + <xs:annotation> |
| 95 | + <xs:documentation>Unique ID of the main track, that is, the <road> element. Must be consistent with parent containing this <railroad> element.</xs:documentation> |
| 96 | + </xs:annotation> |
| 97 | + </xs:attribute> |
| 98 | + <xs:attribute name="s" type="t_grEqZero" use="required"> |
| 99 | + <xs:annotation> |
| 100 | + <xs:documentation>s-coordinate of the switch, that is, the point where main track and side track meet</xs:documentation> |
| 101 | + </xs:annotation> |
| 102 | + </xs:attribute> |
| 103 | + </xs:extension> |
| 104 | + </xs:complexContent> |
| 105 | + </xs:complexType> |
| 106 | + <xs:complexType name="t_road_railroad_switch_partner"> |
| 107 | + <xs:annotation> |
| 108 | + <xs:documentation>Partner switches are two consistently set switches linked by a side track.</xs:documentation> |
| 109 | + </xs:annotation> |
| 110 | + <xs:complexContent> |
| 111 | + <xs:extension base="_OpenDriveElement"> |
| 112 | + <xs:sequence> |
| 113 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 114 | + </xs:sequence> |
| 115 | + <xs:attribute name="id" type="xs:string" use="required"> |
| 116 | + <xs:annotation> |
| 117 | + <xs:documentation>Unique ID of the partner switch</xs:documentation> |
| 118 | + </xs:annotation> |
| 119 | + </xs:attribute> |
| 120 | + <xs:attribute name="name" type="xs:string" use="optional"> |
| 121 | + <xs:annotation> |
| 122 | + <xs:documentation>Unique name of the partner switch</xs:documentation> |
| 123 | + </xs:annotation> |
| 124 | + </xs:attribute> |
| 125 | + </xs:extension> |
| 126 | + </xs:complexContent> |
| 127 | + </xs:complexType> |
| 128 | + <xs:complexType name="t_road_railroad_switch_sideTrack"> |
| 129 | + <xs:annotation> |
| 130 | + <xs:documentation>Side tracks connect two switches that are placed on main tracks.</xs:documentation> |
| 131 | + </xs:annotation> |
| 132 | + <xs:complexContent> |
| 133 | + <xs:extension base="_OpenDriveElement"> |
| 134 | + <xs:sequence> |
| 135 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 136 | + </xs:sequence> |
| 137 | + <xs:attribute name="dir" type="e_elementDir" use="required"> |
| 138 | + <xs:annotation> |
| 139 | + <xs:documentation>direction, relative to the s-direction, on the side track for after entering it via the switch</xs:documentation> |
| 140 | + </xs:annotation> |
| 141 | + </xs:attribute> |
| 142 | + <xs:attribute name="id" type="xs:string" use="required"> |
| 143 | + <xs:annotation> |
| 144 | + <xs:documentation>Unique ID of the side track, that is, the <road> element</xs:documentation> |
| 145 | + </xs:annotation> |
| 146 | + </xs:attribute> |
| 147 | + <xs:attribute name="s" type="t_grEqZero" use="required"> |
| 148 | + <xs:annotation> |
| 149 | + <xs:documentation>s-coordinate of the switch on the side track </xs:documentation> |
| 150 | + </xs:annotation> |
| 151 | + </xs:attribute> |
| 152 | + </xs:extension> |
| 153 | + </xs:complexContent> |
| 154 | + </xs:complexType> |
| 155 | + <xs:complexType name="t_station"> |
| 156 | + <xs:annotation> |
| 157 | + <xs:documentation>Stations are places on the rail network where passengers enter and leave rail-bound vehicles at platforms. |
| 158 | +May refer to multiple tracks and is therefore defined on the same level as junctions.</xs:documentation> |
| 159 | + </xs:annotation> |
| 160 | + <xs:complexContent> |
| 161 | + <xs:extension base="_OpenDriveElement"> |
| 162 | + <xs:sequence> |
| 163 | + <xs:element maxOccurs="unbounded" minOccurs="1" name="platform" type="t_station_platform"/> |
| 164 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 165 | + </xs:sequence> |
| 166 | + <xs:attribute name="id" type="xs:string" use="required"> |
| 167 | + <xs:annotation> |
| 168 | + <xs:documentation>Unique ID within database</xs:documentation> |
| 169 | + </xs:annotation> |
| 170 | + </xs:attribute> |
| 171 | + <xs:attribute name="name" type="xs:string" use="required"> |
| 172 | + <xs:annotation> |
| 173 | + <xs:documentation>Unique name of the station</xs:documentation> |
| 174 | + </xs:annotation> |
| 175 | + </xs:attribute> |
| 176 | + <xs:attribute name="type" type="e_station_type" use="optional"> |
| 177 | + <xs:annotation> |
| 178 | + <xs:documentation>Type of station. Free text, depending on the application. |
| 179 | +e.g.: small, medium, large</xs:documentation> |
| 180 | + </xs:annotation> |
| 181 | + </xs:attribute> |
| 182 | + </xs:extension> |
| 183 | + </xs:complexContent> |
| 184 | + </xs:complexType> |
| 185 | + <xs:complexType name="t_station_platform"> |
| 186 | + <xs:annotation> |
| 187 | + <xs:documentation>Platforms are essential parts of stations for passengers to enter and leave rail-bound vehicles. One or more railroad tracks reference one platform.</xs:documentation> |
| 188 | + </xs:annotation> |
| 189 | + <xs:complexContent> |
| 190 | + <xs:extension base="_OpenDriveElement"> |
| 191 | + <xs:sequence> |
| 192 | + <xs:element maxOccurs="unbounded" minOccurs="1" name="segment" type="t_station_platform_segment"/> |
| 193 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 194 | + </xs:sequence> |
| 195 | + <xs:attribute name="id" type="xs:string" use="required"> |
| 196 | + <xs:annotation> |
| 197 | + <xs:documentation>Unique ID within database</xs:documentation> |
| 198 | + </xs:annotation> |
| 199 | + </xs:attribute> |
| 200 | + <xs:attribute name="name" type="xs:string" use="optional"> |
| 201 | + <xs:annotation> |
| 202 | + <xs:documentation>Name of the platform. May be chosen freely.</xs:documentation> |
| 203 | + </xs:annotation> |
| 204 | + </xs:attribute> |
| 205 | + </xs:extension> |
| 206 | + </xs:complexContent> |
| 207 | + </xs:complexType> |
| 208 | + <xs:complexType name="t_station_platform_segment"> |
| 209 | + <xs:annotation> |
| 210 | + <xs:documentation>Segments are parts of platforms. |
| 211 | +Each <platform> element is valid on one or more track segments. The <segment> element must be specified.</xs:documentation> |
| 212 | + </xs:annotation> |
| 213 | + <xs:complexContent> |
| 214 | + <xs:extension base="_OpenDriveElement"> |
| 215 | + <xs:sequence> |
| 216 | + <xs:group maxOccurs="unbounded" minOccurs="0" ref="g_additionalData"/> |
| 217 | + </xs:sequence> |
| 218 | + <xs:attribute name="roadId" type="xs:string" use="required"> |
| 219 | + <xs:annotation> |
| 220 | + <xs:documentation>Unique ID of the <road> element (track) that accompanies the platform</xs:documentation> |
| 221 | + </xs:annotation> |
| 222 | + </xs:attribute> |
| 223 | + <xs:attribute name="sEnd" type="t_grEqZero" use="required"> |
| 224 | + <xs:annotation> |
| 225 | + <xs:documentation>Maximum s-coordiante on <road> element that has an adjacent platform</xs:documentation> |
| 226 | + </xs:annotation> |
| 227 | + </xs:attribute> |
| 228 | + <xs:attribute name="side" type="e_station_platform_segment_side" use="required"> |
| 229 | + <xs:annotation> |
| 230 | + <xs:documentation>Side of track on which the platform is situated when going from sStart to sEnd</xs:documentation> |
| 231 | + </xs:annotation> |
| 232 | + </xs:attribute> |
| 233 | + <xs:attribute name="sStart" type="t_grEqZero" use="required"> |
| 234 | + <xs:annotation> |
| 235 | + <xs:documentation>Minimum s-coordinate on <road> element that has an adjacent platform</xs:documentation> |
| 236 | + </xs:annotation> |
| 237 | + </xs:attribute> |
| 238 | + </xs:extension> |
| 239 | + </xs:complexContent> |
| 240 | + </xs:complexType> |
| 241 | +</xs:schema> |
0 commit comments