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.
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:SemconProposal. Please, add the proposal to the list below! If the proposal is accepted, it will implemented in the wiki using Template:Semcon.
|Element||Proposal date||Date of acception|
|<ocpTT> (first semantic constraint)||2018-10-25|
|<ocpTT> (second semantic constraint)||2018-10-25|