Main Page

Revision as of 16:02, 3 June 2019 by Ferri Leberl (talk | contribs) (Versions)
Jump to: navigation, search
XML Railway exchange format
Latest release: 2.4
(October 7th, 2018)
Main Menu
XML tree
Use cases
Versions & Changes
Note.png This wiki is dedicated to all Versions of railML® 2.

A separate wiki for railML® 3 is currently under development. Please contact for enquiries in the meantime.

Welcome to the railML® wiki / Willkommen im railML®-Wiki / Bienvenue au Wiki du railML®

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 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. At certain points information is provided additionally also in German and/or French. 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 Wikipedia.

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 und Französisch 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.

railML® (railway Markup Language) est un format public, fondé sur XML et destiné à l’échange de données ferroviaires, en vue de l’interopérabilité des applications informatiques. Pour plus d’informations, veuillez consulter la page de projet officielle dans Wikipedia.

Le présent wiki vous aidera à développer des interfaces railML®, notamment en vous présentant les éléments de base et les concepts fondamentaux du schéma railML®.

Ce wiki est tenu en anglais. Des informations particulières sont parfois fournies en français ou en allemand. Vous êtes invité(e) à contribuer à ce Wiki, ainsi qu'au schéma railML® correspondant : veuillez consulter notre guide "How to join the railML® wiki", qui vous indiquera les règles applicables au wiki, ainsi que la marche à suivre pour y contribuer en tant qu’auteur. D'autres guides concernant railML® sont accessibles dans la section #Users_and_Developers_Guides.

Current railML® subschemas

Currently there are three subschemas for productive use: Infrastructure (IS), Timetable and Rostering (TT) and Rollingstock (RS). The Interlocking subschema (IL) is in active devellopment and can be obtained for devellopment 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.

The railML® community has plans for two further subschemas:

  • Shift planning: Additional to (vehicle) rosterings, there are ideas for implementing (personnel) shift planning.
  • Station asset management and properties: A schema for station databases, asset management and properties was developed in the early 2000's but place on hold due to the very limited use cases at this time. With a focus to the upcoming TSI PRM (external link) a reopening of the development might be started depending from sectors needs.

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 togehter 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 particulare operaton or control point.
  • Rostering: Train parts can be linked to form the circulations necessary for rostering (rolling stock schedules).

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 container for all data about any kind of rail vehicles 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. vehicle as black box (with respect to dynamic characteristics) with only mean values
  2. vehicle as black box (with respect to dynamic characteristics) with curves for particular values being variable within the operating range
  3. vehicle as white box 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

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 signalling system to a specific yard.
  • Simulation programs: the railML® IL schema allows modellers to quickly absorb information about the interlocking systems such as timing behaviour and routes and analyse the impact on railway capacity.

The subschema is currently under development with participation of some European infrastructure managers and the signal manufacturing industry based on railML 3 and UIC's RailTopoModel. A list of use cases for railML's interlocking scheme can be found here IL:UseCases.

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 at Trac-Tickets of the railML development space.


→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 current railML® version is 2.4 resp. 3.1 – for more details see our version timeline (link to the railML® website). It is licensed dually under a restricted form of the Creative Commons licence (external link) CC-BY-NC-ND and a commercial licence. To learn about the version history and the changes between the respective versions see Dev:changes.

Related Projects

There exist two closely related projects:

  • RailTopoModel® (external link): a logical object model to standardise the representation of topological infrastructure related data. railML® version 3.x will be based on RailTopoModel®, as to allow for consistently including topological data into railML® files.
  • railVIVID®: a software to visualize and validate railML® files.

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!