Dev:Codelists

From railML 3 Wiki
Jump to navigation Jump to search

railML® provides a number of XML codelists. From version 2.3 onwards, they are organized and actualized separately from the schema. Your railML® download may contain the codelists in a directory codelists, next to documentation and schema. These codelists reflect the state of the codelists at the time of the publication of the respective railML® version.

If your download does not contain our codelists (as is usual in railML® 3) or if you need the most current codelists, you can retrieve them from https://development.railml.org/railml/shared/-/tree/master/codelists (link to the railML® website)

Concept

The code lists are intended to address certain frequently used entities with a single code, as to avoid repetitious work as well as ambiguity errors. For instance in railML® 2, using <infrastructureManager>, you can address the Austrian Federal Railways (external link) (ÖBB) with their code ÖBB: <infrastructureManager code=ÖBB>. In this way, you inherit all information that is collected about the ÖBB in the code list, in this case name, country code and company code:

<infrastructureManager code="ÖBB">
  <name>ÖBB Infra</name>
  <isoCountryCode>AT</isoCountryCode>
  <companyCode>0081</companyCode>
</infrastructureManager>

Moreover, the separation of schema and codelists allows actualizing the codelists in very short cycles.

Missing entries

Are you missing an entry? Did you find a mistake? We try to serve you with current, comprehensive and correct codelists and will try to add necessary entries as soon as possible. The actualization of the codelists does not follow the usual railML® actualization cycles (link to the railML® website) but happens in short terms.

Current codelists

The current codelists are:

InfrastructureManagers

→Main Article: Codelist InfrastructureManagers

The list InfrastructureManagers.xml contains infrastructure managing companies. The items are named <infrastructureManager> with the following specification:

  • Attributes
    • code: a code, that should be referred to from within an railML file, typically a short name for the infrastructure manager in latin letters. In railML® 2, it links the railML® element <infrastructureManager> with the code list.
  • Children
    • <name>: The company name, with attribute
    • <isoCountryCode>: The two-digit country code of the company according to ISO 3166-1 alpha-2] (external link).
    • <companyCode>: Company codes according TAF TAP TSI B.8 or UIC IRS/leaflet 920-1:2006.

For an example entry see #Concept.

Registers

→Main Article: Codelist Registers

The file Registers.xml contains a list of railway related registers, databases, handbooks etc. The items are named <register> with the following specification:

  • Attributes
    • code: A code, that should be referred to from within an railML® file
  • Children
    • <name>: Internationalized name of the operation or control point register
    • <organization>: Organization name that is responsible for the register
    • <remarks>: Internationalized remarks for the operation or control point register

TrainClearanceGauges

→Main Article: Codelist TrainClearanceGauges

TrainClearanceGauges.xml delivers a list of clearance gauge standards (external link). It provides data related to a particular train clearance gauge class. The items are named <trainClearanceGauge> with the following specification:

  • Attributes
    • code: A code, that should be referred to from within a railML file, typically a short name for the train clearance gauges in latin letters
  • Children
    • <description>: Internationalized name of the clearance gauge.
    • <validFor>: Gives indication, whether the clearance gauge is valid for only a national, several national or all TSI-compliant networks.

TrainProtectionSystems

→Main Article: Codelist TrainProtectionSystems

TrainProtectionSystems.xml delivers a list of train protection systems (external link). It provides two container elements for track bound systems and train bound systems respectively:

At track

  • <trainProtectionSystemsAtTrack>: Container for train protection systems, installed "at the track"
    • <trainProtectionSystem>: Single entries for each train protection system, installed "at track"
      • code: A code that should be referred to from within an railML file, typically a short name for the train protection system in latin letters.
      • <name>: Name of the system.
      • <validFor>: If the code for the system differs between vehicle and track installation, put the mapping in this container element.
        • <vehicleSystem>: Train protection system code of the according vehicle system.

On Vehicle

  • <trainProtectionSystemsOnVehicle>: Container for train protection systems, installed "on the vehicle"
    • <trainProtectionSystem>: Single entries for each train protection system, installed "on vehicle"
      • code: A code, that should be referred to from within an railML file, typically a short name for the train protection system in latin letters.
      • <name>: Name of the system.
      • <validFor>: If the code for the system differs between vehicle and track installation, put the mapping in this container element.
        • <trackSystem>: Train protection system code of the according track system.