Dev:Codelists: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rml}} provides a number of XML '''codelists'''. From version 2.3 onwards, they are organized and actualized separately from the schema.  Your {{rml}} download will usually contain the codelists in a directory ''codelists'', next to documentation and schema. The separation of schema and codelists allows actualizing the codelists in very short cycles.
{{rml}} provides a number of XML '''codelists'''. From version 2.3 onwards, they are organized and actualized separately from the schema.  Your [[Dev:Downloading and using railML|{{rml}} download]] will usually 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 {{rml}} version.
 
For the current codelist see {{site|https://svn.railml.org/railML2/trunk/codelists|domain=svn}}.
==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, using {{CO:Tag|infrastructureManager|infrastructureManagerCodes}}, you can address the {{external|https://en.wikipedia.org/wiki/Austrian_Federal_Railways|Austrian Federal Railways}} (Ö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:
<syntaxhighlight lang="xml">
<infrastructureManager code="ÖBB">
  <name>ÖBB Infra</name>
  <isoCountryCode>AT</isoCountryCode>
  <companyCode>0081</companyCode>
</infrastructureManager>
</syntaxhighlight>
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 {{rml}} actualization cycles but happens in short terms.
 
* Inform the {{rml}} coordinator about a missing, incomplete or faulty entry — see {{site|https://www.railml.org/en/user/subschemes.html}} for the contact data.
* The coordinator will check your supplements and, where appropriate, include them into the regarding code list.
* The actualized codelist will be published in the SVN under {{site|https://svn.railml.org/railML2/trunk/codelists|domain=svn}}.
 
==Current codelists==
==Current codelists==
The current codelists are:
The current codelists are:
===InfrastructureManagers===
===InfrastructureManagers===
The list contains infrastructure managing companies. The items are named <infrastructureManager> with the following specification:
The list [[InfrastructureManagers.xml]] contains infrastructure managing companies. The items are named <infrastructureManager> with the following specification:
*Attributes
*Attributes
**{{attr|code}}: a code, that should be referred to from within an railML file, typically a short name for the infrastructure manager in latin letters. It links the {{rml}} element {{CO:Tag|infrastructureManager}} with the code list.
**{{attr|code}}: a code, that should be referred to from within an railML file, typically a short name for the infrastructure manager in latin letters. It links the {{rml}} element {{CO:Tag|infrastructureManager|infrastructureManagerCodes}} with the code list.
*Children
*Children
**<name>: The company name, with attribute {{attr|}}
**<name>: The company name, with attribute {{attr|}}
**<isoCountryCode>: The two-digit country code of the company according to [https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2].
**<isoCountryCode>: The two-digit country code of the company according to {{external|https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2|ISO 3166-1 alpha-2]}}.
**<companyCode>: Company codes according TAF TAP TSI B.8 or UIC IRS/leaflet 920-1:2006.
**<companyCode>: Company codes according TAF TAP TSI B.8 or UIC IRS/leaflet 920-1:2006.
For an example entry see [[#Concept]].
===Registers===
===Registers===
A list of registers, databases, handbooks etc. The items are named <register> with the following specification:
The file [[Registers.xml]] contains a list of railway related registers, databases, handbooks etc. The items are named <register> with the following specification:
*Attributes
*Attributes
**{{attr|code}}: A code, that should be referred to from within an {{rml}} file
**{{attr|code}}: A code, that should be referred to from within an {{rml}} file
Line 18: Line 41:
**<organization>: Organization name that is responsible for the register
**<organization>: Organization name that is responsible for the register
**<remarks>: Internationalized remarks for the operation or control point register
**<remarks>: Internationalized remarks for the operation or control point register
;Example entry
<syntaxhighlight lang=xml>
<register code="RL100">
<name xml:lang="de-DE">Betriebsstellenverzeichnis</name>
<organization xml:lang="de-DE">DB</organization>
<remarks xml:lang="de-DE">auch/früher als DS100 oder Ril100 bezeichnet</remarks>
<remarks xml:lang="en">also/former known as DS100 or Ril100</remarks>
</register>
</syntaxhighlight>
===TrainClearanceGauges===
===TrainClearanceGauges===
A list of [https://en.wikipedia.org/wiki/Loading_gauge clearance gauge] standards. It provides data related to a particular train clearance gauge class. The items are named <trainClearanceGauge> with the following specification:
[[TrainClearanceGauges.xml]] delivers a list of {{external|https://en.wikipedia.org/wiki/Loading_gauge|clearance gauge standards}}. It provides data related to a particular train clearance gauge class. The items are named <trainClearanceGauge> with the following specification:
*Attributes
*Attributes
**{{attr|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
**{{attr|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
Line 25: Line 58:
**<description>: Internationalized name of the clearance gauge.
**<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.
**<validFor>: Gives indication, whether the clearance gauge is valid for only a national, several national or all TSI-compliant networks.
;Example entry
<syntaxhighlight lang=xml>
<trainClearanceGauge code="GA">
<description>stucture gauge GA according European standard</description>
<validFor>interoperable</validFor>
</trainClearanceGauge>
</syntaxhighlight>
===TrainProtectionSystems===
===TrainProtectionSystems===
List of [https://en.wikipedia.org/wiki/Train_protection_system train protection systems]. It provides two container elements for track bound systems and train bound systems respectively:
[[TrainProtectionSystems.xml]] delivers a list of {{external|https://en.wikipedia.org/wiki/Train_protection_system|train protection systems}}. 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"
*<trainProtectionSystemsAtTrack>: Container for train protection systems, installed "at the track"
**<trainProtectionSystem>: Single entries for each train protection system, installed "at track"
**<trainProtectionSystem>: Single entries for each train protection system, installed "at track"
Line 33: Line 75:
***<validFor>: If the code for the system differs between vehicle and track installation, put the mapping in this container element.
***<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.
****<vehicleSystem>: Train protection system code of the according vehicle system.
;Example entry
<syntaxhighlight lang=xml>
<trainProtectionSystem code="Crocodile">
<name/>
<validFor>
  <vehicleSystem>Crocodile</vehicleSystem>
  <vehicleSystem>Memor</vehicleSystem>
  <vehicleSystem>Memor2</vehicleSystem>
</validFor>
</trainProtectionSystem>
</syntaxhighlight>
====On Vehicle====
*<trainProtectionSystemsOnVehicle>: Container for train protection systems, installed "on the vehicle"
*<trainProtectionSystemsOnVehicle>: Container for train protection systems, installed "on the vehicle"
**<trainProtectionSystem>: Single entries for each train protection system, installed "on vehicle"
**<trainProtectionSystem>: Single entries for each train protection system, installed "on vehicle"
Line 39: Line 93:
***<validFor>: If the code for the system differs between vehicle and track installation, put the mapping in this container element.
***<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.
****<trackSystem>: Train protection system code of the according track system.
;Example entry
<syntaxhighlight lang=xml>
<trainProtectionSystem code="CIR-ELKE2">
<name/>
<validFor>
  <trackSystem>LZB</trackSystem>
  <trackSystem>CIR-ELKE</trackSystem>
  <trackSystem>CIR-ELKE2</trackSystem>
</validFor>
</trainProtectionSystem>
</syntaxhighlight>
[[category:Common Concept]]

Revision as of 17:35, 19 February 2018

railML® provides a number of XML codelists. From version 2.3 onwards, they are organized and actualized separately from the schema. Your railML® download will usually 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.

For the current codelist see https://svn.railml.org/railML2/trunk/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, 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 but happens in short terms.

Current codelists

The current codelists are:

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. 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

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
Example entry
<register code="RL100">
 <name xml:lang="de-DE">Betriebsstellenverzeichnis</name>
 <organization xml:lang="de-DE">DB</organization>
 <remarks xml:lang="de-DE">auch/früher als DS100 oder Ril100 bezeichnet</remarks>
 <remarks xml:lang="en">also/former known as DS100 or Ril100</remarks>
</register>

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.
Example entry
<trainClearanceGauge code="GA">
 <description>stucture gauge GA according European standard</description>
 <validFor>interoperable</validFor>
</trainClearanceGauge>

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.
Example entry
<trainProtectionSystem code="Crocodile">
 <name/>
 <validFor>
  <vehicleSystem>Crocodile</vehicleSystem>
  <vehicleSystem>Memor</vehicleSystem>
  <vehicleSystem>Memor2</vehicleSystem>
 </validFor>
</trainProtectionSystem>

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.
Example entry
<trainProtectionSystem code="CIR-ELKE2">
 <name/>
 <validFor>
  <trackSystem>LZB</trackSystem>
  <trackSystem>CIR-ELKE</trackSystem>
  <trackSystem>CIR-ELKE2</trackSystem>
 </validFor>
</trainProtectionSystem>