Main Page

From railML 2 Wiki
Jump to navigation Jump to search
RailML Trademark RGB V2.png
XML Railway exchange format
Latest release: 2.5
(September 1st, 2021)
Main Menu
XML tree
UML diagrams
Use cases
Versions & Changes
railML® 3 WikiRailTopoModel® Wiki

Welcome to the railML® wiki / Willkommen im railML®-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 the wikipedia railML® article (Wiki banner.png).

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

This wiki is being kept in English. Some information is provided additionally also in German. 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.

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 den Wikipedia-Artikel über railML® (Wiki banner.png 🇩🇪).

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

Dieses Wiki wird auf Englisch geführt. Einzelne Informationen stellen wir außerdem auf Deutsch zur Verfügung. 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.

Current railML® 2 subschemas

There are three subschemas for productive use: Infrastructure (IS), Timetable and Rostering (TT) and Rollingstock (RS). Elements that are needed by all subschemas or do not fit into this structure are subsumed in the class Common (CO). Please contact the coordinator of the respective schema (see (link to the railML® website)) for questions and enquiries. Additional subschemas will be developed only in the railML® 3 domain. Please, frame the regarding suggestions and contributions to this end.

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

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

Common (CO)

→Main Article: Common

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

The currently planned tasks and enhancements can be found in the railML® 2 ticketing system (link to the railML® website).


→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®2 version is 2.5. For more details see our version timeline (link to the railML® website). An overview of the regarding licenses can be found under (link to the railML® website). To learn about the version history and the changes between the respective versions see Dev:changes.

Users and Developers Guides

→Main Article: Dev:Guides

Using and developing railML®

Improving the Wiki


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

For our contact information see Contact

Enjoy the Wiki!