Dev:changes/2.2

From railML 2 Wiki
Jump to navigation Jump to search
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

railML® schema changes between railML® 2.1 and railML® 2.2
 

This site is intended to collect the schema changes between railML® 2.1 and railML® 2.2 by topics, that influence the XML output.

A complete diff comparison can be found under Dev:changes/2.2/diff

Changes are also marked on the element pages with (introduced with version 2.2) for introduced components and (deprecated with version 2.2) for components that became obsolete. All occurances of these tags are listed in Category:Intro/2.2 respectively Category:Depr/2.2.

For changes with other version upgrades see Dev:changes.

Note.png In some places on this page, the changes are expressed in diff terms (for instance the line timetable.xsd @@ -1,28 +1,64 @@ in #annotations). An explanation of how to interpret diff output can be found here (external link).


Timetable subschema

Direction types

Fact: The possible values for attribute dir have been reviewed and restructured.

timetable: Keys

Fact: The keys operatingPeriodKey and categoryKey have been moved to <railml> and some of their keyrefs have been changed. The key trainPartKey has been expanded by keyref trainPart-connectionKeyref. The key train-connectionKeyref has been expanded by keyref train-connectionKeyref. keyref nextBlock-circulationKeyref of key blockKey has been replaced by keyref block-circulationNextKeyref. Key annotationKey has been introduced with keyrefs annotation-trainPartKeyref, annotation-stopDescriptionKeyref and annotation-connectionKeyref
timetable.xsd @@ -41,40 +77,6 @@ @@ -87,6 +89,10 @@ @@ -96,6 +102,10 @@ @@ -118,16 +128,40 @@

metadata

Fact: <metadata> and its children have been introduced.

annotations

Fact: <annotations> and its children have been introduced.
timetable.xsd @@ -1,28 +1,64 @@

service/type

Fact: <service> has been expanded by type

equipment/@type

Fact: The values of type of equipment have now to be chosen from the codelist TrainProtectionSystems.xml.

etcs

Fact: The element <etcs> has been introduced.

passengerUsage

Fact: Element <passengerUsage> has been expanded by the children <places> and <service>.
timetable.xsd @@ -188,19 +258,62 @@

train/@remarks

Fact: Element <train> has been expanded by @remarks.
timetableTypes.xsd @@ -225,6 +280,11 @@

trainPart

Fact: Element <trainPart> has been expanded by the children <organizationalUnitBinding> and <annotationRef>.
timetable.xsd @@ -220,9 +368,32 @@

trainNumber

Fact: Element <trainNumber> has been expanded by the child <organizationalUnitBinding>
timetable.xsd @@ -310,15 +557,77 @@

operatingPeriodRef and specialService

Fact: Child <specialService> of <operatingPeriodRef> has been deprecated. Instead, employ operatingPeriodRef/@ref.
timetable.xsd @@ -237,7 +408,12 @@
The attributes @startDate and @endDate have been deprecated. Instead, employ restricted operating period.
timetableTypes.xsd @@ -280,10 +328,23 @@

connection and annotationRef

Fact: Element <connection> has been expanded by child <annotationRef>.
timetable.xsd @@ -272,13 +472,36 @@
<connection> has been expanded by attributes @connType, @ocpRef, @trainPartRef and @xs:any.
timetableTypes.xsd @@ -346,13 +453,48 @@

stopDescription

Fact: Element <stopDescription> has been expanded by the children <platformEdgeRef>, <serviceSectionRef> and <annotationRef>.
timetable.xsd @@ -310,15 +557,77 @@
Element <stopDescription> has been expanded by the attributes @guaranteedPass, @operationalStopOrdered and @stopPostRef.
timetableTypes.xsd @@ -422,11 +593,46 @@

trainPartSequence and speedProfileRef

Fact: Element <trainPartSequence> has been expanded by a child <speedProfileRef>.
timetable.xsd @@ -336,9 +649,27 @@

formationTT/@orientationReversed

Fact: <formationTT> has been expanded by @orientationReversed.
timetableTypes.xsd @@ -107,40 +111,81 @@

brakeUsage/@brakePercentage

Fact: Attribute @brakePercentage of Element <brakeUsage> has been deprecated.
timetableTypes.xsd @@ -182,6 +227,16 @@

ocpTT

Fact: <ocpTT> has been expanded by attribute @sequence. The allowed values of @ocpType have been reduced by begin and end.
timetableTypes @@ -297,28 +358,74 @@

sectionTT/@xs:anyAttribute

Fact: Element sectionTT has been expanded by attribute @xs:any.
timetableType.xsd @@ -392,12 +534,13 @@

times

Fact: <times> has been expanded by @any. The attributes @arrivalDay and @departureDay have been provided with default 0.
timetableTypes.xsd @@ -297,28 +358,74 @@

blockPart

Fact: The attributes @beginDay and @endDay of <blockPart> have been provided with default 0.
timetableTypes.xsd @@ -524,9 +730,9 @@

circulation

Fact: <circulation> has been expanded by attributes @vehiclecounter and @vehicleGroupCounter.
timetableTypes.xsd @@ -564,10 +770,20 @@

Infrastructure subschema

metadata

Fact: <metadata> and its children have been introduced.

speed

Fact: <speed> has been expanded with etcsTrainCategory (instead of trainCategory) and profileRef.
infrastructureTypes.xsd @@ -727,33 +1206,186 @@

speedProfiles

Fact: The element <speedProfiles> plus its children have been introduced. <speedProfiles> serves as a container for an indefinite number of <speedProfile> elements. A <speedProfile> defines a speed profile dependent on a number of factors like maximum load, and train features like the installed protection and braking system. Some features are modelled as attributes, others as children. A <speedProfile> may be labeled either increasing or decreasing with @influence. Notice, that <speedProfile> does not contain speed information in detail, but instead declares a set of features that can be used in order to state, whether a certain <speedChange> shall be valid for a train or not. Therefore, a <speedProfile> is referenced from a <speedChange> element.
Reason: Not every <speedChange> along a track is valid for every train, but refers to special circumstances. The <speedProfile> element allows it to define these circumstances that are related to the train and track conditions. Thus, the <speedProfile> is also a concept for categorizing trains regarding their speed abilities.
Related Development Tickets: #41
Related Commits: [437] (Note on legacy SVN commits), [445] (Note on legacy SVN commits), [450] (Note on legacy SVN commits), [456] (Note on legacy SVN commits), [462] (Note on legacy SVN commits), [463] (Note on legacy SVN commits), [464] (Note on legacy SVN commits), [472] (Note on legacy SVN commits), [527] (Note on legacy SVN commits), [584] (Note on legacy SVN commits)
Example: The following example speed profiles may be defined:
<speedProfile id="sp1" name="Basis" influence="increasing" description="speed profile as general basis for other overlaying profiles"/>
<speedProfile id="sp2" name="HeavyLoad" influence="decreasing" axleLoad="40" description="speed profile for heavy freight trains"/>
<speedProfile id="sp3" name="Bridge" influence="increasing" meterLoad="8" description="speed profile for typical bridges"/>
<speedProfile id="sp4" name="Temporary" influence="decreasing" operatingPeriodRef="op_1" description="temporary speed profile due to maintenance work"/>
<speedProfile id="sp5" name="LZB" influence="increasing" description="speed profile for trains with activated LZB train protection system"/>
<speedProfile id="sp6" name="Verbal" influence="decreasing" verbalConstraint="Desiro" description="speed profile for trains fulfilling a certain verbal constraint"/>
<speedProfile id="sp7" name="Tilting" influence="increasing" description="speed profile for tilting trains">
  <tilting maxTiltingAngle="8" actuation="active" tiltingSpeed="1"/>
</speedProfile>
<speedProfile id="sp8" name="Braking" influence="decreasing" description="speed profile for trains with certain brake capabilities">
  <braking mimiumBrakePercentage="123"/>
</speedProfile>
<speedProfile id="sp9" name="Path" incfluence="decreasing" description="speed profile for trains on a certain path">
  <path>
    <ocpRef ref="ocp01"/>
    <ocpRef ref="ocp01"/>
  </path>
</speedProfile>

speedChange

Fact: For <speedChange>, @trainCategory has been marked DEPRECATED and replaced by the new attribute @ectsTrainCategory of type integer. Further, an attribute @profileRef has been introduced in order to reference a <speedProfile> element. The newly introduced attribute @trainRelation is used to reference the part of the train from where on the speed change is valid. The two boolean parameters, @mandatoryStop and @signalised are used for further specification of the <speedChange> element.
Reason: @trainCategory has been replaced with @ectsTrainCategory in order to standardize this information: use ETCS-code numbers instead of unnormed strings. @profileRef allows to link a <speedChange> with a <speedProfile>. @trainRelation makes explicit, whether the <speedChange> is valid from the front, the middle or the rear of the train. @mandatoryStop marks whether the train has to halt, e.g. at a level crossing. @signalised declares, whether the speedChange is signalised, e.g. with a panel.
Related Development Tickets: #41, #100, #190, #193, #227
Related Commits: [436] (Note on legacy SVN commits), [438] (Note on legacy SVN commits), [456] (Note on legacy SVN commits), [461] (Note on legacy SVN commits), [514] (Note on legacy SVN commits), [583] (Note on legacy SVN commits)
Example: The following example shows a signalised speed change with reference to a reduced speed:
<speedChange id="sc1" pos="12.34" profileRef="sp4" maxSpeed="80" trainRelation="headOfTrain" signalised="true"/>

Direction types

Fact: The possible values for attribute dir have been reviewed and restructured.
Reason: Depending on the type of element, where the attribute dir occurs, different values should be available. Most elements require a "strict direction" with possible values "up" and "down", e.g. elements <speedChange>, <gradientChange> or <radiusChange>. Other elements may additionally require a direction value "unknown", e.g. the element <levelCrossing>. Further, there are also elements that require a "lax direction" with possible values "up", "down", "unknown", "none" and "both", e.g. element <crossSection>. Last, but not least, there is the direction of the mileage, which should not be modelled using the values "up" and "down" due to misinterpretations, but which should be defined as an own mileage direction type with values "raising" and "falling".
Recommendation: Use the attribute dir of each element according to its direction definition.
Related Development Tickets: #41, #100, #190, #193, #227
Related Commits: [377] (Note on legacy SVN commits), [441] (Note on legacy SVN commits) and [478] (Note on legacy SVN commits)

platformEdge and serviceSection

Fact: The elements <platformEdges> and <serviceSections> plus their children <platformEdge> resp. <serviceSection> have been added as new child elements of <trackElements>.
Reason: The elements <platformEdge> and <serviceSection> were missing and needed for more detailed (microscopic) operational modelling. Both elements derive from the same base data type and are modelled like other child elements of <trackElements>.
Recommendation: Use the new <platformEdge> element to model a platform edge along a track, e.g. in a station. Use the new <serviceSection> element to model a service area along a track where fueling, watering etc. is done.
Related Development Tickets: #122
Related Commits: [440] (Note on legacy SVN commits), [448] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [498] (Note on legacy SVN commits), [499] (Note on legacy SVN commits), [500] (Note on legacy SVN commits) and [566] (Note on legacy SVN commits)
Example:
Example for <platformEdge>
<platformEdge id="pe263012" dir="up" pos="12197" absPos="103215" length="199" ocpRef="ocpKSPA" side="right">
  <geoCoord coord="50.257208 7.646223" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
</platformEdge>
Example for <serviceSection>
<serviceSection id="ss263019" dir="up" pos="50852" absPos="141869" length="122" ocpRef="ocpFNDH" side="left"
                cleaning="true" fueling="true" loadingFacility="true">
  <geoCoord coord="50.036540 7.804770" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
</serviceSection>

mileageChange/@absDir and mileageChange/geoCoord

Fact: The <geoCoord> element has been (re-) introduced as child element of <mileageChange> element. Further, the optional parameter absDir with its possible values "raising" and "falling" has been added to element <mileageChange>. At the same time, the parameter dir with its values "up" and "down" has been marked DEPRECATED.
Reason: The <geoCoord> element disappeared from element <mileageChange> with version 2.0. Now, it has been re-introduced as it was requested. Further, the new attribute absDir shall be used to define the direction of the mileage ("raising" or "falling") starting from here into the orientation direction of the track. At the same time, the existing optional attribute dir has been marked DEPRECATED as it is not needed for the <mileageChange>, but instead leads to misinterpretations regarding the direction of the mileage.
Recommendation: Use the new <geoCoord> element in <mileageChange> in order to define the geographic position of a mileage change point on your track. Use the new attribute absDir in element <mileageChange> in order to define the new direction of the mileage starting from this point.
Related Development Tickets: #134
Related Commits: [430] (Note on legacy SVN commits)
Example:
<trackTopology>
  <trackBegin id="tr01_tb" pos="0">
    <geoCoord coord="50.350834 7.589025" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
  </trackBegin>
  <trackEnd id="tr01_te" pos="61229">
    <geoCoord coord="49.968768 7.889734" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
  </trackEnd>
  <mileageChanges>
    <mileageChange id="tr01_mc01" pos="31186" absPosIn="122384" absPos="122385" type="missing" absDir="raising">
      <geoCoord coord="50.168017 7.687182" epsgCode="urn:ogc:def:crs:EPSG::4326"/>
    </mileageChange>
  </mileageChanges>
</trackTopology>

trackBegin/geoCoord and trackEnd/geoCoord

Fact: The <geoCoord> element has been added as child element of <trackBegin> and <trackEnd> element.
Reason: So far it was not possible to define the begin or the end of a track by their geographic coordinates.
Recommendation: Use the new <geoCoord> element in <trackBegin> and <trackEnd>.
Related Development Tickets: #35
Related Commits: [433] (Note on legacy SVN commits)
Example:
<trackTopology>
  <trackBegin id="tr01_tb" pos="0">
    <geoCoord coord="50.350834 7.589025" epsgCode="urn:ogc:def:crs:EPSG::4326" />
  </trackBegin>
  <trackEnd id="tr01_te" pos="61229">
    <geoCoord coord="49.968768 7.889734" epsgCode="urn:ogc:def:crs:EPSG::4326" />
  </trackEnd>
</trackTopology>

trackBegin/@absDir

Fact: The optional attribute absDir has been added to the element <trackBegin>. Its possible values are "raising" and "falling".
Reason: So far, it was not possible to determine the direction of the mileage ("raising" or "falling") at the beginning of a track without setting a separate <mileageChange> element.
Recommendation: Use the new attribute absDir in element <trackBegin> in order to define whether the mileage (absPos) starts "raising" or "falling" into the orientation direction of the track.
Related Development Tickets: #159
Related Commits: [444] (Note on legacy SVN commits)
Example:
<trackTopology>
  <trackBegin id="tr01_tb" pos="0" absPos="91199" absDir="raising">
    <geoCoord coord="50.350834 7.589025" epsgCode="urn:ogc:def:crs:EPSG::4326" />
  </trackBegin>
  <trackEnd id="tr01_te" pos="61229" absPos="152428">
    <geoCoord coord="49.968768 7.889734" epsgCode="urn:ogc:def:crs:EPSG::4326" />
  </trackEnd>
</trackTopology>

trackEnd/@absPosIn

Fact: The optional attribute absPosIn has been added to the element <trackEnd>. Its possible values are of type tLengthM (meters).
Reason: If the mileage (absPos) changes in the end of the track, it was not possible to model this change without an additional <mileageChange> element. This problem has been solved with the new attribute, which allows it to define two mileages (an "incoming" one and an "outgoing" one) for the <trackEnd>.
Recommendation: Use the new attribute absPosIn in combination with the attribute absPos in element <trackEnd> if you want to model a mileage change in the end of the track.
Related Development Tickets: #159
Related Commits: [453] (Note on legacy SVN commits)
Example:
<trackTopology>
  <trackBegin id="tr01_tb" pos="0" absPos="91199" absDir="raising">
    <geoCoord coord="50.350834 7.589025" epsgCode="urn:ogc:def:crs:EPSG::4326" />
  </trackBegin>
  <trackEnd id="tr01_te" pos="61229" absPosIn="152428" absPos="152455">
    <geoCoord coord="49.968768 7.889734" epsgCode="urn:ogc:def:crs:EPSG::4326" />
  </trackEnd>
</trackTopology>

ocp

Fact: @abbrevation and @number in the <ocp> element have been declared deprecated. @parentOcpRef and <designator> have been introduced. additionalName has been expanded by @type.
Reason: There are multiple different abbreviations and numbers for single operation or control points. They can't be defined with one attribute. Use, depending on context, <designator> or additionalName instead. @parentOcpRef allows for grouping ocps. <designator> allows for more codes than the depricated @code, plus it can establish a relation with the codelist Registers.xml. additionalName/@type allowes to declare the context of a name: is it valid under operational or traffic aspects, or as a local name?
Recommendation: Use the new <tsi> and/or <designator> elements instead.
Related Development Tickets: #112, #153
Related Commits: [335] (Note on legacy SVN commits), [439] (Note on legacy SVN commits)
Example:
Old sample (railML® 2.1)
<ocp ... name="Passau Hbf." abbrevation="NPA"/>
New sample (railML® 2.2)
<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>

stopPosts

Fact: The elements <stopPosts>, <stopPost> (with children <signalRef> and <validForMovements>) have been introduced under <ocsElements>.
Reason: <stopPosts> is a container for <stopPost> elements. The element <stopPost> has been introduced to mark a position on a track, where a train, which fulfills certain criteria, needs to stop in order to change passengers or because of other operational rules. In most cases the <stopPost> is a physical panel or signal, but it may be also @virtual and exist only in a rule book. <validForMovements> specifies the train types for which the stop post is relevant (freight trains, passenger trains, shunting, ...). As a <stopPost> may be connected with several signals, <signalRef> has been introduced to reference relevant signals for the <stopPost>. Further attributes like @trainLength, @axleCount, etc. can be used to define additional constraints for trains to consider this <stopPost>. Additionally, a <stopPost> may reference a <platformEdge> and an <ocp> via its attributes @platformEdgeRef and @ocpRef.
Related Development Tickets: #167, #198
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

line/@infrastructureManagerRef

Fact: The element line has been expanded by an attribute @infrastructureManagerRef.
Reason: @infrastructureManagerRef allows to address a certain Template:CO:infrastructureManagerfrom the infrastructure manager codelist.
Related Development Tickets: #152
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)
Example:
   ...
   <trackGroups>
     <line id="a48a6491-301a-4dcf-8293-56f79979e7be"
           code="11801"
           name="Ostbahn"
           description="ehemals Wien-Raaber Bahn vom gschleiften Wiener Südbahnhof nach Hegyeshalom"
           xml:lang="de-AT"
           type="mainLine"
           infrastructureManagerRef="33e19910-794d-4afc-88f3-b5f27a3f6a6a"
           lineCategory="D4">
       <additionalName name="Austrian East Railway"
                       description="former Vienna-Raab railway from abandoned Vienna South Station to Hegyeshalom"
                       xml:lang="en"/>
       <trackRef ref="tr01"/>
     </line>
   </trackGroups>
   ...

owner/@infrastructureManagerRef

Fact: owner has been expanded with infrastructureManagerRef.
infrastructureTypes.xsd @@ -265,8 +640,17 @@
Related Development Tickets: #152
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

baliseGroup

Fact: The element baliseGroup gets the attributes @id, @name, @code,

@description, @xml:lang and @type.

Reason: The first five of the six new attributes make baliseGroups become identifiable objects so they can be addressed from a signal. @type refers to the technical principle (infill, signal, technicalFixed, technicalSwitchable).
Related Development Tickets: #174
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

trainProtectionElementGroup and trainProtectionElementRef

Fact: The elements <trainProtectionElementGroup> and <trainProtectionElementRef> have been introduced.
Reason: The elements allow for grouping <trainProtectionElement> instances: <trainProtectionElementGroup> established an identifiable group that may be addressed from a <signal>. Its child <trainProtectionElementRef> addresses the trainProtectionElements belonging to the group.
Related Development Tickets: #199
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

trainProtectionElement

Fact: The elements <trainProtectionElement> has been expanded by @trainProtectionSystem as to replace @system.
Reason: <trainProtectionElement> addresses an elemen of the codelist TrainProtectionSystems.xml. This is more precise and facilitates the maintenance.
Related Development Tickets: #175
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

derailers, derailer and geoCoord

Fact: The elements <derailers>, <derailer> geoCoord have been introduced.
Reason: <derailer> allows to represent, identify and specify derailers. Via ists child geoCoord it can be located. derailers serves as a container.
Related Development Tickets: #232
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

signal

Fact: The attributes @switchable, @signalBoxOcpRef and @stationOcpRef have been depricated. The attributes @controllerRef and @ocpStationRef have been introduced. The elements <speed> (plus its child <speedChangeRef>, <etcs>, <levelCrossing>, <trainRadio>, <catenary>, <line>, <milepost> and <braking> have been introduced.
Reason: The new children help standardizing the representation of signals within railML®, as the offer a frame for distinct signal types. As a consequence signal remains a sort of container. straightforwardly switchable has been passed down to the actual specification. @stationOcpRef has been replaced by @ocpStationRef, as the latter is defined more demanding (its valid only for ocps that are stations) — so if you get accross some old @stationOcpRef, you immediately know, that it does not necessarily address a station. @signalBoxOcpRef has been replaced by @controllerRef.
Related Development Tickets: #173
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

states, state, from, to

Fact: The elements <states>, <state>, <from>, <to> have been introduced at several places throughout the <infrastructure> subschema.
Reason: <state> allows to declare, whether a piece of infrastructure is disabled or not (within the referenced operating period). Via its children <from> and <to> the statement can be constrained to a certain traject of the infrastructure piece. <states> serve as a container so you can express different states e.g. within different operating periods or for different reasons.
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

infraAttributes

Fact: The definition of tElementWithIDAndNameWithoutAny changed.
genericRailML.xsd @@ -140,7 +197,7 @@
genericRailML.xsd @@ -151,22 +208,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

infrastructure

Fact: <infrastructure> has been expanded by a number of keys.
Infrastructure.xsd @@ -14,24 +14,201 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

infraAttrGroupRefs and infraAttrGroupRef

Fact: <infraAttrGroupRefs> and <infraAttrGroupRef> have been introduced while @infraAttrGroupRef of <track> has been removed.
Infrastructure.xsd @@ -133,10 +401,31 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

track

Fact: <track> has been expanded with <any>.
Infrastructure.xsd @@ -133,10 +401,31 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

area@zip

Fact: <area>@zip switched from integer to string.
infrastructureTypes.xsd @@ -58,10 +206,135 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

propService@airport

Fact: <propService> has been expanded with airport.
infrastructureTypes.xsd @@ -92,6 +365,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

ownerChange/@dir

Fact: The options for ownerChange/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -275,7 +659,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

operationModeChange/@dir

Fact: The options for operationModeChange/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -310,7 +694,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

trainProtectionChange/@dir

Fact: The options for <trainProtectionChange>/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -327,7 +711,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

electrificationChange/@dir

Fact: The options for <electrificationChange>/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -371,7 +779,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

gaugeChange/@dir

Fact: The options for <gaugeChange>/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -398,7 +806,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

powerTransmissionChange/@dir

Fact: The options for <powerTransmissionChange>/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -430,7 +838,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

axleWeightChange/@dir

Fact: The options for <axleWeightChange>/@dir have been constrained to up nd down.
infrastructureTypes.xsd @@ -430,7 +838,7 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

Rollingstock subschema

nationalSystem-specificTransmissionModuleKeyref

Fact: Key nationalSystemKey of the subschema root element <rollingstock> has been expanded by keyref nationalSystem-specificTransmissionModuleKeyref.
rollingstock.xsd @@ -47,6 +50,10 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

metadata

Fact: <metadata> and its children have been introduced.
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

Service/type

Fact: <service_passenger> and <service_goods> have been expanded by type.
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

nationalSystem/@type

Fact: The values of type of nationalSystem have now to be chosen from the codelist TrainProtectionSystems.xml.
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

manufacturer

Fact: In <manufacturer>, vehicleManufacturerRef has been introduced as to replace manufacturerName.
rollingstockTypes.xsd @@ -157,11 +157,16 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

operator

Fact: In <operator>, vehicleOperatorRef has been introduced as to replace operatorName.
rollingstockTypes.xsd @@ -183,11 +188,16 @@
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

Common subschema

Codelists

Fact: The codelists InfrastructureManagerCodes.xml, Registers.xml and TrainProtectionSystems.xml have been introduced.
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

railml: Keys

Fact: <railml> has been expanded by the following keys and keyrefs resp. keys or keyrefs have moved to <railml> from other places:
Key Keyrefs
infrastructureManagerKey infrastructureManager-ownerKeyref
infrastructureManager-ownerChangeKeyref
infrastructureManager-lineKeyref
vehicleManufacturerKey vehicleManufacturer-manufacturerKeyref
vehicleOperatorKey vehicleOperator-operatorKeyref
customerKey customer-customerKeyref
railwayUndertakingKey railwayUndertaking-railwayUndertakingKeyref
operationalUndertakingKey operationalUndertaking-operationalUndertakingKeyref
concessionaireKey concessionaire-concessionaireKeyref
contractorKey contractor-contractorKeyref
ocpKey ocp-macroscopicNodeKeyref
ocp-switchKeyref
ocp-crossSectionKeyref
ocp-levelCrossingKeyref
ocp-signalKeyref
ocp-trainDetectorKeyref
ocp-trackCircuitBorderKeyref
ocp-platformEdgeKeyref
ocp-serviceSectionKeyref
ocp-stopPostKeyref
ocp-locallyControlledAreaKeyref
ocp-stateKeyref
ocp-signal-signalBoxKeyref
ocp-locallyControlledArea-shortKeyref
ocp-ocpTTKeyref
ocp-connectionKeyref
ocp-blockPartStartKeyref
ocp-blockPartEndKeyref
track-ocpKeyref
trackKey track-lineKeyref
track-locallyControlledAreaKeyref
track-ocpTTKeyref
track-sectionTTKeyref
lineKey line-signalLineKeyref
line-signalMilepostKeyref
line-sectionTTKeyref
categoryKey category-trainPartKeyref
category-trainPartSequenceKeyref
category-formationKeyref
speedProfileKey speedProfile-trainPartSequenceKeyref
stopPostKey stopPost-stopDescriptionKeyref
platformEdgeKey platformEdge-platformEdgeKeyref
platformEdge-stopPostKeyref
platformEdge-stopDescriptionKeyref
serviceSectionKey serviceSection-serviceSectionKeyref
serviceSection-stopDescriptionKeyref
operatingPeriodKey operatingPeriod-trainPartKeyref
operatingPeriod-stopDescriptionKeyref
operatingPeriod-blockPartKeyref
operatingPeriod-circulationKeyref
operatingPeriod-circulationNextKeyref
operatingPeriod-annotationKeyref
operatingPeriod-stateKeyref
operatingPeriod-speedProfileKeyref
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)

organizationalUnits

Fact: <organizationalUnits> and its children have been introduced.
Related Development Tickets: #156
Related Commits: [459] (Note on legacy SVN commits), [465] (Note on legacy SVN commits), [468] (Note on legacy SVN commits), [474] (Note on legacy SVN commits), [475] (Note on legacy SVN commits), [477] (Note on legacy SVN commits), [501] (Note on legacy SVN commits), [508] (Note on legacy SVN commits), [509] (Note on legacy SVN commits), [512] (Note on legacy SVN commits), [513] (Note on legacy SVN commits), [529] (Note on legacy SVN commits)