Dear all
To ensure readability of railML files coordinators approved sematic constraints given below on 2026-05-18. They are filed as IS:025 and IS:026 at https://wiki3.railml.org/wiki/Dev:SemanticConstraints.
IS:025: Each <netElement> must belong to exactly one <level>.
IS:026: Each <netRelation> must belong to exactly one <level>.
This follows existing practice of railML partners e.g. Hacon, Trafikverket and SBB.
Additionally, railML.org suggests introducing yet another semantic constraint:
IS:029: Each netRelation must reference netElements of the same level of aggregation.
Please let us know your doubts until 2026-07-21.
Sincerely,