Dev:Changes: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(Introduction added; {{Missing information}} tag added)
(→‎railML schema changes since version 2: Reservation Release railML 2.4 removed; Language adaptation)
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Schema changes in older railML versions / Other information sources =
{{navi}}
This page is intended to inform about the schema changes by topics, that influence the XML output. As it starts as a stub please refer to {{site|http://forum.railml.org|the railML forum}} and {{site|http://trac.railml.org/|railML's ticket system}} too.
==Versions & Licences==
The development of the early alpha versions started in 2001. Version 1.0, the first version allotted for productive use, was published in 2005. The current {{rml}} version is 2.3, published in March 2016. It is licensed dually free under a restricted form of the {{external|https://en.wikipedia.org/wiki/Creative_Commons_license|Creative Commons licence}} ''CC-BY-NC-ND'' and ''(for certified programmes)'' in free a commercial licence. To learn more about the licence terms see {{site|http://www.railml.org/en/user/licence.html}}.


This site is intended to collect the schema changes by topics, that influence the XML output. As it starts as a stub please refer to [http://forum.railml.org/ railML forum] and [http://trac.railml.org/ railML's ticket system] too.
A detailed version list can be found on {{site|https://www.railml.org/en/developer/version-timeline.html}}.


== Schema changes in older railML versions / Other information sources ==
It is not intended to describe changes between minor versions in railML 1 as there are no records from the pre-SVN time. Also changes between the major releases (railML 1 > railML 2 or railML 2 > railML 3) could not described here, as there are to much structural and major changes in railML.
It is not intended to describe changes between minor versions in railML 1 as there are no records from the pre-SVN time. Also changes between the major releases (railML 1 > railML 2 or railML 2 > railML 3) could not described here, as there are to much structural and major changes in railML.


= railML schema changes since version 2 =
== railML schema changes since version 2 ==
The changes between the {{rml}} 2 minor versions are available in the following descriptions:
*[[dev:changes/2.1|Changes between {{rml}} 2.0 and {{rml}} 2.1]]
*[[dev:changes/2.2|Changes between {{rml}} 2.1 and {{rml}} 2.2]]
*[[dev:changes/2.3|Changes between {{rml}} 2.2 and {{rml}} 2.3]]
*[[dev:changes/2.4|Changes between {{rml}} 2.3 and {{rml}} 2.4]]


== Between railML 2.0 and railML 2.1 ==
Please, employ [[template:change]] to add etries.
 
{{Missing information|topic=the all the changes in railML's version 2.1|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}
 
== Between railML 2.1 and railML 2.2 ==
 
=== Timetable subschema ===
 
{{Missing information|topic=the all the TT's changes in railML's version 2.2|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}
 
=== Infrastructure subschema ===
 
==== {{IS:Doc|ocp}}/{{Attr|@abbrevation}} ====
{|
|Fact:
| The {{Attr|abbrevation}} attribute in the {{IS:Tag|ocp}} element is declared deprecated.
|-
| Reason:
| There are multiple different abbreviations for single operation or control points. They can't be defined with one attribute.
|-
| Recommendation:
| Use the new {{IS:Tag|tsi}} and/or {{IS:Tag|designator}} elements instead.
|-
| Related Trac Tickets:
| [http://trac.assembla.com/railML/ticket/112 #112]
|-
| Related SVN Commits:
| [http://trac.assembla.com/railML/changeset/335 [335]], [http://trac.assembla.com/railML/changeset/439 [439]]
|-
| Old sample (railML 2.1):
|
<syntaxhighlight lang="xml">
<ocp ... name="Passau Hbf." abbrevation="NPA"/>
</syntaxhighlight>
|-
| New sample (railML 2.2):
|
<syntaxhighlight lang="xml">
<ocp ... name='Passau Hbf.' ...>
  <tsi country="80"/>
  <designator register='RL100' entry='NPA'/>
  <designator register='ENEE' entry='80-26506-6'/>
  <designator register='PLC' entry='DE18274'/>
  <designator register='IBNR' entry='8000298'/>
  <designator register='DB640' entry='Pa'/>
</ocp>
</syntaxhighlight>
|}
 
{{Missing information|topic=all the additonal IS's changes in railML's version 2.2|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}
 
=== Rollingstock subschema ===
 
{{Missing information|topic=the RS's changes in railML's version 2.2|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}
 
=== Common subschema ===
 
{{Missing information|topic=the CO's changes in railML's version 2.2|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}
 
== Between railML 2.2 and railML 2.3 ==
 
=== Timetable subschema ===
 
{{Missing information|topic=the all the TT's changes in railML's version 2.3|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}
 
=== Infrastructure subschema ===
 
==== {{IS:Doc|trainRadio}}, {{IS:Doc|trainRadioChange}} ====
{|
|Fact:
| The {{IS:Tag|trainRadio}} element and {{IS:Tag|trainRadioChange}} element have been introduced.
|-
| Recommendation:
| Use the new {{IS:Tag|trainRadio}} and {{IS:Tag|trainRadioChange}} elements for defining conditions describing the train radio conditions along the track.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/43 #43]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/630/railML [630]]
|-
| ocs element sample:
|
<syntaxhighlight lang="xml">
<ocsElements>
  <trainRadioChanges>
    <trainRadioChange id="trc01" pos="57.46" dir="up" radioSystem="GSM-R" broadcastCalls="true">
    </trainRadioChange>
  </trainRadioChanges>
</ocsElements>
</syntaxhighlight>
|-
| infra attributes sample:
|
<syntaxhighlight lang="xml">
<infraAttrGroups>
  <infraAttributes id="ia01">
    <trainRadio radioSystem="GSM-R" broadcastCalls="true" />
  </infraAttributes>
</infraAttrGroups>
</syntaxhighlight>
|}
 
==== {{IS:Doc|speedChange}}/{{Attr|@vMax}} ====
{|
|Fact:
| The parameter {{Attr|vMax}} in the {{IS:Tag|speedChange}} element has been modified so that it can also handle the value "end".
|-
| Recommendation:
| Use the new value "end" in order to mark the end of a temporary speed restriction.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/97 #97]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/609/railML [609]]
|-
| sample:
|
<syntaxhighlight lang="xml">
<speedChange id="sc7" pos="256.7" vMax="end" dir="up" />
</syntaxhighlight>
|}
 
==== {{IS:Doc|radiusChange}}/{{Attr|@geometryElementDescription}} ====
{|
|Fact:
| A new attribute named {{Attr|geometryElementDescription}} has been added to the {{IS:Tag|radiusChange}} element. It is an enumeration parameter, which provides the following entries that enable a more detailed description of transition curves:
* TS_cubicParabola
* TS_parabola4
* TS_clothoide; the usually used transition curve in modern railways, see [https://en.wikipedia.org/wiki/Euler_spiral English Wikipedia] and {{Deu|[https://de.wikipedia.org/wiki/Klothoide#Anwendung_im_Verkehrswegebau German Wikipedia]}} description
* TS_WienerBogen; a special transition curve used in Austria and Germany, see {{Deu|[https://de.wikipedia.org/wiki/Wiener_Bogen German Wikipedia]}} description
* TS_BlossBogen; a special transition curve widely in Germany, see {{Deu|[https://de.wikipedia.org/wiki/Blossbogen German Wikipedia]}} description
* TS_Sinusoide
* TS_Cosinusoide
* SC
* (any other)
|-
| Reason:
| So far, it was not possible to model transition curves in railML although they represent a basic track alignment feature.
|-
| Recommendation:
| Use the new {{Attr|geometryElementDescription}} attribute in the {{IS:Tag|radiusChange}} element for modelling the begin and end points of transition curves.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/251 #251]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/616/railML [616]]
|-
| sample for transition curve begin:
|
<syntaxhighlight lang="xml">
<radiusChange ... geometryElementDescription='TS_clothoide' />
</syntaxhighlight>
|-
| sample for transition curve end:
|
<syntaxhighlight lang="xml">
<radiusChange ... geometryElementDescription='SC' />
</syntaxhighlight>
|}
 
==== {{IS:Doc|tsi}} ====
{|
|Fact:
| The element {{IS:Tag|tsi}} has been marked deprecated.
|-
| Reason:
| Elements dedicated for the usage in conjunction with TAP TSI shall be replaced by a more generic approach.
|-
| Recommendation:
| Instead of the element {{IS:Tag|tsi}}, please use the {{IS:Tag|designator}} element with the new register entry "PLC" (Primary Location Code) for referencing a TAF TSI relevant name of an operational control point.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/252 #252]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/611/railML [611]]
|-
| old sample (railML 2.2):
|
<syntaxhighlight lang="xml">
<ocp ... name='Buchs (SG)' ...>
  <tsi country='85' location='09404' check='' />
</ocp>
</syntaxhighlight>
|-
| new sample (railML 2.3):
|
<syntaxhighlight lang="xml">
<ocp ... name='Buchs (SG)' ...>
  <designator register='PLC' entry='CH9404' />
</ocp>
</syntaxhighlight>
|}
 
==== {{IS:Doc|line}}/{{Attr|@lineCategory}} ====
{|
|Fact:
| The optional attribut {{Attr|lineCategory}} has been added to the parameters of the element {{IS:Tag|line}}.
|-
| Reason:
| The European standard EN 15528 defines several line categories for classification of railway lines depending on allowed maximum axle load and meterload paramters.
|-
|style="vertical-align:top" | Recommendation:
| Use the new paramter {{Attr|lineCategory}} within the element {{IS:Tag|line}} to define a line category according to EN 15528. The following values are possible:
* A
* B1, B2
* C2, C3, C4
* D2, D3, D4, D4xL
* E4, E5
* (any other)
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/259 #259]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/620/railML [620]], [http://trac.railml.org/changeset/621/railML [621]], [http://trac.railml.org/changeset/622/railML [622]]
|-
|style="vertical-align:top" | sample:
|
<syntaxhighlight lang="xml">
<line ... lineCategory='E4' />
</syntaxhighlight>
|}
 
==== {{IS:Doc|additionalName}}/{{Attr|@xml:lang}} ====
{|
|Fact:
| Although being optional, the attribut {{Attr|xml:lang}} should always be given in the {{IS:Tag|additionalName}} element.
|-
| Reason:
| In order to being able to correctly read the given additional name e.g. for an OCP, it is necessary to know in which language the additional name has been written.
|-
| Recommendation:
| Always use the optional paramter {{Attr|xml:lang}} when using the element {{IS:Tag|additionalName}}.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/263 #263]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/629/railML [629]]
|-
| sample:
|
<syntaxhighlight lang="xml">
<ocp id="ocp_ΑΘΗΝ" name="ΑΘΗΝΑ">
  <additionalName name="Ἀθῆναι" xml:lang="grc"/>
  <additionalName name="ΑΘΗΝΑ" xml:lang="el-Grek"/>
  <additionalName name="ATHINA" xml:lang="el-Latn"/>
  <additionalName name="Athens" xml:lang="en"/>
  <additionalName name="Athen" xml:lang="de"/>
  <additionalName name="Athènes" xml:lang="fr"/>
</ocp>
</syntaxhighlight>
|}
 
==== {{IS:Doc|crossedElement}} ====
{|
|Fact:
| New optional element {{IS:Doc|crossedElement}} has been added for the elements {{IS:Doc|levelCrossing}}, {{IS:Doc|bridge}} and {{IS:Doc|tunnel}}.
|-
| Reason:
| This implementation allows to model more specific information about natural and infrastructure landmarks that are crossed by a river, a railway line or a street.
|-
| Recommendation:
| If you want to define information about a natural or infrastructure landmark that you are going to cross with your track, please use the new element {{IS:Tag|crossedElement}}.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/271 #271]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/629/railML [629]]
|-
| sample for bridge:
|
<syntaxhighlight lang="xml">
<bridge id="br01" name="Marienbrücke" pos="2050">
  <crossedElements>
    <crossedElement type="highway:cycleway" id="cw01" name="Elberadweg" pos="2200" />
    <crossedElement type="highway:road" id="rd01" name="B6" pos="2150" />
    <crossedElement type="natural:river" id="ri01" name="Elbe" pos="2100" />
  </crossedElements>
</bridge>
</syntaxhighlight>
|}
 
=== Rollingstock subschema ===
 
==== {{RS:Doc|vehicleIdentification}} ====
{|
|Fact:
| The {{RS:Doc|vehicleIdentification}} element in the {{RS:Tag|operator}} was introduced for storing UIC numbers.
|-
| Reason:
| The UIC has developed two variants for unique identification numbers of vehicles, i.e. locomotives and wagons. Both types consists of 12 digits. As the identification encodes also the vehicle owner/operator it was included as part of the {{RS:Tag|operator}} element to have a clear relation to validity period.
|-
| Recommendation:
| Use the new {{RS:Tag|vehicleIdentification}} element for each {{RS:Tag|operator}} element defined for the particular vehicle.
|-
| Related SVN Commits:
| [http://trac.assembla.com/railML/changeset/643 [643]]
|-
| New sample (railML 2.3):
|
<syntaxhighlight lang="xml">
<operator ...>
  <vehicleIdentification uicIdentNumber='978081940527' countryCode='D' vehicleKeeperMarking='LEG' />
</operator>
</syntaxhighlight>
|}
 
==== {{RS:Doc|trainClearanceGauge}} ====
{|
|Fact:
| The {{RS:Doc|trainClearanceGauge}} element in the {{RS:Tag|wagon}} was introduced for storing the vehicle clearance gauge(s) in a unified way.
|-
| Reason:
| There are several clearance gauges for railway vehicles defined in national or international regulations and standards. They are taken from the prepared code list to be comparable with similar data of a railway line.
|-
| Recommendation:
| The use of the new {{RS:Tag|trainClearanceGauge}} shall only take elements out of the given list ''TrainClearanceGauges.xml''.
|-
| Related Trac Tickets:
| [http://trac.assembla.com/railML/ticket/3 #3]
|-
| Related SVN Commits:
| [http://trac.assembla.com/railML/changeset/627 [627]], [http://trac.assembla.com/railML/changeset/623 [623]]
|-
| New sample (railML 2.3):
|
<syntaxhighlight lang="xml">
<wagon ...>
  <trainClearanceGauge code='GC' />
  <trainClearanceGauge code='DE2' />
</wagon>
</syntaxhighlight>
|}
 
==== {{RS:Doc|maintenanceIntervals}} ====
{|
|Fact:
| The {{RS:Doc|maintenanceIntervals}} element in the {{RS:Tag|vehicle}} was introduced for storing individual maintenance intervals of railway vehicles.
|-
| Reason:
| For the asset management of railway vehicles it shall be possible to store individual maintenance intervals with the vehicle data.
|-
| Related Trac Tickets:
| [http://trac.assembla.com/railML/ticket/77 #77]
|-
| Related SVN Commits:
| [http://trac.assembla.com/railML/changeset/624 [624]]
|-
| New sample (railML 2.3):
|
<syntaxhighlight lang="xml">
<vehicle ...>
  <maintenanceIntervals>
    <maintenanceInterval id='RSMI1' name='R1' maximumIntervalDays='365' maximumIntervalDistance='20000'/>
    <maintenanceInterval id='RSMI2' name='S1' maximumIntervalDays='730' maximumIntervalDistance='50000'/>
  </maintenanceIntervals>
</vehicle>
</syntaxhighlight>
|}
 
=== Common subschema ===
 
{{Missing information|topic=the CO's changes in railML's version 2.3|user=[[Benutzer:Vasco Paul Kolmorgen|Vasco Paul Kolmorgen]] ([[Benutzer Diskussion:Vasco Paul Kolmorgen|Diskussion]]) 18:29, 11. Feb. 2016 (CET)}}


[[Category:GeneralDescription]]
[[Category:GeneralDescription]]
[[category:Common Concept]]

Revision as of 14:52, 11 October 2018

RailML Trademark RGB V2.png
XML Railway exchange format
https://railML.org
Latest release: 2.5
(September 1st, 2021)
 
Main Menu
 
Subschemas
XML tree
UML diagrams
Use cases
Versions & Changes

This page is intended to inform about the schema changes by topics, that influence the XML output. As it starts as a stub please refer to the railML forum (link to the railML® website) and railML's ticket system (link to the railML® website) too.

Versions & Licences

The development of the early alpha versions started in 2001. Version 1.0, the first version allotted for productive use, was published in 2005. The current railML® version is 2.3, published in March 2016. It is licensed dually free under a restricted form of the Creative Commons licence (external link) CC-BY-NC-ND and (for certified programmes) in free a commercial licence. To learn more about the licence terms see http://www.railml.org/en/user/licence.html (link to the railML® website).

A detailed version list can be found on https://www.railml.org/en/developer/version-timeline.html (link to the railML® website).

Schema changes in older railML versions / Other information sources

It is not intended to describe changes between minor versions in railML 1 as there are no records from the pre-SVN time. Also changes between the major releases (railML 1 > railML 2 or railML 2 > railML 3) could not described here, as there are to much structural and major changes in railML.

railML schema changes since version 2

The changes between the railML® 2 minor versions are available in the following descriptions:

Please, employ template:change to add etries.