External IDs and References
Description
The model of referencing in railML 3.x need to be updated/clarified. railML use cases require
- references between sub-schema data
- references to external data
- external data referencing the railML file
Considering the aim to make use of a modular data concept, it is necessary to realize references between different railML files on the basis of "stable" ID, e.g. UUID or register-entry relations.
Background
Links
- Forum discussion:
- Jörg von Lingen, 13.04.2019: [https://www.railml.org/forum/index.php?t=msg&th=657&start=0&]
- Trac tickets:
- #363 (closed)
- Wiki documentation:
Proposed solution for railML 3.x
There shall be two types of references:
- the classic xs:ID/xs:IDREF concept for references within one single railML file
- the extended designator concept, where a designator can either be specified with a register and an (register) entry or, alternatively, with an entry and a description.
The first option shall be used for file internal references. Its advantage: references can be validated by an XML validator, missing IDs (where only a reference exists) can be revealed.
The second option shall be used for file external references or UUID or register/entry designators. In these cases, the ID/designator is usually stable, i.e. it will not change in different railML files.