Home » railML newsgroups » railml.interlocking » [railML3]: Proposed semantic constrain for TvdSection
[railML3]: Proposed semantic constrain for TvdSection [message #3453] Wed, 05 February 2025 05:48 Go to next message
Jörg von Lingen is currently offline  Jörg von Lingen
Messages: 100
Registered: March 2016
Senior Member
Dear all,

A semantic constrain will support checking of correct use of railML
data. Within "TvdSection" there shall be a semantic constrain considered.

One element "TvdSection" shall have minimum of two childs
"hasDemarcatingBufferstop" or "hasDemarcatingTraindetector".

Each element "TvdSection" shall have minimum of one child
"hasDemarcatingTraindetector".

This constrain applies for physical reasons and is independent of any
use case.
--
Best regards,
Joerg v. Lingen - Interlocking Coordinator
Re: [railML3]: Proposed semantic constrain for TvdSection [message #3476 is a reply to message #3453] Thu, 20 February 2025 14:27 Go to previous messageGo to next message
Thomas Nygreen is currently offline  Thomas Nygreen
Messages: 89
Registered: March 2008
Member
Dear Jörg,

These are syntactic, not semantic, constraints. Also, it does not guarantee that the TVD section has a well-defined closed area. For instance, if there is a switch inside the TVD section, it would need (at least) three demarcating elements. (At least) four if it has a crossing. The demarcating elements still also have to be placed in a certain manner. We could instead add a constraint that there should be no path out of the TVD section that does not lead to a demarcating element, but it would be quite complex to validate.

Best regards,
Thomas


Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3]: Proposed semantic constrain for TvdSection [message #3478 is a reply to message #3476] Fri, 21 February 2025 09:55 Go to previous message
Jörg von Lingen is currently offline  Jörg von Lingen
Messages: 100
Registered: March 2016
Senior Member
Dear Thomas,

it is purely sematic.
There are two possible child elements "hasDemarcatingBufferstop" or
"hasDemarcatingTraindetector" each with [0..*].
However, it shall be ensured, that at least two childs out of these two
possibilities are used. And at least one of these childs is
"hasDemarcatingTraindetector".

The XSD cannot ensure by syntax that these rules are followed.
--
Best regards,
Joerg v. Lingen - Interlocking Coordinator
Previous Topic: [railML3] Request for feedback on changes of our deprecation policy
Next Topic: [railML3]: SignalBox and RadioBlockCentre without reference to infrastructure
Goto Forum:
  


Current Time: Tue May 06 21:07:36 CEST 2025