Home » railML newsgroups » railml.timetable » Referenzierung von ausgefallenen Zügen / Referencing of canceled trains (Wie können ausgefallene Züge referenziert werden? / Haw to reference cancaled trains?)
Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1436] Wed, 02 November 2016 12:47 Go to next message
Mićo Mićić is currently offline  Mićo Mićić
Messages: 16
Registered: November 2016
Junior Member
Hallo zusammen

Eine Frage bezüglich der Referenzierung von ausgefallenen Zügen: Wenn ein Zug ausfällt und durch einen Extrazug ersetzt wird, so möchten wir eine Referenz auf den ausgefallenen Zug machen können. In RailML 2.3 kann ein Zugausfall abgebildet werden, eine Referenzierung ist jedoch nicht möglich.

Als Lösung könnte z.B. ein neues Attribut "replacementOf" verwendet werden. Hier ein Beispiel:

<train id="12345678" code="T16321-001" type="operational" ... processStatus="actual" replacementOf="T16320-001">

Oder gibt es bereits eine andere Möglichkeit?

Vielen Dank
Mico

----
----

Dear all,

A question regarding the referencing of cancelled trains: If a train is cancelled and replaced by a new one, we would like to make a reference to the previous train. With RailML 2.3, the train cancellation can be described, but there is no referencing possible.

As a possible solution, a new attribute like "replacementOf" could be used. Example:

<train id="12345678" code="T16321-001" type="operational" ... processStatus="actual" replacementOf="T16320-001">

Or is there already another solution?

Thanks!
Mico
Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1442 is a reply to message #1436] Tue, 08 November 2016 16:47 Go to previous messageGo to next message
Philip Wobst is currently offline  Philip Wobst
Messages: 47
Registered: November 2013
Location: Hanover, Germany
Member
Hello Mico,

currently there is no such attribute for the train. This is most likely do to the fact that we do not have a unique train identification across individual railML files at this time. With the possibility to add cancellations in railML 2.3 it might be a better approach to include the cancelled train in the file as well and then use the direct ID reference to the train instead of the 'soft link' to a code of a train that is not in the file.

I do have comments/remarks regarding your approach and these
1. Reference to the train code
The reference in the @replacementOf attribute looks like the @code attribute of another train. Currently we do not yet have a unique key for a specific 'train' in railML and thus the code in your example would have to be such an internal key to identify two train elements across two railML files.
2. Partial replacement
How would you expect to handle instances where the operating days of the original train do not match the replacement train? Can two original trains be replaced by 1 replacement train and vice versa?
3. Attribute namespace
I gues this is already clear but your own extension would have to have a different namespace - e.g. sbb:replacementOf="..."

I would hope that there is a way to identify this in the TAF/TAP TSI context and will ask one of our TT developers (in the railML TT developer group) to provide feedback if possible.

Best regards,

Philip

--
Philip Wobst
railML.org Timetable coordinator
Phone: +49-511-33699 498
Dresden; Germany www.railml.org

[Updated on: Wed, 09 November 2016 14:17] by Moderator

Report message to a moderator

Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1475 is a reply to message #1442] Tue, 17 January 2017 22:05 Go to previous messageGo to next message
Mićo Mićić is currently offline  Mićo Mićić
Messages: 16
Registered: November 2016
Junior Member
Hi Philip

As already discussed by email and as you have described in the forum post, our approach with a new attribute "replacementOf" would reference the @code attribute of an other railML file. That is in fact not the best way to make the reference, but I think the only one currently available with railML 2.3.

Regarding your question:

1. Reference to the train code: Already described above.
2. Partial replacement: At the SBB, each train part is planned with an own train number (@code). Thus, we should have no problems if the "replacementOf" attribute is a part of the "train" element. But I'm not the railMl expert, perhaps there is a better solution that is also suitable for others.
3. Attribute namespace: Thanks, that's clear - my mistake.

Best regards and see you at the next developer meeting!
Mico

[Updated on: Tue, 17 January 2017 22:06]

Report message to a moderator

Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1527 is a reply to message #1475] Fri, 17 March 2017 10:09 Go to previous messageGo to next message
Philip Wobst is currently offline  Philip Wobst
Messages: 47
Registered: November 2013
Location: Hanover, Germany
Member
Dear all,

the corresponding TRAC ticket 308 has been created. We will continue with the discussion next week in Berne.

Best regards,

Philip
Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1532 is a reply to message #1527] Tue, 21 March 2017 20:15 Go to previous messageGo to next message
Leopold Kühschelm is currently offline  Leopold Kühschelm
Messages: 8
Registered: September 2015
Junior Member
Am 17.03.2017 um 10:09 schrieb Philip Wobst:
> Dear all,
>
> the corresponding https://trac.railml.org/ticket/308#ticket
> has been created. We will continue with the discussion next
> week in Berne.
>
> Best regards,
>
> Philip

Hi!

The Problem with the code attribute as reference is that there is no
information on the operatingPeriod of the train. This is exactly what
Philip already adressed in his second question of his first post on this
topic. So in my opinion the replacementOf should not be an attribute. It
is a child element of the train and should reference either trainNumber
+ operatingPeriod or a tafTapTsiTrainID. For tafTapTsiTrainID there is
no operatingPeriod needed the validity is already defined in the ID
(https://wiki.railml.org/index.php?title=TT:tafTapTsiTrainID).

Best regards,
Leopold
Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1575 is a reply to message #1532] Thu, 18 May 2017 12:35 Go to previous messageGo to next message
Dirk Bräuer is currently offline  Dirk Bräuer
Messages: 311
Registered: August 2008
Senior Member
Dear all,

I fully agree with Leopold concerning:

> ...the replacementOf should not be an attribute. It
> is a child element of the train and should reference either trainNumber
> + operatingPeriod or a tafTapTsiTrainID.

And I want to add the attributes additionalTrainNumber and possibly
scope (when not using tafTapTsiTrainID) to be consequent in railML 2.x.

Dirk.
Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1591 is a reply to message #1575] Fri, 26 May 2017 12:32 Go to previous messageGo to next message
Leopold Kühschelm is currently offline  Leopold Kühschelm
Messages: 8
Registered: September 2015
Junior Member
Am 18.05.2017 um 12:35 schrieb Dirk Bräuer:
> Dear all,
>
> I fully agree with Leopold concerning:
>
>> ...the replacementOf should not be an attribute. It
>> is a child element of the train and should reference either trainNumber
>> + operatingPeriod or a tafTapTsiTrainID.
>
> And I want to add the attributes additionalTrainNumber and possibly
> scope (when not using tafTapTsiTrainID) to be consequent in railML 2.x.
>
> Dirk.

Hi Dirk,

thanks for the input, I agree with you! As we have discussed in earlier
meetings and documented in the railML-Wiki
(https://wiki.railml.org/index.php?title=TT:train) a train should have
trainNumber, additionalTrainNum, scope and operating period as unique
key in railml.

Therefore I propose to add an element replacements with following schema
definition to the eTrain Element:

<xs:element name="replacements" type="tReplacedTrains">
</xs:element>



<xs:complexType name="tUniqueTrainKey">
<xs:sequence>
<xs:element ref="eOperatingPeriodRef"/>
</xs:sequence>
<xs:attributeGroup ref="aUniqueTrainKey"/>
</xs:complexType>
<xs:complexType name="tReplacedTrains">
<xs:sequence>
<xs:element name="replacementOf" type="tReplacementOf" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tReplacementOf">
<xs:choice>
<xs:element ref="tafTapTsiTrainID"></xs:element>
<xs:element ref="eUniqueTrainKey"></xs:element>
</xs:choice>
</xs:complexType>
<xs:attributeGroup name="aUniqueTrainKey">
<xs:attribute name="trainNumber" type="xs:string"/>
<xs:attribute name="additionalTrainNumber" type="xs:string"/>
<xs:attribute name="scope" type="tTrainScope"/>
</xs:attributeGroup>
<xs:element name="eUniqueTrainKey" type="tUniqueTrainKey">
</xs:element>

Best regards,
Leo
Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1592 is a reply to message #1575] Fri, 26 May 2017 12:35 Go to previous messageGo to next message
Leopold Kühschelm is currently offline  Leopold Kühschelm
Messages: 8
Registered: September 2015
Junior Member
Am 18.05.2017 um 12:35 schrieb Dirk Bräuer:
> Dear all,
>
> I fully agree with Leopold concerning:
>
>> ...the replacementOf should not be an attribute. It
>> is a child element of the train and should reference either trainNumber
>> + operatingPeriod or a tafTapTsiTrainID.
>
> And I want to add the attributes additionalTrainNumber and possibly
> scope (when not using tafTapTsiTrainID) to be consequent in railML 2.x.
>
> Dirk.

Hi Dirk,

thanks for the input, I agree with you! As we have discussed in earlier
meetings and documented in the railML-Wiki
(https://wiki.railml.org/index.php?title=TT:train) a train should have
trainNumber, additionalTrainNum, scope and operating period as unique
key in railml.

Therefore I propose to add an element replacements with following schema
definition to the eTrain Element:

<xs:element name="replacements" type="tReplacedTrains">
</xs:element>


<xs:complexType name="tUniqueTrainKey">
<xs:sequence>
<xs:element ref="eOperatingPeriodRef"/>
</xs:sequence>
<xs:attributeGroup ref="aUniqueTrainKey"/>
</xs:complexType>

<xs:complexType name="tReplacedTrains">
<xs:sequence>
<xs:element name="replacementOf" type="tReplacementOf"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="tReplacementOf">
<xs:choice>
<xs:element ref="tafTapTsiTrainID"></xs:element>
<xs:element ref="eUniqueTrainKey"></xs:element>
</xs:choice>
</xs:complexType>

<xs:attributeGroup name="aUniqueTrainKey">
<xs:attribute name="trainNumber" type="xs:string"/>
<xs:attribute name="additionalTrainNumber" type="xs:string"/>
<xs:attribute name="scope" type="tTrainScope"/>
</xs:attributeGroup>

<xs:element name="eUniqueTrainKey" type="tUniqueTrainKey">
</xs:element>

Best regards,
Leo
Re: Referenzierung von ausgefallenen Zügen / Referencing of canceled trains [message #1680 is a reply to message #1592] Tue, 05 December 2017 15:31 Go to previous message
Mićo Mićić is currently offline  Mićo Mićić
Messages: 16
Registered: November 2016
Junior Member
Hi Leopold

Thank you for the proposal. I've just created a SVN branch and committed the first version.

Branch: https://trac.railml.org/browser/railML/railML2/branches/refe rencing-canceled-trains
Changeset: https://trac.railml.org/changeset/762/railML

Can you please review it? I'm not sure if I have defined the XSD-types correctly across the two files "timetableTypes.xsd" and "timetable.xsd". Thank you!

Here an example with unique train key and TAF/TAP TSI train id:

Update after timetable developer teclo from 18 December 2017:
operatingPeriodRef is now a child element of replacementOf because the operating period reference is also required for trains referenced by TAF/TAP TSI train id.
But: This way the Element uniqueTrainKey is not really "unique" because the operatingPeriodRef is not a part of it! (Should be discussed in the next telco... !?)

<train id="train-zug-BLSP-16321-001" 
    code="BLSP-16321-1" 
    type="commercial" 
    trainNumber="16321" 
    additionalTrainNumber="4" 
    cancellation="false"
    processStatus="actual"
    description="Bn-Mueb">

     <trainPartSequence sequence="1">
         <trainPartRef ref="train-part-1"/>
     </trainPartSequence>

     <replacements>
         <replacementOf>
             <operatingPeriodRef ref="operating-period-17" />
             <uniqueTrainKey trainNumber="16320" scope="primary" additionalTrainNumber="7" />
         </replacementOf>
         <replacementOf>
             <operatingPeriodRef ref="operating-period-17" />
             <tafTapTsiTrainID objectType="TR" 
                 companyCode="1185" 
                 core="012345616320" 
                 variant="01" 
                 timetableYear="2017" />
         </replacementOf>
     </replacements>

</train>


Best regards,
Mico

[Updated on: Wed, 03 January 2018 13:33]

Report message to a moderator

Previous Topic: addendum to <stopDescription> in railML2.4
Next Topic: example data: East Saxony railway network by FBS
Goto Forum:
  


Current Time: Thu Mar 28 14:34:47 CET 2024