forked from VDVde/VDV301
-
Notifications
You must be signed in to change notification settings - Fork 0
/
IBIS-IP_TrainSetDataService_V2.2.xsd
117 lines (117 loc) · 8.76 KB
/
IBIS-IP_TrainSetDataService_V2.2.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
<?xml version="1.0" encoding="utf-8"?>
<!-- Mit XMLSpy v2018 sp1 (x64) (http://www.altova.com) von Torsten Franke (IVU Traffic Technologies AG) bearbeitet -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="IBIS-IP_common_V2.2.xsd"/>
<xs:include schemaLocation="IBIS-IP_Enumerations_V2.2.xsd"/>
<!--xs:include schemaLocation="IBIS-IP_CustomerInformationService_V2.2.xsd"/> -->
<!--==== TrainSetDataService Operations ====-->
<xs:group name="TrainSetDataServiceOperations">
<xs:sequence>
<!--=====================================================================-->
<!--=== Operations related to functionalities of a TrainSet operation ===-->
<!--=====================================================================-->
<!-- In an X-Y-traffic the master coach has the information of both, the trip the master coach has to perform and the trips the other -->
<!-- coaches of the train set have to perfrom. Therefore the master coach can provide the trip references to the slave coaches depending on -->
<!-- their position within the train set. The slave coach makes then use of the trip reference, selects the respective trip and does the -->
<!-- passenger information autonomously. Please note: Position information are still provided by the master coach until the the train set is -->
<!-- this operation is used by the slave coach to request the trip reference of the slave coach -->
<xs:element name="TrainSetDataService.RetrieveTripRefRequest" type="TrainSetDataService.RetrieveTripRefRequestStructure"/>
<xs:element name="TrainSetDataService.RetrieveTripRefResponse" type="TrainSetDataService.RetrieveTripRefResponseStructure"/>
<!-- In an X-Y-traffic the master coach has the information of both, the trip the master coach has to perform and the trips the other -->
<!-- coaches of the train set have to perfrom. Therefore the master coach can provide the complete trip information structure to the slave coaches depending on -->
<!-- their position within the train set. Thereby dispatching actions received by the master coach from the central AVL can be directly transmitted to the slave coaches. -->
<!-- Please note: the slave vehicles use those trip information always like dispatched trips, independent from their onw data supply -->
<!-- Please note: positioning and passenger information is done by each onboard unit separately based on the TripInformation and the NetworkLocationService -->
<!-- Please note: the same structures can be used also for subscription mechanisms to the TripInformation -->
<xs:element name="TrainSetDataService.RetrieveTripInformationRequest" type="TrainSetDataService.RetrieveTripInformationRequestStructure"/>
<xs:element name="TrainSetDataService.RetrieveTripInformationResponse" type="TrainSetDataService.RetrieveTripInformationResponseStructure"/>
<!-- Subscriptions to "Retrieve operations" are different from subscriptions to "Get operations" -->
<!-- (I.e. to the GetAllData operation there is a SubscribeAllData operation) -->
<!-- (Below mentioned we define i.e. a SubscribeTripRequest to complement the RetrieveTripRequest.) -->
<!-- The fundamental difference is that a Retrieve operation has one or more specific parameters which define the dataset to be retreived. -->
<!-- A Get operation has no such parameters.-->
<!-- For a subscription to a Get operation there are only the three technical parameters "Client-IP-Address", "ReplyPort" and "ReplyPath" needed. -->
<!-- (cf. SubscribeRequestStructure in IBIS-IP_common_V2.0.xsd)-->
<!-- Subscriptions like SubscribeTripRefRequest and SubscribeTripInformationRequest, need to provide the "CoachNumber" in addition, -->
<!-- to make clear for which coach the trip data are needed.-->
<!-- That is why a separate "TrainSetSubscribeRequestStructure" is defined here.-->
<xs:element name="TrainSetDataService.SubscribeTripRefRequest" type="TrainSetDataService.TrainSetSubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.SubscribeTripRefResponse" type="SubscribeResponseStructure"/>
<xs:element name="TrainSetDataService.SubscribeTripInformationRequest" type="TrainSetDataService.TrainSetSubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.SubscribeTripInformationResponse" type="SubscribeResponseStructure"/>
<xs:element name="TrainSetDataService.UnsubscribeTripRefRequest" type="TrainSetDataService.TrainSetUnsubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.UnsubscribeTripRefResponse" type="UnsubscribeResponseStructure"/>
<xs:element name="TrainSetDataService.UnsubscribeTripInformationRequest" type="TrainSetDataService.TrainSetUnsubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.UnsubscribeTripInformationResponse" type="UnsubscribeResponseStructure"/>
</xs:sequence>
</xs:group>
<!--=====================================================================-->
<!--=== Operations related to functionalities of a TrainSet operation ===-->
<!--=====================================================================-->
<!--=== RetrieveTripRefRequest ===-->
<xs:element name="TrainSetDataService.RetrieveTripRefRequest" type="TrainSetDataService.RetrieveTripRefRequestStructure"/>
<xs:complexType name="TrainSetDataService.RetrieveTripRefRequestStructure">
<xs:sequence>
<!-- counting of coaches in a trainset always starts at 1. The master is always coach 1. The coach connected to the master is coach 2 and so forth -->
<!-- a master in the middle between two coaches is not covered by the concept -->
<xs:element name="CoachNumber" type="IBIS-IP.string">
<xs:annotation>
<xs:documentation>
This is the coach number as printed on the vehicle.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--=== RetrieveTripRefResponse ===-->
<xs:element name="TrainSetDataService.RetrieveTripRefResponse" type="TrainSetDataService.RetrieveTripRefResponseStructure"/>
<xs:element name="TrainSetDataService.SubscribeTripRefResponse" type="TrainSetDataService.RetrieveTripRefResponseStructure"/>
<xs:complexType name="TrainSetDataService.RetrieveTripRefResponseStructure">
<xs:sequence>
<xs:element name="TripRef" type="IBIS-IP.NMTOKEN"/>
</xs:sequence>
</xs:complexType>
<!--=== RetrieveTripInformationRequest ===-->
<xs:element name="TrainSetDataService.RetrieveTripInformationRequest" type="TrainSetDataService.RetrieveTripInformationRequestStructure"/>
<xs:complexType name="TrainSetDataService.RetrieveTripInformationRequestStructure">
<xs:sequence>
<xs:element name="CoachNumber" type="IBIS-IP.string">
<xs:annotation>
<xs:documentation>
This is the coach number as printed on the vehicle.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!--=== RetrieveTripInformationResponseStructure ===-->
<xs:element name="TrainSetDataService.RetrieveTripInformationResponse" type="TrainSetDataService.RetrieveTripInformationResponseStructure"/>
<xs:element name="TrainSetDataService.SubscribeTripInformationResponse" type="TrainSetDataService.RetrieveTripInformationResponseStructure"/>
<xs:complexType name="TrainSetDataService.RetrieveTripInformationResponseStructure">
<xs:sequence>
<xs:element name="TripInformation" type="TripInformationStructure"/>
</xs:sequence>
</xs:complexType>
<xs:element name="TrainSetDataService.SubscribeTripRefRequest" type="TrainSetDataService.TrainSetSubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.SubscribeTripInformationRequest" type="TrainSetDataService.TrainSetSubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.UnsubscribeTripRefRequest" type="TrainSetDataService.TrainSetUnsubscribeRequestStructure"/>
<xs:element name="TrainSetDataService.UnsubscribeTripInformationRequest" type="TrainSetDataService.TrainSetUnsubscribeRequestStructure"/>
<!--=== TrainSetSubscribeRequestStructure ===-->
<xs:complexType name="TrainSetDataService.TrainSetSubscribeRequestStructure">
<xs:sequence>
<xs:element name="Client-IP-Address" type="IBIS-IP.string"/>
<xs:element name="ReplyPort" type="IBIS-IP.int" minOccurs="0"/>
<xs:element name="ReplyPath" type="IBIS-IP.string" minOccurs="0"/>
<xs:element name="CoachNumber" type="IBIS-IP.string"/>
</xs:sequence>
</xs:complexType>
<!--=== TrainSetUnsubscribeRequestStructure ===-->
<xs:complexType name="TrainSetDataService.TrainSetUnsubscribeRequestStructure">
<xs:sequence>
<xs:element name="Client-IP-Address" type="IBIS-IP.string"/>
<xs:element name="ReplyPort" type="IBIS-IP.int" minOccurs="0"/>
<xs:element name="ReplyPath" type="IBIS-IP.string" minOccurs="0"/>
<xs:element name="CoachNumber" type="IBIS-IP.string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>