Main Page

From railML 3 Wiki
Revision as of 10:56, 2 May 2024 by RailML Orga Ontology (talk | contribs) (grammar)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
RailML Trademark RGB V3.png
XML Railway exchange format
Latest release: 3.2
(April 26th, 2022)
Main Menu
XML tree
UML diagrams
Use cases
Versions & Changes
railML® 2 WikiRailTopoModel® Wiki

Welcome to the railML® 3 wiki / Willkommen im railML® 3-Wiki

railML® (railway Markup Language) is an open, XML based data exchange format for data interoperability of railway applications. For further information please visit the official project website or Wikipedia.

This wiki is dedicated to all Versions of railML® 3. A separate wiki for railML® 2 is available here. This wiki should support you in the development of railML® 3 interfaces and inform you about the basic elements and modelling concepts of the railML® 3 schema.

You are invited to contribute to this wiki and to the development of the railML® schema. Please, see our guideline "How to join the railML wiki" to get to know the standards of railML's wiki and the procedure for getting a writer's account. You can find further guidelines on railML® in section #Users_and_Developers_Guides.

This wiki is currently being kept only in English.

railML® (railway Markup Language) ist ein offenes, XML-basiertes Datenaustauschformat zur gegenseitigen Benützbarkeit der Daten von Anwendungen im Eisenbahnbereich. Für weitere Informationen besuchen Sie bitte die offizielle Projektwebsite oder Wikipedia.

Dieses Wiki ist sämtlichen Versionen von railML® 3 gewidmet. Ein separates wiki für railML® 2 finden Sie hier. Ziel dieses Wikis ist, Sie bei der Entwicklung von railML® 3-Schnittstellen zu unterstützen und Sie über die grundlegenden Elemente und Modellierungskonzepte des railML® 3-Schemas zu informieren.

Sie sind herzlich eingeladen, sich an der Entwicklung dieses Wikis sowie des railML®-Schemas zu beteiligen. Lesen Sie dazu bitte unseren Leitfaden How to join the railML® wiki, um sich mit den Standards des railML®-Wikis vertraut zu machen und die Vorgangsweise zur Erteilung eines Autorenaccounts kennenzulernen. Weitere Leitfäden, die railML® betreffen, finden Sie im Abschnitt #Users_and_Developers_Guides.

Dieses Wiki wird derzeit ausschließlich auf Englisch geführt.

Current railML® subschemas

Currently, there are two subschemas available for productive use: Infrastructure (IS) and Interlocking (IL). The Timetable and Rostering (TT) and Rollingstock (RS) subschemas are in active development and can be obtained for development and test purposes. Elements that do not fit into this structure are subsumed in the class Common (CO).

Open (external link) for a list of the current coordinators of the respective schemas and their contact data.

Further subschemas could potentially be developed according to the needs of the community.

Interlocking (IL)

→Main Article: Interlocking

The interlocking subschema will focus on information that infrastructure managers and signal manufacturing industry typically maintain in signal plans and route locking tables:

  • Data transfer: a standard data exchange format will allow the automation of data transfer, which is the process of adapting a railway interlocking and signaling system to a specific yard.
  • Simulation programs: the railML® IL schema allows modelers to quickly absorb information about the interlocking systems such as timing behavior and routes and analyze the impact on railway capacity.

The subschema is developed with the participation of some European infrastructure managers and the signal manufacturing industry based on RailTopoModel (external link). A list of use cases for the railML® interlocking schema can be found on page Category:Use case (IL).

Infrastructure (IS)

→Main Article: Infrastructure

The railML® Infrastructure subschema is focused on the description of the railway network infrastructure including all its various facets that are needed by the data exchange applications. In particular, the railML® infrastructure schema contains the following information:

  • Topology: The track network is described as a topological node edge model, partly explained by the Simple example.
  • Coordinates: All railway infrastructure elements can be located in an arbitrary 2- or 3-dimensional coordinate system, e.g. the WGS84 that is widely used by today's navigation software.
  • Geometry: The track geometry can be described in terms of radius and gradient.
  • Railway infrastructure elements: They enclose a variety of railway relevant assets that can be found on, under, over or next to the railway track, e.g. balises, platform edges, and level crossings.
  • Further located elements encompass elements that are closely linked with the railway infrastructure, but that "cannot be touched", e.g. speed profiles and track conditions.

A list of use cases for the railML® infrastructure schema can be found on page Category:Use case (IS).

Rollingstock (RS)

→Main Article: Rollingstock

The rollingstock subschema is part of the complete railML® schema providing a data structure in XML language for the exchange of railway specific data.

The rollingstock schema provides a container for all data about any kind of rail vehicle including locomotives, multiple units, passenger and freight wagons. The second part of the schema enables the combination of single vehicles to formations as a fixed composition within a train or an entire train. It is intended to use this data schema for vehicle management as well as for detailed run-time calculations.

The Rollingstock schema comprises the following features:

  • separate parts for vehicles and for train parts or complete trains
  • possible specification of vehicle families and individual vehicles using the common features of the family
  • different level of detail for data
  1. vehicles as black boxes (with respect to dynamic characteristics) with only mean values
  2. vehicles as black boxes (with respect to dynamic characteristics) with curves for particular values being variable within the operating range
  3. vehicles as white boxes with details about the internal propulsion system
  • vehicles with motive power, for passenger or freight use
  • combination of vehicles to formations, i.e. train parts or complete trains

Timetable and Rostering (TT)

→Main Article: Timetable and Rostering

The timetable subschema is part of the complete railML® schema providing a data structure in XML for the exchange of railway specific data. It is the subschema that is most widely used.

The timetable subschema is used for all data necessary to exchange any kind of timetable for operational or conceptional purposes including the following information:

  • Operating Periods: The operating days for train services or rostering.
  • Train Parts: The basic parts of a train with the same characteristics such as formation and operating period. The train part includes the actual information regarding the path of the train as a sequence of operation or control points together with the corresponding schedule information.
  • Trains: One or more train parts make up a train and represent either the operational or the commercial view of the train run.
  • Connections: The relevant connections/associations between trains at a particular operation or control point.
  • Rostering: Train parts can be linked to form the circulations necessary for rostering (rolling stock schedules).

A list of use cases for the railML® timetable schema can be found on page Category:Use case (TT).

Common (CO)

→Main Article: Common

The Common class shall cover all topics, which affect all other railML-schemas alike.

The actual planned tasks and enhancements can be found in the railML® 2 ticket system and the railML® 3 ticket system respectively.

Please note that 2023-04-24 Common was split into Common and Generic due to technical reasons [1]


→Main Article: Codelists

Certain attributes require a choice from a vast, highly standardized but shifting set of values. For instance, there are many regional clearance gauge standards (external link). As to facilitate the usage and update of the sets, this Information is outsourced into codelists outside the railML® schema.

The codelists are identically available for railML® 2 and railML® 3.


The current railML® 3 version is 3.2. For railML® 2 see here. For more details see our version timeline (link to the railML® website). The development of railML® 3 can be tracked on (link to the railML® website). railML® is licensed dually under a restricted form of the Creative Commons License CC-BY-NC-ND and a commercial license. An overview of the regarding licenses can be found under (link to the railML® website).

Users and Developers Guides


Feel free to direct any comments, questions or remarks to the coordinators of railML®.

For our contact information see Contact


Enjoy the Wiki!