-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathTrias_Positioning.xsd
207 lines (207 loc) · 8.46 KB
/
Trias_Positioning.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.vdv.de/trias" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.vdv.de/trias" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Trias_Common.xsd"/>
<xs:include schemaLocation="Trias_JourneySupport.xsd"/>
<xs:element name="PositioningRequest" type="PositioningRequestStructure">
<xs:annotation>
<xs:documentation>Positioning request element.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="PositioningRequestStructure">
<xs:annotation>
<xs:documentation>A positioning request estimates the passenger's location in relation to stops and/or services.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice>
<xs:annotation>
<xs:documentation>The movement pattern of a passenger may be obtained as GPS track (LastPositions) or from the sequence of the most recently passed stops (StopSequence).</xs:documentation>
</xs:annotation>
<xs:element name="LastPositions" type="TimedPositionStructure" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Sequence of geographic positions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StopSequence" type="TimedStopStructure" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Sequence of stop positions.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="Params" type="PositioningParamStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Parameters to filter and control the result.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PositioningParamStructure">
<xs:annotation>
<xs:documentation>Parameters that control the search.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="PositioningDataFilterGroup">
<xs:annotation>
<xs:documentation>Filters to narrow the search space.</xs:documentation>
</xs:annotation>
</xs:group>
<xs:group ref="PositioningPolicyGroup"/>
</xs:sequence>
</xs:complexType>
<xs:group name="PositioningDataFilterGroup">
<xs:annotation>
<xs:documentation>Filters to narrow the search space. If used, then the position is only searched within the realm of the given lines, modes or operators.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="PtModeFilter" type="PtModeFilterStructure" minOccurs="0"/>
<xs:element name="LineFilter" type="LineDirectionFilterStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Lines/Directions to include/exclude.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OperatorFilter" type="OperatorFilterStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Transport operators to include/exclude.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="PositioningPolicyGroup">
<xs:annotation>
<xs:documentation>Parameters that control the search behaviour.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="NumberOfResults" type="xs:positiveInteger" minOccurs="0">
<xs:annotation>
<xs:documentation>Maximum number of ranked positions that should be returned with the response.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:group>
<xs:complexType name="TimedPositionStructure">
<xs:annotation>
<xs:documentation>Geographic position with timestamp.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Timestamp" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Timestamp when the passenger has passed this position.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Position" type="GeoPositionStructure">
<xs:annotation>
<xs:documentation>Coordinate position.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Speed" type="SpeedType" minOccurs="0">
<xs:annotation>
<xs:documentation>Speed with which passenger has passed this position.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Direction" type="AbsoluteBearingType" minOccurs="0">
<xs:annotation>
<xs:documentation>Direction in which passenger has passed this position.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TimedStopStructure">
<xs:annotation>
<xs:documentation>Stop locations with timestamps.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="StopPointGroup"/>
<xs:element name="ArrivalTime" type="ServiceCallStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Arrival time when the passenger arrived at this stop.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DepartureTime" type="ServiceCallStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Departure time when the passenger departed from this stop.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:annotation>
<xs:documentation>====================================================</xs:documentation>
</xs:annotation>
<xs:element name="PositioningResponse" type="PositioningResponseStructure">
<xs:annotation>
<xs:documentation>Positioning response element.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="PositioningResponseStructure">
<xs:annotation>
<xs:documentation>Positioning response structure.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ErrorMessage" type="ErrorMessageStructure" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Error messages related to the response as a whole.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PositioningResult" type="PositioningResultStructure" minOccurs="0">
<xs:annotation>
<xs:documentation>Result structure.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PositioningResultStructure">
<xs:annotation>
<xs:documentation>The positioning result including all suggestions.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ResultId" type="xs:NMTOKEN">
<xs:annotation>
<xs:documentation>Result ID for further referencing</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Positioning" type="PositioningStructure">
<xs:annotation>
<xs:documentation>Container for ranked positions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Extension" type="xs:anyType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PositioningStructure">
<xs:annotation>
<xs:documentation>Container for the suggested positions.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RankedPosition" type="RankedPositionStructure" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One or more ranked positions.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RankedPositionStructure">
<xs:annotation>
<xs:documentation>Position suggestion with ranking.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice>
<xs:annotation>
<xs:documentation>A position within the Public Transport network may be near a stop/station (StationaryLocation) or on board of a vehicle (TripLocation).</xs:documentation>
</xs:annotation>
<xs:element name="StationaryLocation" type="LocationRefStructure">
<xs:annotation>
<xs:documentation>Location outside of Public Transport vehicles.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TripLocation" type="DatedJourneyStructure">
<xs:annotation>
<xs:documentation>Location in a Public Transport vehicle.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="Ranking" type="PercentType">
<xs:annotation>
<xs:documentation>Probability from 0 to 100. 100 means perfectly sure.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>