The growing number of computer applications modeling different aspects of railway operations, with different operators developing separate solutions parallelly, bore a chronic difficulty of connecting different railway IT applications.2 The exchange of data for operation concepts, slot management, simulation or infrastructure planning, etc. was possible either by hand or with a lot of special developed interfaces with loss of time and cost problems for railway companies.3 If there are n applications that are supposed to exchange data, with a special interface for each pair of programs respectively, n ⋅ ( n − 1 ) 2 {\displaystyle {\frac {n\cdot (n-1)}{2}}} interfaces are required—only one, if n=2, but 10, if n=5—increasing the complexity above average.4
This problem can be mitigated by means of enterprise application integration5 with a single, universal exchange format that is supported by all applications and meets the needs of all kinds of data exchange in the field of railway operation: The number of required interfaces decreases to n—one interface to the exchange format for each application respectively. railML tries to place at disposal a free and self-describing format close to existing standards.6 The paradigm is to meet the demands of the data exchange processes of railways, industry and authorities rather than describing the complete railway system.7
The development of railML was initiated in early 2002 by the Fraunhofer-IVI (Dresden, Germany) and the ETH Zürich – IVT (Zurich, Switzerland) against the background of the chronic difficulty of connecting different railway IT applications.8 railML is changed and adapted to the needs of railway infrastructure managers (IMs) and railway undertakings (RUs) within discussions.910 The first stable version 1.0 was released in 2005 for productive usage.11 Up to now the versions 1.0; 1.1; 2.0 to 2.5 were released for download and productive use. railML's version 3, incorporating a new topology model based on the RailTopoModel, underwent development starting in mid-2015. The beta version was released in mid-2016,12 followed by the full release of version 3.1 for productive use in February 2019. The schema evolved further, with version 3.2 being released in 2022, and the latest version 3.3, launched in 2024, based on RailTopoModel v1.5. This version introduced new enhancements, consolidating the evolution of the railML format. Additionally, in 2015, viewer and validator for railML data, named railVIVID, was released.
railML (railway mark-up language) is a common exchange format, which employs XML for the description of rail-specific data. railML enables the exchange of railway data between internal and external railway applications. railML is developed within the so-called “railML consortium” from railML.org. The model language of railML is UML and the documentation language is English. Every railML developer and user is invited to contribute or propose schema extensions.
Applications can exchange data via railML either via exporting respectively importing railML files, or as a direct inter-process communication via TCP/IP.13
The usage of railML is possible at no charge as long as users register at railML.org, do not redistribute or modify the code, and do not use railML commercially. It is a free data exchange format but not open due to being licensed under a heavily restricted and non-permissive Creative Commons license.
Versions 0.x and 1.x were licensed under a proprietary license, where version 0.x was intended only for internal use and shared within the consortium.14
Version 2.0 to 2.2 used to be licensed with the Creative Commons license CC-BY-NC-SA until June 2013. Since July 2013 all versions from 2.0 onward were offered parallelly either with a commercial usable CC-BY-ND (V 3) license or with a restricted CC-BY-NC-ND (V 3) license. The organization behind railML claims that the restrictions preventing redistribution and modifications are for quality control purposes, the means of which is requiring application developers to purchase a certification.15
Version 3.x is licensed under the same Creative Commons conditions, but in CC version 4.0. With this railML.org adapts the enhancements made by CC and garanties schema user the same usage rights as in previous years and railML versions.16
The Logo and the word railML are a registered as trademarks by the railML consortium at the EUIPO.17
Legal entity for the so-called railML consortium is the railML.org e.V. a registered non-profit association by German law (registration number VR 5750 at the local court in Dresden/Germany) since April 23, 2012.
railML is based on XML and sub-areas use other existing XML-schemas such as MathML and GML. It is composed of sub-schemas. Through version 2.4, three sub-schemas are in productive use:
Since railML version 3.1 an additional sub-schema was introduced due to the demand of the community:
Additional sub-schemas are station facilities (ticket machines, waiting rooms, vending machines, etc.) or crew rostering (shift planning/rosters and working time management for conductors, etc.) are currently on hold, as there is no demand from the users.
This sub-schema serves the exchange of detailed timetables. Particularly, the schema is designed for the following information:18
The focus of this sub-schema is the infrastructure of railway networks.19 Important aspects are:
While the Infrastructure sub-schema is focused on immobile assets, Rolling stock describes assets circulating in the network.20
Example for a time table formulated in railML21
Line 3 expresses that the employed railML-version is 1.1.
Line 4 bears the train code.
Lines 5 and 15 frame the itinerary with, in this case, 8 itinerary entries.
The itinerary entries in line 6 to 14 have arguments like position ID (e.g. a station), time of departure or arrival, and in line 9 an obligation to stop.
At the beginning the most employed usage of railML data was timetable data40 for passenger information, duty planning for conductors and drivers and timetable simulation, following the usage of railML data for interlocking planning and infrastructure like network statements of IM's.
Applications using railML version 2.x include a lot of timetable related programmes like OpenTrack (interactive railway simulator41), FBS (planning software for railway operation42), Viriato (scheduling system43) and OpenTimeTable (real time analysis of network operation data44). Applications using railML version 3.x include additionally BIM related infrastructure planning software like VIS All 3D45 or railway survey systems like GPSinfradat.46
A complete list of programmes with (certified) interfaces is available at railML's website of compatible applications.
railVIVID® is an advanced tool for viewing and validating railML® files. The versatility of railVIVID allows users to visualise and validate a range of railway data, including timetable, infrastructure, rolling stock data:47
railVIVID is available via railML.org's website under licence terms similar to those of the railML schema.48
The development of railML is driven by the railML.org initiative, a development partnership of independent companies and organizations and European railways. The participation on the development and semi-annual conferences to exchange experience and discuss basics is open. The continuous development work is mainly internet-based (German and English forums). The organisation of the discussions is managed by so-called railML Coordinators. The railML.org Consortium membership is mandatory for the download and usage of railML schemas. Obtaining a commercial certification is required before any commercial or productive use of software interfaces for the format.49
Members of railML.org are currently:50
A complete and updated list is published at the website of railML.org community.
railML.org works in the ERIM (abbreviation for European Rail Infrastructure Masterplan51) project of the International Union of Railways (UIC) for the development of RailTopoModel as a common data model in the railway sector.52 Also railML.org cooperates with Eurocontrol and European Union Agency for Railways.
[1], p. PA4, at Google Books https://books.google.com/books?id=BbWtfTuTHwcC&pg=PAPA4 ↩
"RailTopoModel and railML®" (PDF). uic.org. Retrieved 2016-01-26. http://www.uic.org/IMG/pdf/160913_erimworkgroup_presentationerimpresentationparis170913.pdf ↩
"Daten für PSItraffic: Standardisiertes Datenmanagement mit railML® und dem UIC RailTopoModel" (PDF). psitrans.de. Archived from the original (PDF) on 2016-03-06. Retrieved 2015-10-20. https://web.archive.org/web/20160306124822/http://www.psitrans.de/fileadmin/files/pictures/PSI_Transcom/VT/Messen/Vortr%C3%A4ge_Anwendertag/Standardisiertes_Datenmanagement_mit_RailML_Vasco_Paul_Kolmorgen.pdf ↩
Nash, Andrew; Huerlimann, Daniel; Schuette, Joerg; Kolmorgen (Krauss), Vasco Paul (2004). RailML – A standard data interface for railroad applications (PDF). Dresden: Proc. of the 9th International Conference on Computer in Railways (Comprail IX), WIT Press, Southampton, United Kingdom. https://www.railml.org/files/download/papers/090104_huerlimannnashschuettekrauss.paper.comprail.pdf ↩
[2], p. PA5, at Google Books https://books.google.com/books?id=BbWtfTuTHwcC&pg=PAPA5 ↩
"5th UIC RailTopoModeland railML® Conference" (PDF). railML. 2016-02-01. p. 29. Archived from the original (PDF) on 2019-02-09. Retrieved 2017-05-06. https://web.archive.org/web/20190209180721/https://www.railml.org/files/download/events/Presentations%20conferences/5th%20UIC%20RTM/2015-11-04_status.pdf ↩
[3], p. PA6, at Google Books https://books.google.com/books?id=BbWtfTuTHwcC&pg=PAPA6 ↩
"Licence – railML.org (EN)". railml.org. Retrieved 2023-05-25. http://www.railml.org/en/user/licence.html ↩
Augele, Vivian (2019-01-29). "railML Licence: Minor Changes come with railML3". www.railML.org. railML.org; Dresden/Germany. Retrieved 2019-03-23. https://www.railml.org/en/public-relations/news/reader/railml-licence-minor-changes-come-with-railml3.html ↩
"Timetable – railML.org (EN)". railml.org. Retrieved 2016-01-26. http://www.railml.org/en/user/subschemas/timetable.html ↩
"Infrastructure – railML.org (EN)". railml.org. Retrieved 2016-01-26. http://www.railml.org/en/user/subschemas/infrastructure.html ↩
"Rollingstock – railML.org (EN)". railml.org. Retrieved 2016-01-26. http://www.railml.org/en/user/subschemas/rollingstock.html ↩
Susanne Wunsch, Vasco Paul Kolmorgen; et al. (18 September 2013). "News of railML common parts on 24th railML.org meeting" (PDF). The railML.org initiative. railML.org e.V.; Dresden/Germany. p. 6. Retrieved 21 May 2017. http://documents.railml.org/events/slides/2013-09-18_wunsch-common-news.pdf ↩
Kolmorgen, Vasco Paul (2019-06-30). "Schema Planning and Lifecycle Policy / V2.2 Support Termination". railML.org News. Retrieved 2023-05-25. https://www.railml.org/en/public-relations/news/reader/schema-planning-and-lifecycle-policy.html ↩
Kolmorgen, Vasco Paul (2021-06-21). "Announcement of the end of support for railML 2.3". railML.org News. Retrieved 2023-05-25. https://www.railml.org/en/public-relations/news/reader/announcement-discontinuation-of-railml-2-3.html ↩
"railML Version Timeline". railML.org Website. Retrieved 2024-12-19. https://www.railml.org/en/version-timeline ↩
"Version Timeline – railML.org (EN)". railml.org. Retrieved 2021-10-04. https://www.railml.org/en/developer/version-timeline.html ↩
Mkinsi, Hakim (2023-03-23). "The future of rail is intelligent. Data collection and exchange are key". ISO Geneve/Switzerland (pdf). Retrieved 2023-05-25. https://www.iso.org/home.isoDocumentsDownload.do?t=HMRcodPqUtRGks5Bk6-RNe_ENRTQDVkQbd00ZUCbZlvBeNpuN-iCBsOn4GtM_A2O&CSRFTOKEN=ZP8N-I9H2-UT1K-PUNC-GTCA-SP9D-21V5-N1W2 ↩
Augele, Vivian (2017-11-15). "Public Presentation of railML 3.1 during 32nd railML Conference". railML.org News. Retrieved 2017-11-25. https://www.railml.org/en/public-relations/news/reader/public-presentation-of-railml-3-1-32nd-railml-conference.html ↩
"OpenTrack Railway Technology – Eisenbahnsimulation". opentrack.ch. Retrieved 2015-10-20. http://www.opentrack.ch/opentrack/opentrack_d/opentrack_d.html ↩
Christian Roessiger (15 September 2016). "railML Schnittstelle – Institut für Regional- und Fernverkehrsplanung" (in German). iRFP e.K.; Dresden/Germany. Retrieved 21 May 2017. http://www.irfp.de/railml-schnittstelle.html ↩
"Software für die Eisenbahn". sma-partner.ch. Retrieved 2015-10-20. http://www.sma-partner.ch/de/loesungen/viriato-und-zlr/uebersicht/ ↩
"OpenTimeTable". via-con.de. Archived from the original on 2017-04-18. Retrieved 2015-10-20. https://web.archive.org/web/20170418144636/http://www.via-con.de/development/open-timetable-ott ↩
"VIS-All® 3D- der einfache Weg in die 3D-Welt!". Software-Service John (in German). Retrieved May 21, 2017. http://www.john-software.de/produkte/vis-all-3d ↩
"GPSinfradat". Bahnkonzept Dresden/Germany. Retrieved 2019-04-19. https://www.bahnkonzept.de/en/compendium ↩
"railVIVID – railML.org (EN)". railml.org. Retrieved 2025-03-06. https://www.railml.org/en/railvivid ↩
"Licence Terms – railML.org (EN)". Retrieved 2025-03-06. https://www.railml.org/en/licence ↩
"Certification – railML.org (EN)". www.railml.org. Retrieved 2019-04-19. https://www.railml.org/en/certification.html ↩
"Partners – railML.org (EN)". railml.org. Retrieved 2016-01-26. http://www.railml.org/en/introduction/partners.html ↩
"Functioning of railML.org and RailTopoModel – railML.org (EN)". www.railml.org. https://www.railml.org/en/public-relations/news/reader/functioning-of-railml-org-and-railtopomodel.html ↩
"UIC e-news 362: The foundation for a Universal Infrastructure Data Exchange Format". November 30, 2014. http://www.uic.org/com/uic-e-news/362/ ↩