Discussion March 2020
Initial question: what are semcons and what are no semcons?
A semantic constraint is a constraint that cannot be implemented in an XSD.
- What is obviously a semcon?
- What is obviously not a semcon?
- Element semantics and attribute semantics - otherwise every element semantics and attribute semantics would be a semcon (although it may be annoying to put the dead weight under <vehicle>@nettoWeight and the load capacity under <vehicle>@tareWeight).
- Intentions (about the function of a certain Element/Attribute)
- Best Practices
- Conclusions from syntactic constraints and/or element/attribute semantics
- Explanations of semantic constraints
- Cf. →
- Do they apply to the developer or the user?
- Who can control/guarantee compliance?
- Allow/deny the recycling of discarded numbers?
- Creating semantic constraints
- Suggestion and Discussion
- either in the railML® Forum
- or in a railML® working group
→in this case the working group must present their discussion result in the forum and grant a term for discussion there
- Enter the semcon with status proposed into the wiki
- If there are no objections, the semcon becomes accepted after a certain term (6 weeks)
- In case of objections the working group decides
- Design guidelines
- Use the template with all mandatory arguments
The template must be extended with an argument to link to the discussion as to grant that the proposal is preceded by a discussion
- Implement a seperate semcon for every rule
- Record on Dev:Semantic_Constraints/table
- numbering according to Dev:Semantic_Constraints/table
Distinctions within element documentation / Structure and usage of an Wiki page
- Position of XYZ in the XML-Tree:
- Shall contain the position of the element in the XML tree
- railML® 2: generated manual by the coordinator straightforward from the schema; no manual additions
- railML® 3: generated automatically by GWPS; no manual additions
- Criteria to be fulfilled for successful certification
- Multiplicity: straightforward from the schema – relevant for certification
- Semantics: Only the intention. No rules or explanations. Concise remarks like “not to be confused with” are allowed, if they explain the intention – not relevant for certification
- Attributes: No rules or explanations. Concise remarks like “not to be confused with” are allowed, if they explain the intention – not relevant for certification
- Syntactic constraints: straightforward from the schema – relevant for certification
- Semantic constraints: compare above – relevant for certification
- Best Practice Examples: for instance national rules and peculiarities; Code examples – not relevant for certification
- Open Issues: open discussions and unsolved problems – not relevant for certification
- Notes: Anything that does not fit into other paragraphs – not relevant for certification
- Where can you comment on the semantics in wiki3?
- GWPS = Gruschwitz' Wonderful Phython Script