FAQ

Underneath you can find a list of frequntely asked questions and their answers. Should you have a question which is not answered on this page, feel free to contact railML.org at any time.

What is the railML certification?

Question

What is the railML certification?

Answer

The railML certification was initiated to ensure the correct implementation of railML in applications/interfaces. This is important in order to ensure exchangability of data without errors or loss of data. For more information please visit the certification site.

Is railML equivalent to XML?

Question

Is the railML format equivalent to the XML fomrat?

Answer

No, railML is not equivalent to XML. railML (Railway Markup Language) is a dialect of XML (Extensible Markup Language).

This means that railML is designed according to the rules and strucutre of XML with a special focus on the representation of railway data (e.g. timetable, infrastructure, rolling stock, interlocking). railML is not compatible with every other XML dialect. For instance the ERA (European Railway Agency) introduced a RINF-XML, which is not compatible with railML.

In order to guaranatee railML exchangeability amongst all software with railML interface, a certification of all railML interfaces was introduced. 

It says <?xml version="1.0" encoding="UTF-8"?> in the railML scheme file. Does this means that it is railML version 1.0?

Question

It says <?xml version="1.0" encoding="UTF-8"?> in the railML scheme file. Does this means that it is railML version 1.0?

Answer

No, it doesn't. That is a pure XML line, railML only starts one line further down. It means that your railML-version is based on XML 1.0.

If it is OpenDocument or SVG, XML-schemas always start with a line like this.

Where can I find the version of a railML file?

Question

Where can I find the version of a railML file?

Answer

There are several places where one can recognize that it is railML 2.x - but unfortunately very indirectly only.

  1. Officially (by XML) this follows from "xsi:schemaLocation='http://www.railml.org/schemas/2009 railml.xsd'" where you indeed will have to know that 2.0 belongs to 2009 - if it would be 2.1 there would be written "2011". The relation between railML version numbers and railML namespace strings is listed here.
  2. In the second line if this attribute is written there (which is not mandatory by railML) and the writing software keeps to the rule to put the release version there.
  3. There are also the values infrastructure version='1.1.99' rollingstock version='2.0' timetable version='2.0' where the real railML versions are written. But as you can see they are different for the sub-schemes (infrastructure was then not yet at 2.0).
  4. If the railML files use the DC metadata as recommended, in the field 2.0.2 This is actually the scheme instance version which shall be a sub-version of (or identical to) the railML release version. So, normally it should start with the expected railML version.
Can I publish trains in HAFAS for which I have ordered slots from DB Netz via TPN with railML?

Question

After ordering the slots for my trains at DB Netz via their TPN, I still have to have a second interface to publish my trains (e. g. into HAFAS) because the TPN format of DB Netz does not support train coupling and sharing. Is railML usable for that?

Answer

Yes, it is — this gave us the impulse to develop railML 2 in 2009 ;)

I’ve got an XML file from DB Netz. Why can’t I use it with my railML interface?

Question

I’ve got an XML file from DB Netz about timetable changes (Fplo, ZvF). It looks like a railML file (because it starts with the same line). Why can’t I use it with my railML interface?

Answer

These are files from a different file format. They look similar to railML files because both standards are based on XML.

You can compare it to different languages using the same writing system. Iwrit and Yiddish may look the same to you because both use Hebrew letters. But knowing Iwrit won't help you a lot in understanding Yiddish and vice versa, as the first is a Semitic language, whereas the second is Germanic.

How much does the use of railML cost?

Question

How much does the use of railML cost?

Answer

railML is for free, but for exchanging data with third parties you have to certify your interface. You can read an outline on the terms here.