Technische Hinweise für Entwickler
-
Hintergrundinformationen zur Implementierung
Bitte beachten Sie, dass eine Nutzung des railML-Standards nicht automatisch bedeutet, dass zwei Programme mit Sicherheit fehlerfrei Daten austauschen können. Das liegt einerseits daran, dass der railML-Standard zwar die allgemeine Struktur von Infrastruktur- und Fahrzeugdaten definiert - jedoch sind zum Einen der Umfang der Daten (die Vollständigkeit) und zum Anderen die Details einiger spezieller Daten allein durch railML nicht zweifelsfrei definiert. Aus diesem Grund gibt es eine spezielle Schnittstellenbeschreibung für die FBS-Implementierung des railML-Formats. Hierin werden die konkret von FBS verwendeten Datenfelder und deren Inhalt beschrieben.
-
An Entwickler von RailML-Import-Schnittstellen, die (auch) RailML-Dateien aus FBS einlesen können sollen: Voreinstellung von Export-Optionen
Üblicherweise bestehen je nach Anwendungsfall individuelle Anforderungen an Inhalte von RailML-Dateien. Diese können i.d.R. beim Export vom Anwender eingestellt werden. Wegen der vielfältigen Optionen besteht die Möglichkeit, für bestimmte Anwendungsfälle (Programm-Paarungen wie z.B. "Export aus FBS zur Fahrgastinformation mit ...") konkrete Voreinstellungen fest zu hinterlegen, sodass inhaltliche Abhängigkeiten festgesetzt sind bzw. durch FBS bereits beim Export geprüft werden. Wenn Sie eine Import-Schnittstelle entwickeln, bitten wir Sie, mit uns Kontakt aufzunehmen zur Abstimmung der notwendigen Inhalte und eventuellen Voreinstellung der Optionen in FBS. Wir bitten Sie ebenfalls das nachfolgende Formular in Bezug auf die Voreinstellungen sinngemäß auszufüllen und an uns zu senden.
Formular Voreinstellungen für FBS-railML-Export (PDF)
-
Profil-Versionen der FBS-railML-Schnittstelle
Seit Mai 2012 kann außer dem Format railML 2.0 testweise auch das Format railML 2.1 aus FBS ausgegeben werden. Die Kompatibilität des FBS-Profils der Schemendateien zu den allgemeinen RailML-Schemen ist bei Version 2.1 etwas höher, dies ist jedoch mit inhaltlichen Einschränkungen gegenüber Version 2.0 verbunden (betrifft insbesondere Betriebsstellen-Nummern und eindeutige Bezeichnung von Strecken). Insgesamt empfehlen wir daher nicht die Verwendung von Version 2.1. Insbesondere ist die FBS-railML-2.1-Schnittstelle nicht für den Produktiveinsatz vorgesehen und kommerziell lizenziert.
Mit railML 2.2 wurden die noch bestehenden Beschränkungen aufgehoben, sodass wir hierin einen vollwertigen und vollständig kompatiblen Nachfolger von railML 2.0 sehen. Seit April 2012 befand sich die railML-Version 2.2 in einer Vorab-Implementierungsphase bei iRFP. Erste Test-Exporte von FBS-railML-2.2-Daten waren seit Mai 2012 möglich. Die Implementierung ist abgeschlossen, seit Anfang 2015 auch die Verifizierung durch das railML-Konsortium. Damit ist railML 2.2 nunmehr seitens iRFP veröffentlicht.
Im September 2024 wurde die notwendigen Apassungen hinsichtlich der Unterstützung von railML 2.5 abgeschlossen, sodass nun auch Daten in diesem Format aus FBS ausgegeben werden können.
Die Version 2.0 der FBS-railML Schnittstelle gibt es in zwei Ausprägungen (Profil-Versionen): Profil 2.0.0 mit allgemeinen railML-2.0-Schemen ist nur sehr eingeschränkt verwendbar. Die Profil-Version 2.0.5 basiert auf einer speziellen Adaption der allgemeinen railML-2.0-Schemendateien und ist weniger eingeschränkt, damit aber auch weniger kompatibel. Im Folgenden finden Sie eine Übersicht über die wesentlichen Unterschiede, weiter unten Hinweise zu Verwendbarkeit und Einschränkungen der RailML-Versionen.
-
Übersicht über die unterstützten Versionen
Folgende Versionen können derzeit aus FBS exportiert werden:
Version |
Profil |
Kompatibilitätsnummer |
Bemerkungen |
Revision |
<railml>. version |
<metadata>. format |
<metadata>. identifier |
|
|
2.0 |
2.0.0 |
4 |
nur sehr eingeschränkt verwendbar (s.u.) |
270 |
2.0 |
2.0.5 |
1 |
iRFP-eigene Anpassungen |
(270) |
2.1 |
2.1.0 |
4 |
unveränderte Original-Schemen |
409 |
2.2 |
2.2.1 |
4 |
unveränderte Original-Schemen |
602 |
2.5 |
2.5.2 |
4 |
unveränderte Original-Schemen |
1327 |
-
Versionsverlauf der Kompatibilitätsnummer (<metadata>.identifier):
<metadata>. identifier |
seit |
fortgeschrieben wegen |
2 |
23.05.2012 |
Wechsel der Einheit von <ocpTT>.<sectionTT>.distance von km auf m |
3 |
06.05.2015 |
Orientierungswechsel auf dir='down' bei km-abwärtigen <speedChange>s |
4 |
15.09.2015 |
Reihenfolgetausch von Längen- und Breitengrad in Koordinaten |
Sollten Sie als Anwender Kompatibilitätsprobleme durch den Reihenfolgentausch der Koordinaten haben, bitten wir um Kontaktaufnahme mit dem iRFP-Büro Dresden.
-
Übersicht über die verwendeten Schemen und Namensräume:
Version |
URI des Namensraums (xmlns) |
Bemerkungen |
alle |
http://www.w3.org/2001/XMLSchema-instance (xmlns:xsi) |
|
http://schema.fbsbahn.de/2.x/fbs_railml_extension (xmlns:fbs) |
iRFP-eigene |
|
2.0.0 |
http://www.railml.org/schemas/2009 |
|
2.0.5 |
http://schema.fbsbahn.de/2.0.5 |
iRFP-eigene |
2.1.0 |
http://www.railml.org/schemas/2011 |
|
2.2.1 |
http://www.railml.org/schemas/2013 |
|
2.5.2 |
https://www.railml.org/schemas/2021 |
|
Darüber hinaus kann der Anwender beim Export eigene Schemen-Erweiterungen für benutzerdefinierte Felder aus FBS hinzufügen.
-
Hinweise zu Verwendbarkeit und Einschränkungen der RailML-Versionen
Version |
Hinweise |
2.0.0 |
- keine Geschwindigkeitsprofile- Fahrwege der Züge nicht eindeutig nachvollziehbar, daher: |
2.0.5 |
- von iRFP angepasste Schemendateien, um die Nachteile der Version 2.0.0 zu vermeiden |
[2.0.5] |
alle Versionen außer V2.0.5: |
2.1.0 |
- <ocp>.number wird für IBNR verwendet entgegen der Deklaration als "deprecated", da ansonsten keine Betriebsstellennummern exportierbar wären |
2.2.0 |
- keine der o. g. Einschränkungen außer initialer <mileageChange> |
2.2.1 |
- wie 2.2.0, zusätzlich Unterstützung der hierarchischer Betriebsstellen über das Attribut <ocp>.parentOcpRef, um betrieblich unterschiedliche Betriebsstellen verkehrlich zusammenfassen zu können |
2.5.2 |
- keine neuen Einschränkungen |
alle, optional |
mit iRFP-eigenen Erweiterungen: Die Erweiterungen ermöglichen |
- Änderungsübersicht
Rot kennzeichnet entfallene Elemente oder Attribute, blau kennzeichnet neu hinzugekommene, wobei betreffende Elemente/Attribute i.d.R. optional sind. Es handelt sich nur um eine Grobübersicht, Details entnehmen Sie bitte der Schnittstellenbeschreibung. Alle Änderungsangaben beziehen sich auf die jeweils vorgehende Version.
ab Profil- |
Änderung |
2.0.0 |
nachträglich für RailML 2.0 gemäß unveränderten Original-Schemen |
2.0.1 |
erste veröffentlichte Basis-Version |
2.0.2 |
keine Änderungen in der Ausgabe ggü. V2.0.1 |
2.0.3 |
<trainPart>.remarks hinzugekommen |
2.0.5 |
<train>.additionalTrainNumber hinzugekommen |
2.1.0 |
<trackGroup>.<line>.uicNumber --> code (zusammengefasst) |
2.2.0 |
<metadata>.<dc:language> umgestellt von Codepage auf BCP47-script |
2.2.1 |
<ocp>.parentOcpRef (neu, optional) |
allgemein 12/2014 |
alle Versionen außer 2.0.5: |
allgemein 05/2015 |
alle Versionen: |
allgemein 09/2015 |
alle Versionen außer 2.0.5: |
2.5.2 |
Haupt-Element <infrastructure>: - Das Attribut <ocp>.<propOther>.status ist umgezogen zu <ocp>.<propOther>.<states>.<state…>. Haupt-Element <timetable>: |