| [railML 2] Semantic Constraint at trackBegin and trackEnd [message #3054] |
Mon, 13 March 2023 14:42  |
Milan Wölke
Messages: 206 Registered: April 2007
|
Senior Member |
|
|
Hi all,
the Infrastructure Coordinator asked me to review the semantic constraints at <trackBegin> and <trackEnd> together with the Timetable developer group. When we did that we found that some constraints did not make sense to us so we reformulated them. In particular the constraint that the attribute @pos specified for a <trackBegin> was always supposed to be 0 didnt match the expectation of the developer group. The question raised was, that if there is an attribute that is supposed to always have the same value, why have an attribute at all.
Accordingly we changed the constraint to declare that a @pos value at <trackBegin> is always to be lower than the @pos value given at <trackEnd>. This raised another question, if the @pos of <trackBegin> should always be lower than @pos at <trackEnd> or if it may also have the same value. Having the same value would then mean that the described track has a length of 0. In this matter we wanted to ask the community.
Are you using zero length tracks in your models?
Can you deal with railML documents that include tracks like that during import?
Of course any comments on the current version of the semantic constrains liked below is very welcome.
https://wiki2.railml.org/wiki/IS:trackBegin#IS:003
https://wiki2.railml.org/wiki/IS:trackEnd#IS:002
Thanks in advance!
Best regards, Milan
-------------------
Hallo zusammen,
der Infrastrukturkoordinator bat mich, die Semantic Constraints bei <trackBegin> und <trackEnd> gemeinsam mit der Timetable Developer Group zu überprüfen. Dabei haben wir festgestellt, dass einige Einschränkungen für uns keinen Sinn ergeben, so dass wir sie neu formuliert haben. Insbesondere die Einschränkung, dass das für <trackBegin> angegebene Attribut @pos immer 0 sein sollte, entsprach nicht den Erwartungen der Entwicklergruppe. Es wurde die Frage aufgeworfen, warum es überhaupt ein Attribut gibt, wenn es immer denselben Wert haben soll.
Dementsprechend änderten wir die Einschränkung dahingehend, dass ein @pos-Wert bei <trackBegin> immer niedriger sein muss als der @pos-Wert bei <trackEnd>. Dies warf eine weitere Frage auf, nämlich ob der @pos-Wert von <trackBegin> immer niedriger sein sollte als der @pos-Wert von <trackEnd> oder ob er auch denselben Wert haben kann. Der identische Wert würde dann zur Folge haben, dass der beschriebene Track eine Länge von 0 hat. In diesem Zusammenhang wollten wir die Community fragen.
Verwenden Sie Gleise mit einer Länge von Null in Ihren Modellen?
Können Sie beim Import mit railML-Dokumenten umgehen, die solche Gleise enthalten?
Natürlich ist jeder Kommentar zur aktuellen Fassung der unten aufgeführten Semantic Constrains sehr willkommen.
https://wiki2.railml.org/wiki/IS:trackBegin#IS:003
https://wiki2.railml.org/wiki/IS:trackEnd#IS:002
Vielen Dank im Voraus!
Mit freundlichen Grüßen, Milan
Milan Hoffmann – Timetable schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|
|
|
| Re: [railML 2] Semantic Constraint at trackBegin and trackEnd [message #3058 is a reply to message #3056] |
Tue, 14 March 2023 20:18   |
christian.rahmig
Messages: 515 Registered: January 2016
|
Senior Member |
|
|
Dear all,
apart from the feedback on the existence of zero length tracks (thank you David for your reply), I am very interested to hear/read who is using railML 2.x with tracks that do not start with @pos=0? Any feedback is highly appreciated to get a wholistic view on this issue.
Thank you very much and best regards
Christian
Christian Rahmig – Infrastructure scheme coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|
|
|
|
|
| Re: [railML 2] Semantic Constraint at trackBegin and trackEnd [message #3696 is a reply to message #3547] |
Wed, 13 August 2025 18:58  |
Thomas Nygreen
Messages: 103 Registered: March 2008
|
Senior Member |
|
|
Dear all,
For as long as @pos has been documented in our Wiki, the documentation has been:
Since 2011: "This is the position on a track relative to its start in the railML file."
Since 2015: "This is the position on a track defined as distance from its start (trackBegin) regardless the "absolute mileage" in absPos."
with the constraint: "greater than or equal to zero, less than or equal to the track's length"
Equally long, the @pos of <trackBegin> has had the constraint annotation "The start of the track is described by a pos value of zero." And similarly for <trackEnd>: "The end of the track is defined by the "real" length of the track as distance from the trackBegin regardless the "absolute mileage" in absPos."
I agree with Milan that an attribute with a fixed value is redundant. But it seems well-documented for a decade and a half, across five releases of railML 2, that @pos in <trackBegin> needs to be zero.
Best regards,
Thomas
Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
|
|
|
|