railML schema changes between railML® 2.3 and railML® 2.4
This site is intended to collect the schema changes between railML® 2.3 and railML® 2.4.
A complete diff comparison can be found under Dev:changes/2.4/diff
Changes are also marked on the element pages with (introduced with version 2.4) for introduced components and (deprecated with version 2.4) for components that became obsolete. All occurances of these tags are listed in Category:Intro/2.4 respectively Category:Depr/2.4.
For changes with other version upgrades see Dev:changes.
Timetable Subschema
|
In this article there is information missing with respect to last TT changes after June 1st, 2018 between railML® 2.3 and 2.4. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion page. Coordination (talk) 15:59, 11 October 2018 (CEST)
|
|
Fact:
|
The new element <stopActivities> can be used to group <stopActivity>-elements which describe the purposes of a stop more detailed. The detailed purpose of a stop is described in the attribute type of a <stopActivity>. For the possible values for attribute type, a list of values has been drawn up to illustrate the most common holding purposes of various companies.
|
Recommendation:
|
Use the new <stopActivity>-elements to describe the detailed purposes of a stop. Use if possible the standard values for the attribute type of <stopActivity>-elements.
|
ocpTT element sample:
|
<ocpTT offset="383.220001" alignment="center" ocpType="begin" ocpRef="ocp-35154097">
<times scope="published" departure="00:22:00"/>
<sectionTT>
<trackRef ref="gleiskante1027"/>
<runTimes minimalTime="PT84S"/>
</sectionTT>
<stopDescription onOff="both" commercial="true">
<stopTimes minimalTime="PT180S"/>
<stopActivities>
<stopActivity type="reverse"/>
<stopActivity type="crewChange"/>
</stopActivities>
</stopDescription>
</ocpTT>
|
Updated XSD file(s):
|
timetableTypes.xsd
|
New attributes:
|
- /ocpTT/stopDescription/stopActivities/stopActivity@type
|
New elements:
|
- /ocpTT/stopDescription/stopActivities
- /ocpTT/stopDescription/stopActivities/stopActivity
|
Fact:
|
With the new <topologyReference> element, the underlying topology used to determine the route and calculate journey times can be referenced. A <topologyReference> can be set for a <trainPartSequence>. By specifying the attributes register and entry, the version(s) and/or variant(s) to be used are referenced within the external topology. This presupposes that the reading system also knows the topology register and can interpret the version(s)/variant(s). If the validity periods are not uniquely defined by the specifications register and entry, they must be specified using the attributes startDate and EndDate. If several references are specified, they must have disjoint validity periods and, in combination, cover at least the operating days of the train.
|
train element sample:
|
<train type="operational" id="train-1455532037" processStatus="actual">
<trainPartSequence sequence="1">
<trainPartRef ref="train-part-1" />
<topologyReference register="UNO" entry="183000-01012017" startDate="2017-02-01" endDate="2017-08-31" />
<topologyReference register="UNO" entry="120000-08012017" startDate="2017-09-01" endDate="2017-12-31" />
</trainPartSequence>
</train>
|
Updated XSD file(s):
|
timetableTypes.xsd
|
New attributes:
|
- /train/trainPartSequence/topologyReference@register
- /train/trainPartSequence/topologyReference@entry
- /train/trainPartSequence/topologyReference@startDate
- /train/trainPartSequence/topologyReference@endDate
|
New elements:
|
- /train/trainPartSequence/topologyReference
|
Element <train> has been expanded by the children <replacements>
Fact:
|
The new <replacements> element is used to group <replacementOf> elements within <train> elements. Using the element <replacementOf> a relationship is defined between the train described in the XML tree and a train that has been cancelled or partially cancelled. The meaning of the relationship is that the train described in the XML tree replaces the cancelled train or the cancelled parts of a train (specified by <uniqueTrainKey> or <tafTapTsiTrainID>) on the specified operating days (specified by <operatingPeriodRef>)
|
train element sample:
|
<train id="train-zug-BLSP-90111-001"
trainNumber="90111"
additionalTrainNumber="1"
cancellation="false"
processStatus="actual"
description="Bern-Muensingen-Thun">
<trainPartSequence sequence="1">
<trainPartRef ref="trainPart1001"/>
</trainPartSequence>
<replacements>
<replacementOf>
<operatingPeriodRef ref="operating-period-KW47-MoFr-18" />
<uniqueTrainKey trainNumber="111" scope="primary" additionalTrainNumber="1" />
</replacementOf>
</replacements>
</train>
|
Updated XSD file(s):
|
- timetable.xsd
- timetableTypes.xsd
|
New attributes:
|
- /train/replacements/replacementOf/operatingPeriodRef@ref
- /train/replacements/replacementOf/uniqueTrainKey @trainNumber
- /train/replacements/replacementOf/uniqueTrainKey@scope
- /train/replacements/replacementOf/uniqueTrainKey@additionalTrainNumber
- /train/replacements/replacementOf/tafTapTsiTrainID@objectType
- /train/replacements/replacementOf/tafTapTsiTrainID@companyCode
- /train/replacements/replacementOf/tafTapTsiTrainID@core
- /train/replacements/replacementOf/tafTapTsiTrainID@variant
- /train/replacements/replacementOf/tafTapTsiTrainID@timetableYear
|
New elements:
|
- /train/replacements
- /train/replacements/replacementOf
- /train/replacements/replacementOf/operatingPeriodRef
- /train/replacements/replacementOf/uniqueTrainKey
- /train/replacements/replacementOf/tafTapTsiTrainID
|
Element <blocks> in <rostering> has been made optional
Infrastructure Subschema
|
In this article there is information missing with respect to last IS changes after June 1st, 2018 between railML® 2.3 and 2.4. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion page. Coordination (talk) 15:59, 11 October 2018 (CEST)
|
|
Fact:
|
Subschema <infrastructureVisualizations> has been reintroduced
|
Reason:
|
The scheme <infrastructureVisualization> has been marked DEPRECATED with version 2.1 without proper alternative implementation
|
Related Development Tickets:
|
#104
|
Updated element(s):
|
<infrastructureVisualizations> and subsidiaries
|
OCP example added to wiki page <ocp>
Fact:
|
<lineDescr> and <trackDescr> are marked DEPRECATED with version 2.4
|
Reason:
|
The elements are not being used
|
Recommendation:
|
For additional description of line or track, please use the attributes <track>@description and <line>@description
|
Related Development Tickets:
|
#113
|
Updated attribute(s):
|
|
Updated element(s):
|
|
Fact:
|
<signal>@sigSystem is currently not used by railML community and thus is marked DEPRECATED with version 2.4
|
Related Development Tickets:
|
#162
|
Updated attribute(s):
|
<signal>@sigSystem
|
Specification of <balise>@staticTelegram changed
Fact:
|
The string data type is combined with a pattern for the HEX format: [0-9a-fA-F]*
|
Reason:
|
The attribute shall be used to represent the binary balise telegram as HEX string
|
Related Development Tickets:
|
#163
|
Updated attribute(s):
|
<balise>@staticTelegram
|
New attributes for <controller>
Fact:
|
<controller> has been extended with:
- parentControllerRef: reference to parent controller [ref]
- model: (product) name of the controller [string]
- type: singleElement / local / regional / crossRegional
- technologyType: manual / mechanical / electro-mechanical / electrical / electronic
- swVersion: controller SW version [string]
|
Reason:
|
Template:IS:controller used to be only an empty placeholder element. It needed further attributes for macroscopic description of the controller for operational purposes.
|
Related Development Tickets:
|
#304
|
New attribute(s):
|
*parentControllerRef
- model
- type
- technologyType
- swVersion
|
Updated element(s):
|
<controller>
|
Fact:
|
Implementation of <lock> with container element <locks> under <ocsElements>
|
Reason:
|
It is not possible to model locks that are used for logical locking connections between switches, derailers, level crossings etc. Like a signal, the lock is a physical signalling element and shall be added to the model.
|
Related Development Tickets:
|
#305
|
New element(s):
|
*<locks>
|
Updated element(s):
|
<ocsElements>
|
<track>@type: value stationTrack deprecated
Fact:
|
<track>@type: value stationTrack deprecated
|
Reason:
|
Not used
|
Related Development Tickets:
|
#318
|
Updated attribute(s):
|
<track>@type
|
Fact:
|
New child elements <maxTrainCurrent> for <electrificationChange> and <electrification>:
attributes @maxCurrent [A], @type [driving/standstill], @validFor [train/pantograph] and @##any for specific constraints
|
Related Development Tickets:
|
#319
|
New element(s):
|
|
Updated element(s):
|
|
Several Attributes of <signal> DEPRECATED
Fact:
|
<signal>@maskableRoute, <signal>@maskableATC, <signal>@sight, <signal>@distNearestDangerPoint are currently not used by railML community and thus are marked DEPRECATED with version 2.4
|
Related Development Tickets:
|
#322
|
Updated attribute(s):
|
|
Updated element(s):
|
<signal>
|
several default values in <levelCrossing> removed
Fact:
|
Default values for <levelCrossing> attributes @length, @angle and @protection removed
|
Reason:
|
Current implementation of a level crossing contains some attributes with default values that are source of errors
|
Related Development Tickets:
|
#323
|
Updated attribute(s):
|
|
Updated element(s):
|
<levelCrossing>
|
Changed Value Set for <ocp><propOperational>@operationalType
Changed Value Set for <ocp><propOperational>@trafficType
Extension of time reference in <state>
Fact:
|
<state> has been extended with new attributes @startTime, @endTime and @endDayOffset
|
Reason:
|
Existing <state> implementation is missing a clear time reference. Currently, there is only the attribute @operatingPeriodRef that links to a (timetable focused) operating period
|
Related Development Tickets:
|
#329
|
New attribute(s):
|
- startTime
- endTime
- endDayOffset
|
Updated element(s):
|
<state>
|
<state> added to <infrastructure>
Fact:
|
<infrastructure> gets child <states>, with the same specification as other occurances of <states>
|
Reason:
|
railML® provides a <state> element already for several infrastructure elements. However, it is currently not possible to tag the whole <infrastructure> tree with a state.
|
Related Development Tickets:
|
#337
|
New element(s):
|
<state> and successors
|
Updated element(s):
|
<infrastructure>
|
<signal><levelCrossing>@type with new value "supervision"
Fact:
|
<signal><levelCrossing>@type has been extended with new value "supervision"
|
Reason:
|
railML® lacks a final level crossing supervision signal that is located immediately before the level crossing
|
Related Development Tickets:
|
#338
|
Updated attribute(s):
|
{IS:Tag
|
<levelCrossing>@type
|nelem=
|uelem={IS:Tag|signal}}<levelCrossing>@type
}}
More sophisticated usage of <state>
Fact:
|
Implementation of <state> has been fused with <ocp><propOther>@status:
- New attribute <state>@status [conceptual / planned / operational / disabled / closed]
- Attribute <state>@disabled [boolean] remains because it is mandatory
- <ocp><propOther>@status is marked DEPRECATED
- New element <ocp><propOther><states>
|
Reason:
|
Current implementation of <state> allows only for distinguishing between disabled and not disabled; more states are needed
|
Related Development Tickets:
|
#339
|
New attribute(s):
|
<state>@status
|
Updated attribute(s):
|
<ocp><propOther>@status
|
New element(s):
|
<propOther><states>
|
Updated element(s):
|
|
New attribute <crossSection>@ocpCenterSide to indicate the direction in which the train driver has to look to see the (virtual) operator
Fact:
|
New attribute <crossSection>@ocpCenterSide to indicate the direction in which the train driver has to look to see the (virtual) operator (values: left / right / above / below / ahead / behind / none)
|
Reason:
|
The center of the OCP is a virtual point and from operational perspective it is defined by the place where the operation/control is done. This can be, but it is not necessarily the station building.
|
Related Development Tickets:
|
#340
|
New attribute(s):
|
<crossSection>@ocpCenterSide
|
Updated element(s):
|
<crossSection>
|
Deprecated Attributes of <propOther>
Fact:
|
@frontier and @chargeFrontier of <propOther> have been declared deprecated.
|
Reason:
|
The attributes are currently not used by railML® community and lack obvious applications.
|
Related Development Tickets:
|
#341
|
Updated attribute(s):
|
|
Updated element(s):
|
<propOther>
|
Rolling stock Subschema
Extension of list of tPlaceCategory
Fact:
|
Extension of list of tPlaceCategory, adding service.types and places.categories
|
Updated elements:
|
<places>
|
Updated attributes:
|
category
|
service@name and service@count optional instead mandatory in schema
Fact:
|
<service>@name and <service>@count optional instead mandatory in schema
|
Updated elements:
|
<service>
|
Updated attributes:
|
|
Change <vehicleBrakeOperation> to optional [0..*] to maintain backwards compatibility
Fact:
|
Change <vehicleBrakeOperation> to optional [0..*] to maintain backwards compatibility
|
Updated Elements:
|
|
@etcsTrainCategory as new attribute at formation
Fact:
|
@etcsTrainCategory as new attribute at <formation>
|
Updated Elements:
|
<formation>
|
Updated Attributes:
|
etcsTrainCategory
|
Adding speedProfileRef in formation
New attributes and sub element for <doors>
Facts:
|
New attributes and sub element for <doors>
|
Related Trac Tickets:
|
#335
|
Updated Elements:
|
|
Updated attributes:
|
|
Adding resistance factors for calculating train resistance by well-known formulas as alternative
Fact:
|
Adding resistance factors for calculating train resistance by well-known formulas as alternative
|
Related Trac Ticket:
|
312 (RS: Resistance factors for calculating train resistance)
|
Updated Elements:
|
<trainResistance>
|
Updated Attributes:
|
- strahlFactor
- daviesMassDependent
- daviesFactorA
- daviesFactorB
- daviesFactorC
|
Fact:
|
<formation>/<trainEngine>@trainMinTimeHoldSpeed
|
Related Trac Ticket:
|
#311 (RS: Minimum time to hold speed)
|
Updated Element:
|
<trainEngine>
|
Updated Attributes:
|
trainMinTimeHoldSpeed
|
Descriptive names included in TrainProtectionSystems
tEffortNewton migrated to tForceNewton
Fact:
|
Attribute type tEffortNewton has been migrated to tForceNewton
|
Reason:
|
railML® simple data types, e.g. for physical units, are not consistently being used
|
Related Development Tickets:
|
#332
|
Updated attribute(s):
|
|
Updated element(s):
|
|
Common parts
|
In this article there is information missing with respect to Changes in common parts between railML® 2.3 and 2.4. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion page. Coordination (talk) 15:59, 11 October 2018 (CEST)
|
|
Codelists
|
In this article there is information missing with respect to Changes in codelists between railML® 2.3 and 2.4. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion page. Coordination (talk) 15:59, 11 October 2018 (CEST)
|
|