Dev:Semantic Constraints

From wiki.railML.org
Revision as of 16:25, 6 June 2019 by Ferri Leberl (Talk | contribs) (Current Constraints: +weitere proposed)


Jump to: navigation, search

Semantic constraints

XSD offers a variety of possibilities to define constraints. However, in some rare exceptions it is not possible to express an important rule in XSD. Rules that do not fit into XSD have to be expressed by words, semantically.

Semantic constraints are even important as XSD constraints. If they are ignored, security issues may arise.

Elements with approved semantic constraints are listed in Category:Semantic constraints. On the element documentation pages, the semantic constraints can be found in a dedicated chapter below the syntactic constraints. Proposed semantic constraints are listed in Category:Semantic constraints_proposed. A list of the introduction date of a semantic constraint can be found in the list below.

Note.png Semantic constraints that have been proposed before the 10th of December 2018 shall be considered as approved until decided otherwise.


Every application of railML® has to be checked not only on XML conformity but also on the obedience of the semantic constraints.

How to introduce Semantic Constraints

Generally speaking, constraints should better be implemented syntactically in the schema. Please, follow the guideline for participating in the development process.

If you see need for a semantic constraint beyond the schema, please discuss it in the forum (link to the railML® website). If there is consent, you may decide to add a proposal in the element documentation using Template:Semcon. Please, add the proposal to the list below! If the proposal is accepted, it will implemented in the wiki using Template:Semcon.

Current Constraints

Element Proposal date Date of acception
<timetablePeriod> 2018-11-12 2019-03-21
<specialService> 2018-11-12 2019-03-21
<specialService> 2018-11-12 2019-03-21
<operatingPeriodRef> 2018-11-12 2019-03-21
<operatingPeriod> 2018-11-12 2019-03-21
<operatingDay> 2018-11-12 2019-03-21
<ocpTT> (first semantic constraint) 2018-10-25
<ocpTT> (second semantic constraint) 2018-10-25
<circulation> 2018-11-12 2019-03-21
<blockPart> 2018-11-12 2019-03-21
<operator> 2018-11-12 2019-03-21
<state> 2018-11-12 2019-03-21
<state (with length)> 2018-11-12 2019-03-21
<designator> 2018-11-12 2019-03-21
<speedChange> 2019-04-11
<rostering> 2019-05-22
<stopDescription> 2018-09-03
<trackInfo> (first semantic constraint) 2018-08-21
<trackInfo> (second semantic constraint) 2018-08-21