Dev:changes/2.3: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(→‎Timetable subschema: Added usingAny documentation (TRAC #268))
Line 8: Line 8:


{{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)}}
{{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)}}
=== {{CO:Doc|usingAny}} for timetable ===
{|
|Fact:
| The timetable schema shall be extended to allow a general use of the any element/attribute ({{CO:Tag|usingAny}}).
|-
| Reason:
| All elements matching a set of defined rules will be extended so that there will be no need to create a new version for every element that needs to be extended.
|-
| Related Trac Tickets:
| [http://trac.railml.org/ticket/268 #268] and [http://trac.railml.org/ticket/267 #267]
|-
| Related SVN Commits:
| [http://trac.railml.org/changeset/638/railML [638]]
|-
| style="vertical-align: top;border-top: 1px solid darkgray;" | Updated XSD file(s):
| style="border-top: 1px solid darkgray;" |
* railwayBaseTypes.xsd
* genericRailML.xsd
* timetableTypes.xsd
* timetable.xsd
|
|-
| style="vertical-align: top;border-top: 1px solid darkgray;" | Updated elements:
| style="border-top: 1px solid darkgray;"|
* /timetablePeriods/timetablePeriod/holidays/holiday
* /operatingPeriods/operatingPeriod/operatingDay tOperatingDay
* /operatingPeriods/operatingPeriod/operatingDay/operatingDayDeviance
* /operatingPeriods/operatingPeriod/specialService
* /trainParts/trainPart/formationTT
* /trainParts/trainPart/formationTT/equipmentUsage/equipment
* /trainParts/trainPart/formationTT/equipmentUsage/equipment/etcs
* /trainParts/trainPart/formationTT/passengerUsage
* /trainParts/trainPart/formationTT/passengerUsage/places
* /trainParts/trainPart/formationTT/reservationInfo/booking
* /trainParts/trainPart/ocpsTT/ocpTT/connections/connection
* /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic
* /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/mean
* /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/median
* /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/standardDeviation
* /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/statisticAnalyses
* /trainParts/trainPart/ocpsTT/ocpTT/sectionTT
* /trainParts/trainPart/ocpsTT/ocpTT/sectionTT/runTimes
* /trainParts/trainPart/ocpsTT/ocpTT/stopDescription
* /trainParts/trainPart/ocpsTT/ocpTT/stopDescription/stopTimes
* /trains/train/trainPartSequence
* /trains/train/trainPartSequence/brakeUsage
* /trains/train/trainPartSequence/brakeUsage/auxiliaryBrakes
* /rosterings/rostering/blockParts eBlockParts
* /rosterings/rostering/blocks/block/blockPartSequence
* /rosterings/rostering/circulations/circulation
|}


=== {{TT:Doc|tafTapTsiTrainID}} ===
=== {{TT:Doc|tafTapTsiTrainID}} ===
Line 23: Line 75:
| [http://trac.railml.org/changeset/641/railML [641]]
| [http://trac.railml.org/changeset/641/railML [641]]
|-
|-
| timetable.xsd:
| style="vertical-align: top;padding-top: 20px;" | timetable.xsd:
|
|
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 50: Line 102:
|
|
|-
|-
| train element sample:
| style="vertical-align: top;padding-top: 20px;" | train element sample:
|
|
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">

Revision as of 15:02, 21 June 2016

railML schema changes between railML® 2.2 and railML® 2.3

This site is intended to collect the schema changes between railML® 2.2 and railML® 2.3 by topics, that influence the XML output. As it starts as a stub please refer to railML forum and railML's ticket system too.

For changes with other version upgrades see CO:changes.

Timetable subschema

Missinginformation.png In this article there is information missing with respect to the all the TT's changes in railML's version 2.3. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion pageVasco Paul Kolmorgen (Diskussion) 18:29, 11. Feb. 2016 (CET)

usingAny for timetable

Fact: The timetable schema shall be extended to allow a general use of the any element/attribute (<usingAny>).
Reason: All elements matching a set of defined rules will be extended so that there will be no need to create a new version for every element that needs to be extended.
Related Trac Tickets: #268 and #267
Related SVN Commits: [638]
Updated XSD file(s):
  • railwayBaseTypes.xsd
  • genericRailML.xsd
  • timetableTypes.xsd
  • timetable.xsd
Updated elements:
  • /timetablePeriods/timetablePeriod/holidays/holiday
  • /operatingPeriods/operatingPeriod/operatingDay tOperatingDay
  • /operatingPeriods/operatingPeriod/operatingDay/operatingDayDeviance
  • /operatingPeriods/operatingPeriod/specialService
  • /trainParts/trainPart/formationTT
  • /trainParts/trainPart/formationTT/equipmentUsage/equipment
  • /trainParts/trainPart/formationTT/equipmentUsage/equipment/etcs
  • /trainParts/trainPart/formationTT/passengerUsage
  • /trainParts/trainPart/formationTT/passengerUsage/places
  • /trainParts/trainPart/formationTT/reservationInfo/booking
  • /trainParts/trainPart/ocpsTT/ocpTT/connections/connection
  • /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic
  • /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/mean
  • /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/median
  • /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/standardDeviation
  • /trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/statisticAnalyses
  • /trainParts/trainPart/ocpsTT/ocpTT/sectionTT
  • /trainParts/trainPart/ocpsTT/ocpTT/sectionTT/runTimes
  • /trainParts/trainPart/ocpsTT/ocpTT/stopDescription
  • /trainParts/trainPart/ocpsTT/ocpTT/stopDescription/stopTimes
  • /trains/train/trainPartSequence
  • /trains/train/trainPartSequence/brakeUsage
  • /trains/train/trainPartSequence/brakeUsage/auxiliaryBrakes
  • /rosterings/rostering/blockParts eBlockParts
  • /rosterings/rostering/blocks/block/blockPartSequence
  • /rosterings/rostering/circulations/circulation

tafTapTsiTrainID

Fact: The <tafTapTsiTrainID> element has been introduced.
Recommendation: Use the new <tafTapTsiTrainID> element for defining the unique train identifier for the unique train numbering.
Related Trac Tickets: #236
Related SVN Commits: [641]
timetable.xsd:
<xs:train>
....
<xs:element name="tafTapTsiTrainID" type="rail:eTapTsiTransportOperationalIdentifier" minOccurs="0" maxOccurs="1">
     <xs:annotation>
        <xs:documentation>Optional information corresponding to the TAF/TAP TSI train ID.</xs:documentation>
     </xs:annotation>
</xs:element>
....
</xs:train>

<xs:attributeGroup name="aTapTsiCompositIdentifierOperationalType">
    <xs:annotation>
         <xs:documentation>Used for unique identification of the objects handled in the messages such as train, path, path request or case refernce.</xs:documentation>
    </xs:annotation>
    <xs:attribute name="objectType" type="rail:tTapTsiObjectType" use="required"/>
    <xs:attribute name="companyCode" type="rail:tCompanyCode" use="required"/>
    <xs:attribute name="core" type="rail:tTapTsiCore" use="required"/>
    <xs:attribute name="variant" type="rail:tTapTsiVariant" use="required"/>
    <xs:attribute name="timetableYear" type="rail:tTapTsiTimetableYear" use="required"/>
    <xs:attribute name="startDate" type="rail:tTapTsiStartDate" use="optional"/>
</xs:attributeGroup>
train element sample:
    <tafTapTsiTrainID objectType="TR" companyCode="0071" core="47110815ABCD" variant="01" timetableYear="2016" />

Infrastructure subschema

trainRadio, trainRadioChange

Fact: The <trainRadio> element and <trainRadioChange> element have been introduced.
Recommendation: Use the new <trainRadio> and <trainRadioChange> elements for defining conditions describing the train radio conditions along the track.
Related Trac Tickets: #43
Related SVN Commits: [630]
ocs element sample:
<ocsElements>
  <trainRadioChanges>
    <trainRadioChange id="trc01" pos="57.46" dir="up" radioSystem="GSM-R" broadcastCalls="true">
    </trainRadioChange>
  </trainRadioChanges>
</ocsElements>
infra attributes sample:
<infraAttrGroups>
  <infraAttributes id="ia01">
    <trainRadio radioSystem="GSM-R" broadcastCalls="true" />
  </infraAttributes>
</infraAttrGroups>

speedChange/@vMax

Fact: The parameter vMax in the <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: #97
Related SVN Commits: [609]
sample:
<speedChange id="sc7" pos="256.7" vMax="end" dir="up" />

radiusChange/@geometryElementDescription

Fact: A new attribute named geometryElementDescription has been added to the <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 English Wikipedia and German Wikipedia description
  • TS_WienerBogen; a special transition curve used in Austria and Germany, see German Wikipedia description
  • TS_BlossBogen; a special transition curve widely in Germany, see 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 geometryElementDescription attribute in the <radiusChange> element for modelling the begin and end points of transition curves.
Related Trac Tickets: #251
Related SVN Commits: [616]
sample for transition curve begin:
<radiusChange ... geometryElementDescription='TS_clothoide' />
sample for transition curve end:
<radiusChange ... geometryElementDescription='SC' />

tsi

Fact: The element <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 <tsi>, please use the <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: #252
Related SVN Commits: [611]
old sample (railML 2.2):
<ocp ... name='Buchs (SG)' ...>
  <tsi country='85' location='09404' check='' />
</ocp>
new sample (railML 2.3):
<ocp ... name='Buchs (SG)' ...>
  <designator register='PLC' entry='CH9404' />
</ocp>

line/@lineCategory

Fact: The optional attribut lineCategory has been added to the parameters of the element <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.
Recommendation: Use the new paramter lineCategory within the element <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: #259
Related SVN Commits: [620], [621], [622]
sample:
<line ... lineCategory='E4' />

additionalName/@xml:lang

Fact: Although being optional, the attribut xml:lang should always be given in the <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 xml:lang when using the element <additionalName>.
Related Trac Tickets: #263
Related SVN Commits: [629]
sample:
<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>

crossedElement

Fact: New optional element crossedElement has been added for the elements levelCrossing, bridge and 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 <crossedElement>.
Related Trac Tickets: #271
Related SVN Commits: [629]
sample for bridge:
<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>

Rollingstock subschema

vehicleIdentification

Fact: The vehicleIdentification element in the <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 <operator> element to have a clear relation to validity period.
Recommendation: Use the new <vehicleIdentification> element for each <operator> element defined for the particular vehicle.
Related SVN Commits: [643]
New sample (railML 2.3):
<operator ...>
  <vehicleIdentification uicIdentNumber='978081940527' countryCode='D' vehicleKeeperMarking='LEG' />
</operator>

trainClearanceGauge

Fact: The trainClearanceGauge element in the <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 <trainClearanceGauge> shall only take elements out of the given list TrainClearanceGauges.xml.
Related Trac Tickets: #3
Related SVN Commits: [627], [623]
New sample (railML 2.3):
<wagon ...>
  <trainClearanceGauge code='GC' />
  <trainClearanceGauge code='DE2' />
</wagon>

maintenanceIntervals

Fact: The maintenanceIntervals element in the <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: #77
Related SVN Commits: [624]
New sample (railML 2.3):
<vehicle ...>
  <maintenanceIntervals>
    <maintenanceInterval id='RSMI1' name='R1' maximumIntervalDays='365' maximumIntervalDistance='20000'/>
    <maintenanceInterval id='RSMI2' name='S1' maximumIntervalDays='730' maximumIntervalDistance='50000'/>
  </maintenanceIntervals>
</vehicle>

Common subschema

Missinginformation.png In this article there is information missing with respect to the CO's changes in railML's version 2.3. Please help improving the railML® wiki by filling the gaps. Possibly, you will find further details on the discussion pageVasco Paul Kolmorgen (Diskussion) 18:29, 11. Feb. 2016 (CET)

Codelists

Fact: Codelist XSD and XML files have been moved to a common folder called codelists. Each codelist will get the name describing its content.
Recommendation: Update references to the new codelists folder as well as the updated file names:
  • codelists/InfrastructureManagers.xml
  • codelists/InfrastructureManagers.xsd
  • codelists/ListBaseTypes.xsd
  • codelists/Registers.xml
  • codelists/Registers.xsd
  • codelists/TrainProtectionSystems.xml
  • codelists/TrainProtectionSystems.xsd .
Related Trac Tickets: #272
Related SVN Commits: [631], [632], [637], [653]

companyCode

Fact: The codelist for infrastructure managers has been extended to include a 'TAF TAP TSI / UIC company code' -
Recommendation: Existing codes have been added to the InfrastructureManagers.xml file and can be used by importing systems.
Related Trac Tickets: #272
Related SVN Commits: [632], [653], [656], [657]
InfrastructureManagers.xsd
<xs:element name="companyCode" type="railcode:tCompanyCode" minOccurs="0">
  <xs:annotation>
    <xs:documentation>company codes according TAP TSI B.8 and UIC IRS/leaflet 920-1:2006</xs:documentation>
  </xs:annotation>
</xs:element>
...
<xs:simpleType name="tCompanyCode">
  <xs:restriction base="xs:string">
    <xs:length value="4"/>
    <xs:pattern value="[0-9]{4}"/>
  </xs:restriction>
</xs:simpleType>
InfrastructureManagers.xml
<infrastructureManager code="ADF">
  <name xml:lang="es">Administrador de Infraestructuras Ferroviarias</name>
  <name xml:lang="en">Administrator of Railway Network</name> 
  <isoCountryCode>ES</isoCountryCode>
  <companyCode>0071</companyCode>
</infrastructureManager>