| 鉄道マークアップ言語 | |
|---|---|
![]() railMLファイル形式のロゴ | |
| ファイル名拡張子 | .railml、.railmlx |
| インターネットメディアの 種類 | application/xml、text/xml、application/zip |
| 開発元 | railML.org; ドレスデン/ドイツ |
| 初回リリース | 2005年 12月22日( 2005-12-22 ) |
| 最新リリース | 3.3 2024年11月5日( 2024-11-05 ) |
| フォーマットの種類 | 鉄道交換フォーマット |
| 拡張 | XML |
| 基準 | 業界標準ISO/TS 4398:2022 |
| オープンフォーマット? | いいえ、CC BY-NC-NDライセンスですが、追加の制限があります。 |
| フリーフォーマット? | はい |
| Webサイト | www.railml.org |
railML(Railway Markup Language )は、鉄道アプリケーションのデータ相互運用性のための独自のフリーウェアXMLスキーマベースのデータ交換フォーマットです。[ 1 ]

鉄道運行のさまざまな側面をモデル化するコンピュータ アプリケーションの数が増加し、異なる事業者が並行して個別のソリューションを開発しているため、さまざまな鉄道 IT アプリケーションを接続することが慢性的に困難になっています。[ 1 ]運行コンセプト、スロット管理、シミュレーション、インフラ計画などのデータ交換は、手作業で行うか、鉄道会社にとって時間とコストの問題となる多くの特別なインターフェースを開発することで可能でした。[ 2 ]データを交換する必要のあるアプリケーションがn個あり、各プログラムのペアごとに特別なインターフェースがある場合、インターフェースは必要となるが、n=2の場合は 1 つだけで、n=5の場合は 10 個必要となるため、平均以上の複雑さが生じる。[ 1 ]
この問題は、すべてのアプリケーションでサポートされ、鉄道運行分野におけるあらゆる種類のデータ交換のニーズを満たす単一の汎用交換フォーマットを使用したエンタープライズアプリケーション統合[ 1 ]によって軽減できます。必要なインターフェースの数は、各アプリケーションごとに交換フォーマットへのインターフェースが1つずつn個に減少します。railMLは、既存の標準に近い、自由で自己記述的なフォーマットを提供しようとしています。[ 2 ]パラダイムは、鉄道システム全体を記述するのではなく、鉄道、産業、および当局のデータ交換プロセスの要求を満たすことです。[ 3 ]
railML の開発は、さまざまな鉄道 IT アプリケーションを接続することの慢性的な困難を背景に、 2002 年初頭にFraunhofer-IVI (ドレスデン、ドイツ) とETH Zürich – IVT (チューリッヒ、スイス) によって開始されました。 [ 4 ] railML は、議論の中で鉄道インフラ管理者(IM) と鉄道事業者(RU)のニーズに合わせて変更および適応されています。 [ 2 ] [ 5 ]最初の安定版バージョン 1.0 は、2005 年に実用化のためにリリースされました。[ 3 ]現在までに、バージョン 1.0、1.1、2.0 ~ 2.5 がダウンロードおよび実用化のためにリリースされています。RailTopoModel に基づく新しいトポロジー モデルを組み込んだrailMLのバージョン 3 は、2015 年半ばから開発が開始されました。ベータ版は2016年半ばにリリースされ、[ 6 ]続いて2019年2月に本番使用のためのバージョン3.1がリリースされました。スキーマはさらに進化し、2022年にバージョン3.2がリリースされ、RailTopoModel v1.5をベースとした最新バージョン3.3が2024年にリリースされました。このバージョンでは、railMLフォーマットの進化を統合する新しい機能強化が導入されました。さらに、2015年には、railMLデータのビューアおよびバリデータであるrailVIVIDがリリースされました。
railML(鉄道マークアップ言語)は、鉄道固有のデータを記述するためにXMLを使用する一般的なデータ交換フォーマットです。railMLを使用することで、鉄道関連の内部アプリケーションと外部アプリケーション間で鉄道データを交換できます。railMLは、railML.orgの「railMLコンソーシアム」内で開発されています。railMLのモデル言語はUML、ドキュメント言語は英語です。すべてのrailML開発者およびユーザーは、スキーマ拡張への貢献や提案を歓迎します。
アプリケーションは、railML ファイルのエクスポートまたはインポート、あるいはTCP/IPを介した直接的なプロセス間通信によって、railML を介してデータを交換できます。[ 7 ]
railMLは、railML.orgで登録し、コードを再配布または変更せず、商業目的で使用しない限り、無料で利用できます。これは無料のデータ交換フォーマットですが、クリエイティブ・コモンズ・ライセンスから派生した、非常に制限の厳しい非寛容なライセンスの下でライセンスされているため、オープンではありません。
バージョン0.xと1.xは独自のライセンスでライセンスされており、バージョン0.xは内部使用のみを目的としており、コンソーシアム内で共有されていました。[ 8 ]
バージョン 2.0 から 2.2 は、2013 年 6 月まではCreative CommonsライセンスCC-BY-NC-SAでライセンスされていました。2013 年 7 月以降、バージョン 2.0 以降のすべてのバージョンは、商用利用可能なCC-BY-ND (V 3) ライセンスまたは制限付きCC BY-NC-ND (V 3) ライセンスのいずれかで並行して提供されています。railML の組織は、再配布や変更を禁止する制限は品質管理目的であり、その手段としてアプリケーション開発者に認証の購入を要求していると主張しています。[ 8 ]
バージョン 3.x は、同じクリエイティブ コモンズの条件でライセンスされていますが、CCバージョン 4.0 です。railML.org は、CC によって行われた機能強化を適応させ、スキーマ ユーザーに以前のバージョンおよび railML バージョンと同じ使用権を保証します。[ 9 ]
いわゆるrailMLコンソーシアムの法的実体は、 2012年4月23日以降、ドイツ法に基づき登録された非営利団体であるrailML.org eVです(登録番号VR 5750、ドレスデン地方裁判所/ドイツ)。
railMLはXMLをベースとしており、サブ領域ではMathMLやGMLなどの既存のXMLスキーマを使用しています。railMLは複数のサブスキーマで構成されています。バージョン2.5までで、3つのサブスキーマが実運用されています。
RailMLバージョン3.1以降、コミュニティの要望により、以下のサブスキーマが追加されました。
駅施設(券売機、待合室、自動販売機など)や乗務員の勤務表作成(車掌のシフト計画/勤務表、勤務時間管理など)といった追加のサブスキームは、利用者からの需要がないため、現在保留となっています。
このサブスキーマは、詳細な時刻表の交換に使用されます。特に、このスキーマは次の情報用に設計されています。[ 10 ]
このサブスキームの焦点は鉄道ネットワークのインフラストラクチャである。[ 11 ]重要な側面は以下のとおりである。
インフラストラクチャのサブスキーマは固定資産に焦点を当てているのに対し、鉄道車両はネットワーク内を循環する資産を記述している。[ 12 ]
railMLで作成された時刻表の例[ 3 ]
<?xml version="1.0" encoding="UTF-8"?><railml xmlns:xsi= "http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "timetable.xsd" ><timetable version= "1.1" ><train trainID= "RX 100.2" type= "planned" source= "opentrack" ><時刻表エントリ><entry posID= "ZU" departure= "06:08:00" type= "begin" /><entry posID= "ZWI" departure= "06:10:30" type= "pass" /><entry posID= "ZOER" arrival= "06:16:00" departure= "06:17:00" minStopTime= "9" type= "stop" /><entry posID= "WS" departure= "06:21:00" type= "pass" /><entry posID= "DUE" departure= "06:23:00" type= "pass" /><entry posID= "SCW" departure= "06:27:00" type= "pass" /><entry posID= "NAE" departure= "06:29:00" type= "pass" /><entry posID= "UST" arrival= "06:34:30" type= "stop" /></timetableentries></train></timetable></railml>3行目は、使用されているrailMLのバージョンが1.1であることを示しています。
4号線には列車コードが記載されています。
5行目と15行目は旅程の枠を示しており、この場合は8つの旅程項目が含まれています。
6行目から14行目までの旅程項目には、位置ID(例:駅)、出発時刻または到着時刻などの引数が含まれており、9行目には停車義務が記述されています。
当初、railML データの最もよく使われた用途は、乗客情報、車掌や運転士の勤務計画、時刻表シミュレーションのための時刻表データ[ 4 ]であり、その後、railML データは連動装置計画やIM のネットワークステートメントなどのインフラストラクチャに使われるようになりました。
railML バージョン 2.x を使用するアプリケーションには、OpenTrack (インタラクティブ鉄道シミュレータ[ 20 ] )、FBS (鉄道運行計画ソフトウェア[ 21 ] )、Viriato (スケジューリング システム[ 22 ] )、 OpenTimeTable (ネットワーク運行データのリアルタイム分析[ 23 ] )など、時刻表関連のプログラムが多数含まれています。railML バージョン 3.x を使用するアプリケーションには、VIS All 3D [ 24 ]のようなBIM関連のインフラ計画ソフトウェアや、GPSinfradat [ 25 ]のような鉄道調査システムも含まれています。
(認証済みの)インターフェースを備えたプログラムの完全なリストは、railMLの互換性のあるアプリケーションのWebサイトで入手できます。
railVIVID® は、railML® ファイルを表示および検証するための高度なツールです。railVIVID の汎用性により、時刻表、インフラストラクチャ、車両データなど、さまざまな鉄道データを視覚化および検証できます。[ 26 ]
railVIVIDはrailML.orgのウェブサイトから、railMLスキーマと同様のライセンス条件で入手可能です。[ 27 ]
railML の開発は、独立した企業や組織と欧州の鉄道会社による開発パートナーシップである railML.org イニシアチブによって推進されています。開発への参加や、経験を交換し基本事項を議論するための年 2 回開催される会議への参加は自由です。継続的な開発作業は主にインターネットベース (ドイツ語と英語のフォーラム) で行われています。議論の組織は、いわゆる railML コーディネーターによって管理されています。railML スキーマのダウンロードと使用には、railML.org コンソーシアムへの参加が必須です。このフォーマットのソフトウェア インターフェースを商用または生産的に使用する前に、商用認証を取得する必要があります。[ 28 ]
railML.org のメンバーは現在: [ 29 ]
完全かつ最新のリストは、railML.orgコミュニティのウェブサイトに掲載されています。
railML.orgは、国際鉄道連合(UIC)のERIM(European Rail Infrastructure Masterplan [ 30 ]の略)プロジェクトにおいて、鉄道部門の共通データモデルとしてRailTopoModelの開発に取り組んでいます。 [ 31 ]また、railML.orgはEurocontrolおよび欧州連合鉄道庁とも協力しています。