Dev:changes/2.5

From railML 2 Wiki
Jump to: navigation, search
railML®
XML Railway exchange format
https://railML.org
Latest release: 2.5
(September 1st, 2021)
 
Main Menu
 
Subschemas
XML tree
UML visualizations
Use cases
Versions & Changes

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.

Contents

Common Subschema

New element <projects>

Fact: Describing the purpose of the model in a related project.
Reason: Requirement from the community.
Related Trac Tickets: #390
New element(s): <projects>, <project>, <designator>, <alternative>, <phase>, <revision>, <objectsRevised>, <revisedBy>, <checkedBy>, <approvedBy>

Timetable Subschema

New @onRequest for <trainPart>

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.

File:Anpassungen railML 2 -Bedarfszüge.pdf

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
Related SVN Commits: [1039]
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 this discussion] (link to the railML® website)
Related Trac Tickets: #378
Updated attribute(s): <trainPartSequence>@pathStatus
Updated element(s): <trainPartSequence>@pathStatus

New child <originalTrackInfo> for <ocpTT>

Fact: New child <originalTrackInfo> for <ocpTT>
Reason: Allow for better communication of track changes
Updated XSD file(s): timetable.xsd
New element(s): <originalTrackInfo>
Updated element(s): <ocpTT>

New children <origin> and <destination> for <trainPart>

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 childs
Updated element(s): <trainPart>

New Child <announcementRef> for <stopDescription> and <trainPart>

Fact: New Child <announcementRef> for <stopDescription> and <trainPart>
Reason: broad revision of annotations
New element(s): <announcementRef> & childs
Updated element(s): <stopDescription>

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>

New child <announcements> of <timetable>

Fact: New child <announcements> of <timetable>
Reason: broad revision of annotations
New element(s): <announcements>
Updated element(s): <timetable>

@processStatus set to deprecated for <trainPart>, <train> and <trainGroup>

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>

@onRequest set to deprecated for <operatingDay>

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>

@shuntingTime set to deprecated for <ocpTT>

Fact: The attribute @shuntingTime was set to deprecated for <ocpTT>.
Reason: clarification of specification of shuntingTimes. There were actually 2 ways of specifying shunting times. @shuntingTime was deprecated in favor of @shuntingTime.
Related Trac Tickets: #343
Updated attribute(s): @shuntingTime
Updated element(s): <ocpTT>

New attribute @parentRef added to <category>

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>

New attribute @organizationalUnitRef added to <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>

New attribute @parentRef added to <trainGroup>

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>

New attribute @lastModified added to <trainPart>

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>

New element <alternativeSectionsTT> added to <ocpTT>

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>
Updated element(s): <ocpTT>

New element <patternTrains>

Fact: Support for very early planning stages.
Reason: Requirement from the community.
Related Trac Tickets: #432
New element(s): <patternTrains>

New element <patternTrainParts>

Fact: Support for very early planning stages.
Reason: Requirement from the community.
Related Trac Tickets: #432
New element(s): <patternTrainParts>

New element <distributions>

Fact: Support for very early planning stages.
Reason: Requirement from the community.
Related Trac Tickets: #433
New element(s): <distributions>

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

New @trainProtectionSystem for <trainProtectionChange> and <trainProtection>

Fact: new attribute @trainProtectionSystem (string) has been added in elements <trainProtectionChange> and <trainProtection>.

@trainProtectionSystem shall reference values from codelist TrainProtectionSystems.xml.

Reason: <trainProtectionChange> and <trainProtection> were missing a parameter to reference the train protection system – compare the forum discussion (link to the railML® website).
Related Trac Tickets: #356
New attribute(s): @trainProtectionSystem
Updated element(s):

@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...
    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>

New Attribute <levelCrossing>@offset

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>

@rampType added to <serviceSection>

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

<ocpVis> replaced with <objectVis>

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>

<genericAreas> has been introduced

Fact: Element <genericAreas> and its 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.
Related SVN Commits: #393
New element(s):
Updated element(s): <infrastructure>, <controller> and others

Rollingstock Subschema

<segmentTable> introduced

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>