railML® schema changes between railML® 2.4 and railML® 2.5
This site is intended to collect the schema changes between railML® 2.4 and railML® 2.5.
A complete diff comparison will soon be available under Dev:changes/2.5/diff.
Changes are also marked on the element pages with (introduced with version 2.5) for introduced components and (deprecated with version 2.5) for components that became obsolete. All occurances of these tags are listed in Category:Intro/2.5 respectively Category:Depr/2.5.
For changes with other version upgrades see Dev:changes.
Common Subschema
Several elements have been extended with child <designator>
Timetable Subschema
Fact:
|
new attribute @onRequest (bool) has been added in element <trainPart> in order to allow for standardized modelling of onRequest journeys.
|
Reason:
|
Required by railML® partner. Also this should help avoiding modelling of onRequest journeys using special train categories.
|
Related Trac Tickets:
|
#372
|
New attribute(s):
|
@onRequest
|
Updated element(s):
|
<trainPart>
|
New value other:anything for <category>@trainUsage
Fact:
|
<category>@trainUsage has been extended to allow for custom values
|
Reason:
|
The demand for more distinguished categories appeared in this discussion (link to the railML® website)
|
Related Trac Tickets:
|
#375
|
Updated XSD file(s):
|
railwayBaseTypes.xsd
|
Updated attribute(s):
|
<category>@trainUsage
|
Updated element(s):
|
<category>
|
New values conceptual and offered for <trainPartSequence>@pathStatus
Fact:
|
<trainPartSequence>@pathStatus has been extended to allow for the values conceptual and offered to improve how to express the state of an slot order
|
Reason:
|
The demand for clearer modelling of the states for slot ordering showed up in this discussion (link to the railML® website)
|
Related Trac Tickets:
|
#378
|
Updated attribute(s):
|
<trainPartSequence>@pathStatus
|
Updated element(s):
|
<trainPartSequence>@pathStatus
|
Fact:
|
New children <origin> and <destination> for <trainPart>
|
Reason:
|
allows for specifying information about the origin/destination of the train if it cannot be derived from its path (trains entering/leaving the operated area).
|
New element(s):
|
<origin>, <destination> & their respective children
|
Updated element(s):
|
<trainPart>
|
New @type for <annotation>; changed multiplicity for <text>
Fact:
|
New @type for <annotation>; multiplicity of <text> changed from [1..∞] to [0..∞]
|
Reason:
|
broad revision of annotations: annotations should point to other content than text.
|
Related Trac Tickets:
|
#358
|
New attribute(s):
|
<annotation>@type
|
Updated element(s):
|
<annotation>, <text>
|
Fact:
|
The attribute @processStatus was set to deprecated for <trainPart>, <train> and <trainGroup>.
|
Reason:
|
existing usage of attribute turned out to be non standardized. In order disencourage further use of the attribute it was decided to deprecate it as it seemed not feasible to unify its use.
|
Related Trac Tickets:
|
#364
|
Updated attribute(s):
|
processStatus
|
Updated element(s):
|
<trainPart>, <train>, <trainGroup>
|
Fact:
|
The attribute @onRequest was set to deprecated for <operatingDay>.
|
Reason:
|
existing usage of attribute was deemed overly complicated and not widely used. In order disencourage further use of the attribute it was decided to deprecate it and recommend usage of the attribute @onRequest of the <trainPart>.
|
Related Trac Tickets:
|
#372
|
Updated attribute(s):
|
onRequest
|
Updated element(s):
|
<trainPart>, <operatingDay>
|
Fact:
|
The attribute @parentRef was added in order to allow for hierarchies of categories.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#437
|
New attribute(s):
|
@parentRef
|
Updated element(s):
|
<category>
|
Fact:
|
The attribute @organizationalUnitRef was added in order to differentiate between categories of the same name that are related to different organizationalUnits and thus may differ in semantics.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#436
|
New attribute(s):
|
@organizationalUnitRef
|
Updated element(s):
|
<category>
|
Fact:
|
The attribute @parentRef was added in order to allow for hierarchical train groups. It was also decided to change the cardinalities of <trainGroup> regarding its child <trainRef> to allow for <trainGroup>s that do not refer to any <train>s but rather are referred to by other <trainGroup>s as their parent.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#470
|
New attribute(s):
|
@parentRef
|
Updated element(s):
|
<trainGroup>
|
Fact:
|
In order to allow communication of changes to certain train parts a new optional attribute was added to <trainPart>. With this it is possible to specify the last change date for a trainParts change.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#471
|
New attribute(s):
|
@lastModified
|
Updated element(s):
|
<trainPart>
|
Fact:
|
In order to allow specification of alternative ways to reach the next OCP in an microscopic infrastructure model a new element was added to the <ocpTT> called <alternativeSectionsTT>. It serves as a container for a number of <alternativeSectionTT> elements that can each be annotated with a priority in order to describe the priority of their use by a managing TMS. It is important to note that the arrival and departure times of the following ocpTT must not be dependent on which way actually is chosen.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#381
|
New element(s):
|
<alternativeSectionsTT> & children
|
Updated element(s):
|
<ocpTT>
|
Fact:
|
Support for very early planning stages.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#432
|
New element(s):
|
<patternTrains> & Children
|
Fact:
|
Support for very early planning stages.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#432
|
New element(s):
|
<patternTrainParts> & children
|
Fact:
|
Support for very early planning stages.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#433
|
New element(s):
|
<distributions> & children
|
New enumeration value expected for <times>/@scope
Fact:
|
Support for forcasted arrival and departure times.
|
Reason:
|
Requirement from the community.
|
Related Trac Tickets:
|
#472
|
Updated attribute(s):
|
@scope
|
Infrastructure Subschema
@dir deprecated for many elements
Fact:
|
For many Elements @dir gets deprecated according to the following guidelines:
- Rule 1: @dir is usefull as application direction.
Applies for elements without extent (without @length attribute) examples: balise, border, derailer, signal, stopPost... usage: @dir describes the direction of travel, for which the element applies. Possible values are "up", "down" and "both". A missing @dir attribute means that the application direction of this element is unknown.
- Rule 2: (short) linear elements 🡪 no usage of @dir.
Elements with extent (with @length attribute) examples: bridge, levelCrossing, platformEdge, serviceSection... By standard, the elements' orientation (not their application direction!) shall be always in direction of track orientation (from trackBegin towards trackEnd). E.g.: <levelCrossing>, <platformEdge>. The position value @pos defines the center point of the linear element.
- Rule 3: (long) linear elements 🡪 use @dir if modelling „portals“ (usually Changes), where the elements' orientation can differ from track orientation.
Refers to Elements that describe a change. Examples: axleWeightChange, clearanceGaugeChange, electrificationChange, gaugeChange, speedChange... and tunnel. By standard (except for speedChange), the change elements' orientation (not their application direction!) shall be always in direction of track orientation (from trackBegin towards trackEnd). E.g. <tunnel>: locate tunnel portal with @pos and point @dir towards center.
|
Reason:
|
There are some elements, where the @dir attribute does not make much sense. Either, because the element is valid for both directions of travel or because the element shall be only defined for one direction. So, the task is to identify elements where the @dir attribute shall be marked DEPRECATED.
|
Related Trac Tickets:
|
#357
|
Updated attribute(s):
|
@dir
|
Updated element(s):
|
<trackCircuitBorder>, <brigde>, <levelCrossing_levelCrossings>, <platformEdge>, <serviceSection>, <tunnel>, <axleWeightChange>, <clearanceGaugeChange>, <electrificationChange>, <gaugeChange>, <ownerChange>, <powerTransmissionChange>, <radiusChange>
|
Fact:
|
New optional attribute <levelCrossing>@offset
|
Reason:
|
Attributes @pos and @absPos shall describe by default the location of the (geometric) middle of the level crossing. Half the @length is before @pos and the other half is after.
In order to define a different setting, the new optional attribute <levelCrossing>@offset can be used. It describes how many metres of the @length is before @pos. If @offset is not given, the default value shall apply.
|
Related Trac Tickets:
|
#374
|
New attribute(s):
|
@offset
|
Updated element(s):
|
<levelCrossing>
|
Updated definitions for the values of <track>@type
Fact:
|
The definitions of the values of <track>@type have been updated
|
Reason:
|
Definitions of track types in railML® 2 wiki differ from consensus in forum and best practices in wiki → to be consolidated.
|
Related Trac Tickets:
|
#376
|
Updated attribute(s):
|
@type
|
Updated element(s):
|
<track>
|
Value unknown of <track>@mainDir removed
Fact:
|
The value unknown of <track>@mainDir has been removed.
|
Reason:
|
unknown has the same meaning as a missing @mainDir.
|
Recomendation:
|
Despite the value unknown still exists in older schemas, consider it deprecated retroactively.
|
Related Trac Tickets:
|
#324
|
Updated attribute(s):
|
@mainDir
|
Updated element(s):
|
<track>
|
Fact:
|
@rampType added to <serviceSection>
|
Reason:
|
Result of a reasoning how to model car ramps. A possibility to model the type of ramp was missing.
|
Recomendation:
|
Model car ramps as described here
|
Related Trac Tickets:
|
#362
|
New attribute(s):
|
@rampType
|
Fact:
|
<ocpVis> has been replaced with <objectVis>.
|
Reason:
|
Makes the purpose of the element clearer and allowes for mor general modelling.
|
Recomendation:
|
Use <objectVis> in place of <ocpVis>
|
Related Trac Tickets:
|
#373
|
New element(s):
|
<objectVis>
|
Updated element(s):
|
<ocpVis>
|
Fact:
|
Element <genericAreas> and its recursive Children have been introduced
|
Reason:
|
This element is a new high-level grouping element. The element describes several different types of areas, e.g. specification of specially controlled areas within the network.
|
Recomendation:
|
Employ <genericAreas>><genericArea>><limitedBy>@ref to reference any infrastructure-elements that limit the respective <genericArea>.
|
New element(s):
|
|
Updated element(s):
|
<infrastructure>, <controller> and others
|
Turning restistances added to <ocp>
Fact:
|
<ocp> > <propOther> has been extended by child <relation>
|
Reason:
|
In purely mesoscopic or macroscopic railway network descriptions a detailed description of operational routing (e.g. change of driving direction) was not possible; especially within OCP. Therefore <ocp> has been extended with an „inner topology description“ related to possible train runs.
|
Related Trac Tickets:
|
#413
|
New element(s):
|
<relation> & recursive children
|
Updated element(s):
|
<propOther>
|
<line>@belongsToParent has been added
Fact:
|
<line> has been extended by @belongsToParent and the definition of <line> has been generalized.
|
Reason:
|
This change allows to segment lines and address the complete line and single segments simultaneously.
|
Related Trac Tickets:
|
#414
|
New attribute(s):
|
@belongsToParent
|
Updated element(s):
|
<line>
|
<border>@type extended by value project
Fact:
|
<border>@type has been extended by value project.
|
Reason:
|
Allows to employ <border> to clarify borders of/between projects.
|
Related Trac Tickets:
|
#418
|
Updated attribute(s):
|
@type
|
Updated element(s):
|
<border>
|
<state>@status has been extended by the value unknown
Fact:
|
<state>@status has been extended by the value unknown
|
Reason:
|
Allows to mark the respective element as explicitely unknown.
|
Related Trac Tickets:
|
#421
|
Updated attribute(s):
|
<state>@status
|
<speedChange> has been extenden with a second semantic constraint.
<tunnel> has been extended with resistance factors
<signal> has been extended
Fact:
|
@virtual and value manual of @medium have been introduced
|
Reason:
|
model "manual" (visual) end of train detection by a local dispatcher in a manually operated station
|
New attribute(s):
|
@virtual
|
Updated attribute(s):
|
@medium
|
Updated element(s):
|
<trainDetector>
|
Fact:
|
<ocp> has been extended with child <propPassengerInfo> > <informationArea>
|
Reason:
|
Provide OCP specific information when entering vicinity of the OCP. OCP shall be linked with an information area surrounding the OCP
|
Related Trac Tickets:
|
#473
|
New element(s):
|
<propPassengerInfo> & children
|
Updated element(s):
|
<ocp>
|
<derailer>@derailSide has been extended with valie above
Rollingstock Subschema
Fact:
|
Several instances of <segmentTable> have been introduced.
|
Reason:
|
There was demand for an alternative to <valueTable>
|
Related Trac Tickets:
|
#385
|
New element(s):
|
Several instances of <segmentTable>
|
Updated element(s):
|
The respective parents, comp. <segmentTable>
|
<state>@status has been extended by the value unknown
Fact:
|
<state>@status has been extended by the value unknown
|
Reason:
|
Allows to mark the respective element as explicitely unknown.
|
Related Trac Tickets:
|
#421
|
Updated attribute(s):
|
<state>@status
|
<vehicleBrake> and <trainBrakes> have been extended by @regularBrakePercentage and @emergencyBrakePercentage