Introduce <any> attributes/elements more general (de: Allgemeine Einführung von <any>-Attributen/Elementen)
Description
The timetable schema shall be extended to allow a general use of the any element/attribute.
Background
railML partners declared a need for extension of the railML schemes by ?forum posts or in the railML conferences. The hook for these extension is the attribute. However, in version 2.2. there are elements that do not allow extenisions and a new version of railML is needed in case one of the railML partners needs such an extension for a specific use case. The need for extension of the circulation element (see #267 (closed)) was the basis for the decision for a general approach for the timetable schema.
The following rules have been specified:
- an element with at least one attribute shall have an any-attribute
- an element with one or more unique and non-depracated sub elements shall have an any-element
- an element with contains only one unbounded sub element and no attributes shall not be extended. This applies to all 'container elements' - e.g. , , ,
Links
- Forum discussion (Christian Rößiger)
- Wiki Documentation
- CO:usingAny
- related TRAC Tickets
- #267 (closed) - Allow attribute for circulation element
Changes in railML 2.3
Based on the rules above all existing elements in the timetable schema will be updated.
Note: For downward compatibility the any attribute/element of existing elements might be marked as depracated based on the rules above.
railML elements
The following elements have been updated according to the rules above:
= XPath to element = | = updatede XSD element = | = Change = | = Wiki = |
---|---|---|---|
/timetablePeriods/timetablePeriod/holidays/holiday | tHoliday | any attribute | Link |
/operatingPeriods/operatingPeriod/operatingDay | tOperatingDay | any element & attribute | Link |
/operatingPeriods/operatingPeriod/operatingDay/operatingDayDeviance | tOperatingDayDeviance | any attribute | Link |
/operatingPeriods/operatingPeriod/specialService | tSpecialService | any attribute | Link |
/trainParts/trainPart/formationTT | tFormationTT | any element | Link |
/trainParts/trainPart/formationTT/equipmentUsage/equipment | tEquipment | any element | Link |
/trainParts/trainPart/formationTT/equipmentUsage/equipment/etcs | tEtcsTT | any attribute | Link |
/trainParts/trainPart/formationTT/passengerUsage | ePassengerFacilityTT | any element | Link |
/trainParts/trainPart/formationTT/passengerUsage/places | tPlacesTT | any attribute | Link |
/trainParts/trainPart/formationTT/reservationInfo/booking | tBooking | any attribute | Link |
/trainParts/trainPart/ocpsTT/ocpTT/connections/connection | tConnectionTT | any element | Link |
/trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic | tStatistic | any element | Link |
/trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/mean | tStatisticTimes | any attribute | Link |
/trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/median | tStatisticTimes | any attribute | Link |
/trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/standardDeviation | tStandardDeviationTimes | any attribute | Link |
/trainParts/trainPart/ocpsTT/ocpTT/statistics/statistic/statisticAnalyses | tStatisticAnalyses | any attribute | Link |
/trainParts/trainPart/ocpsTT/ocpTT/sectionTT | tSectionTT, aSectionTT | any element | Link |
/trainParts/trainPart/ocpsTT/ocpTT/sectionTT/runTimes | tRunTimes | any attribute | Link |
/trainParts/trainPart/ocpsTT/ocpTT/stopDescription | tStopDescription | any element | Link |
/trainParts/trainPart/ocpsTT/ocpTT/stopDescription/stopTimes | tStopTimes | any attribute | Link |
/trains/train/trainPartSequence | tTrainPartSequence | any element | Link |
/trains/train/trainPartSequence/brakeUsage | eBrakeUsage | any element | Link |
/trains/train/trainPartSequence/brakeUsage/auxiliaryBrakes | tBasicBrakeType | any attribute | Link |
/rosterings/rostering/blockParts | eBlockParts | any element deprecated | Link |
/rosterings/rostering/blocks/block/blockPartSequence | tBlockPartSequence | any element | Link |
/rosterings/rostering/circulations/circulation | tCirculation | any attribute | Link |
The following XSD file(s) have been updated:
- railwayBaseTypes.xsd
- genericRailML.xsd
- timetableTypes.xsd
- timetable.xsd
Changesets
- [changeset:"638/railML"] - Added any attributes and elements
Documetation Tasks
The Wiki (see table above) has been updated to include the any element and/or attribute with reference to version 2.3.