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

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.