Syntactic and semantic constraints
Description
The introduction of "semantic constraints" (constraints on the usage of railML elements and attributes apart from the railML schema) has caused confusion w.r.t. compatibility of railML versions (and minor versions).
It has to be clarified:
- how to distinguish between syntactic and semantic constraints (rules to decide which type of constraint to use)
- how semantic constraints affect railML version compatibility (upwards, downwards)
- how semantic constraints are categorized to be linked with minor and major versions
- how semantic constraints are documented w.r.t. versions where they apply.
Background
tbd
Links
- Forum discussion:
- Christian Rößiger, 18.06.2019: [https://www.railml.org/forum/index.php?t=msg&th=671&start=0&]
- Trac tickets:
- #361: [#361]
- Wiki documentation:
- Dev:Semantic Constraints: [https://wiki.railml.org/index.php?title=Dev:Semantic_Constraints]
- Dev:Semantic Constraints/table: [https://wiki.railml.org/index.php?title=Dev:Semantic_Constraints/table]
Proposed solution
Syntactic constraints are to be found in the schema files.
Semantic constraints shall be discussed and concluded in the forum prior documentation in the wiki.
For railML 3.x policy of syntactic and semantic constraints need to be reviewed.