railML 2 issueshttps://development.railml.org/railml/version2/-/issues2023-02-13T18:30:25+01:00https://development.railml.org/railml/version2/-/issues/482Redundancy between signal and its sub-elements2023-02-13T18:30:25+01:00TT CoordinationRedundancy between signal and its sub-elementsAs per version 2.5 of railML 2.x there is a redundancy between the signal and its attributes and the attributes of its subelements. one such redundancy is the mandatory attribute @switchable of signal, which was reintroduced with version...As per version 2.5 of railML 2.x there is a redundancy between the signal and its attributes and the attributes of its subelements. one such redundancy is the mandatory attribute @switchable of signal, which was reintroduced with version 2.5 after being deprecated in 2.2. However there also is an attribute @switchable at the following subelements: speed, etcs, levelCrossing, trainRadio, catenary, line, milepost and braking. None of these have become deprecated. As such it is unclear how to interpret a railML 2.5 signal. We should provide documentation for that and at least explain how it is meant.
For the maintenance release of 2.5 that is planned we should include a change that declares the ones that are not necessary anylonger as deprecated (probably the ones on the lower level).IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/481crossedElements/crossedElement/@type: Values are not plausible2022-08-08T17:03:50+02:00TT CoordinationcrossedElements/crossedElement/@type: Values are not plausibleFor bridges, tunnels and level crossings the same type is used to specify the elements being crossed. To do so a type needs to be specified using the attribute type. The enumeration contains values that are not plausible. A level crossin...For bridges, tunnels and level crossings the same type is used to specify the elements being crossed. To do so a type needs to be specified using the attribute type. The enumeration contains values that are not plausible. A level crossing over a river does not seem realistic, nor does a valley.
It should also be discussed if it is good that the type attribute is required but does not allow specifying that it is not known what type it is. That means that it is not possible to specify that a track crosses a certain road and name that road if it is not possible to specify the type of road being crossed.2.xIS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/480Crossed element type2022-08-08T14:18:10+02:00IS CoordinationCrossed element type## Description
Description and explanation of crossed element types in the forum is not sufficient enough and should be extended.
### Links
* Forum discussion:
* Torben Brand, 03.04.2022: https://www.railml.org/forum/index.php?t=msg...## Description
Description and explanation of crossed element types in the forum is not sufficient enough and should be extended.
### Links
* Forum discussion:
* Torben Brand, 03.04.2022: https://www.railml.org/forum/index.php?t=msg&th=874&start=0&
* Git issues
* Wiki documentation
* IS:crossedElement: https://wiki2.railml.org/wiki/IS:crossedElement_crossedElements_levelCrossing
## Proposed solution railML 2
Documentation of crossed element type in Wiki need to be enhanced:
* add OSM related links (see schema documentation) for <crossedElement>@type enumeration values
* add best practice examples for different types of crossed ways2.xIS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/479Refactor externalReference2021-08-31T17:16:48+02:00CO CoordinationRefactor externalReferenceReported by David Lichti:
The types of the `trainNumber`, `lineNumber` and `information` elements under the `externalReference` element are defined inplace. This does not match the pattern used for most other elements, where types are d...Reported by David Lichti:
The types of the `trainNumber`, `lineNumber` and `information` elements under the `externalReference` element are defined inplace. This does not match the pattern used for most other elements, where types are defined separately.
## Proposed solution
Extract new types for the child elements.TT CoordinationTT Coordinationhttps://development.railml.org/railml/version2/-/issues/477Infrastructure based media resources for passenger information system2022-08-08T14:25:10+02:00IS CoordinationInfrastructure based media resources for passenger information system## Description
In order to create OCP or platform specific passenger information that can be communicated via loudspeakers or other media, it is necessary to have relevant information attached to the OCP and platform elements in infrast...## Description
In order to create OCP or platform specific passenger information that can be communicated via loudspeakers or other media, it is necessary to have relevant information attached to the OCP and platform elements in infrastructure. The idea is to make use of these OCP and platform specific passnger information when the train enters the information area surrounding the related infrastructure element.
The focus of this ticket is on the data used by the passenger information system. These data are currently not explicitly modelled in the infrastructure schema.
### Background
_see forum post by Milan_
### Links
* Forum discussion
* Milan Wölke, 18.07.2021: [https://www.railml.org/forum/index.php?t=msg&th=825&start=0&]
* Trac ticket
* #473
* #477
* Wiki documentation
## Proposed solution railML 2.5
**<ocp>**, **<track>** and **<platformEdge>** shall be connected with media resource data usable for passenger information systems.
The above mentioned elements shall get a new optional child element **<propPassengerInformation>**, which acts as container for passenger information system related properties.
<propPassengerInformation> shall have a new optional child element **<mediaResources>**, which is the container for all media resources (text fragments, audio fragments) connected with this infrastructure element.
Within <mediaResources>, there exist two container elements:
* **<textFragments>** with a list of <textFragment> child elements.
* **<audioFragments>** with a list of <audioFragment> child elements.
_more details see forum post by Milan_2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/476Elements, attributes and enumerations without schema documentation2022-08-08T14:24:21+02:00CO CoordinationElements, attributes and enumerations without schema documentation## Description
There are quite a lot of elements, attributes and enumeration values missing documentation in the schema files.
### Background
The items missing documentation can be found quickly using the following xpaths:
```
//xs:el...## Description
There are quite a lot of elements, attributes and enumeration values missing documentation in the schema files.
### Background
The items missing documentation can be found quickly using the following xpaths:
```
//xs:element[not(xs:annotation)]
//xs:attribute[not(xs:annotation)]
//xs:enumeration[not(xs:annotation)]
```
The list below was obtained 02.07.2021 using the following xpaths on the railML2.5-beta2 branch:
```
//xs:element[not(xs:annotation)]/concat(ancestor::*[@name]/@name, "/", @name)
//xs:attribute[not(xs:annotation)]/concat(string-join(ancestor::*[@name]/@name, "/"), "/@", @name, @ref)
//xs:enumeration[not(xs:annotation)]/concat(string-join((ancestor::*[not(self::xs:attribute) and @name]/@name, ancestor::xs:attribute/@name), '/@'), '="', @value, '"')
```
* Elements
* infrastructure.xsd
```
infrastructure/routes
infrastructure/operatingRules
eTrack/mediaResources
infrastructureVisualizations
eTrackElementVis/position
eRoutes/route
eOperatingRules/operatingRule
```
* infrastructureTypes.xsd
```
tInformationArea/rectangle
tInformationArea/polygon
tInformationArea/circle
tInformationAreaRectangle/lowerLeft
tInformationAreaRectangle/upperRight
tInformationAreaPolygon/point
tInformationAreaCircle/center
tClearanceGaugeChange/clearanceGauge
tPlatformEdge/mediaResources
tRoute/switchAndPosition
tRoute/overlapSwitchAndPosition
tRoute/releaseGroup
tRoute/states
tReleaseGroup/trackSectionRef
```
* railML.xsd
```
railml
```
* rollingstock.xsd
```
rollingstock
eVehicle/maintenanceIntervals
eMaintenanceIntervals/maintenanceInterval
```
* rollingstockTypes.xsd
```
tBasicBrakeOperation/decelerationTable
tSegmentTable/columnHeader
```
* timetable.xsd
```
timetable
eLineTT/annotationRef
eLineTT/announcementRef
eConnectionTT/externalReference
eExternalReference/tafTapTsiTrainID
eExternalReference/trainNumber
eExternalReference/lineNumber
eExternalReference/information
eAlternativeSectionsTT/alternativeSectionTT
eTrain/replacements
eReplacedTrains/replacementOf
eReplacementOf/operatingPeriodRef
eReplacementOf/tafTapTsiTrainID
eReplacementOf/uniqueTrainKey
```
* timetableTypes.xsd
```
tOriginDestinationInfo/annotationRef
tOriginDestinationInfo/announcementRef
tAnnouncementTriggerPeriodic/eventTrigger
tAnnouncementTriggerPeriodic/ocpTrigger
tAnnouncementTriggerPeriodic/timingTrigger
tAnnouncementTriggerPeriodic/geoTrigger
tAnnouncementTriggerPeriodic/informationAreaTrigger
tAnnouncementTrigger/eventTrigger
tAnnouncementTrigger/ocpTrigger
tAnnouncementTrigger/timingTrigger
tAnnouncementTrigger/geoTrigger
tAnnouncementTrigger/informationAreaTrigger
tAnnouncementTrigger/manualTrigger
tPassengerInfoActivationTimeSpec/startTime
tPassengerInfoActivationTimeSpec/endTime
tPassengerInformationReferenceWithoutOperatingPeriodRef/outputLanguages
tPassengerInformationReference/outputLanguages
tOutputLanguages/language
tAnnotationRef/activationTime
tAnnouncementRef/trigger
tAnnouncementRef/periodic
```
* Attributes
* genericRailML.xsd
```
tElementRefInGroup/@sequence
```
* infrastructure.xsd
```
infrastructureVisualizations/@xml:base
```
* infrastructureTypes.xsd
```
tGeoCoord/@coord
tGeoCoord/@extraHeight
tGeoCoord/@epsgCode
tGeoCoord/@heightEpsgCode
aRelPosition/@pos
aAbsPosition/@absPos
tMediaAudioFragment/@xml:lang
tInformationAreaCircle/@radius
tOcpArea/@name
tOcpArea/@number
tOcpArea/@zip
tOcpPropOperational/@operationalType
tOcpPropOperational/@trafficType
tOcpPropOperational/@orderChangeable
tOcpPropOperational/@ensuresTrainSequence
tOcpPropEquipmentSummary/@signalBox
tOcpPropEquipmentSummary/@powerstation
tOcpPropEquipmentSummary/@hasHomeSignals
tOcpPropEquipmentSummary/@hasStarterSignals
tOcpPropEquipmentSummary/@hasSwitches
tOcpPropService/@passenger
tOcpPropService/@service
tOcpPropService/@ship
tOcpPropService/@bus
tOcpPropService/@airport
tOcpPropService/@tariffpoint
tOcpPropService/@goodsLoading
tOcpPropService/@goodsSiding
tOcpPropService/@goodsIntermodal
tOcpPropService/@goodsMarshalling
tOcpTsi/@country
tOcpTsi/@location
tOcpTsi/@check
tOcpUptime/@mode
tOperationControlPoint/@timezone
aOwner/@uic-no
aOperationMode/@modeLegislative
aOperationMode/@modeExecutive
aOperationMode/@clearanceManaging
aTrainProtection/@monitoring
aTrainProtection/@medium
tTrainProtectionElement/@model
aElectrification/@type
aElectrification/@voltage
aElectrification/@frequency
tElectrificationChange/@vMax
tElectrificationChange/@isolatedSection
aEpsgCode/@default
aEpsgCode/@extraHeight
aGauge/@value
aPowerTransmission/@type
aPowerTransmission/@style
aAxleWeight/@value
aAxleWeight/@meterload
tMileageChange/@absPosIn
tMileageChange/@type
tMileageChange/@absPos
tMileageChange/@pos
tCommonSwitchAndCrossingData/@trackContinueCourse
tCommonSwitchAndCrossingData/@trackContinueRadius
tCommonSwitchAndCrossingData/@normalPosition
tCommonSwitchAndCrossingData/@model
tCommonSwitchAndCrossingData/@length
tCommonSwitchAndCrossingData/@lockRef
tCommonSwitchAndCrossingData/@clearancePosOffset
tSwitch/@type
tCrossing/@type
tMacroscopicNode/@ocpRef
tMacroscopicNode/@flowDirection
tTrack/@type
tTrackNode/@id
tConnectionData/@id
tConnectionData/@ref
aConnectionData/@course
aConnectionData/@radius
aConnectionData/@maxSpeed
aConnectionData/@orientation
aConnectionData/@passable
tCrossSection/@type
tCrossSection/@ocpRef
tBorder/@type
aSpeed/@status
tGradientChange/@slope
tGradientChange/@transitionLenght
tGradientChange/@transitionRadius
tBridge/@kind
tBridge/@meterload
tTrackCondition/@length
tTrackCondition/@type
aSignal/@type
aSignal/@function
aSignal/@virtual
aSignalGroup/@type
tBalise/@ndx
aBalise/@countryID
aBalise/@groupID
aBalise/@linkingAccuracy
aBalise/@linkReactionAscending
aBalise/@linkReactionDescending
tTrainDetector/@detectionObject
tTrainDetector/@medium
tTrainDetector/@posInTrack
tTrainDetector/@directionDetection
tTrainDetector/@model
tTrainDetector/@axleCounting
tTrackCircuitBorder/@insulatedRail
tLockedElement/@hasKeyByDefault
aLock/@type
aInfrastructure/@timetableRef
aInfrastructure/@rollingstockRef
tInfrastructureVisualization/@version
tInfrastructureVisualization/@infrastructureRef
tInfrastructureVisualization/@id
tPoint/@x
tPoint/@y
tSize/@width
tSize/@height
tAttribute/@name
tAttribute/@value
tRoute/@conditional
tSwitchAndPosition/@switchPosition
```
* railwayBaseTypes.xsd
```
aPeriodTimeSpan/@startTime
aPeriodTimeSpan/@endTime
aExactTimeSpan/@startDateTime
aExactTimeSpan/@endDateTime
aTimePeriod/@startDate
aTimePeriod/@endDate
aAuxiliaryBrakes/@brakeUse
aPlaces/@category
aPlaces/@description
aService/@name
aService/@description
aService/@type
```
* rollingstockTypes.xsd
```
aSpecificTransmissionModule/@nationalSystemRef
aTrainRadio/@modulation
```
* timetable.xsd
```
eCategory/@parentRef
eCategory/@organizationalUnitRef
eExternalReference/trainNumber/@trainNumber
eExternalReference/lineNumber/@lineNumber
```
* timetableTypes.xsd
```
aTimetable/@infrastructureRef
aTimetable/@rollingstockRef
aOperatingPeriod/@timetablePeriodRef
aSpecialService/@type
aSpecialService/@singleDate
aOperatingCode/@operatingCode
aOperatingDayDeviance/@holidayOffset
aOperatingDayDeviance/@ranking
aHoliday/@holidayDate
aHoliday/@description
aEquipment/@uses
aEquipment/@description
aBooking/@bookingNumber
aBooking/@vehicleRef
aCategory/@trainUsage
aCategory/@deadrun
aCategory/@categoryPriority
aBaseTrainPart/@remarks
aBaseTrainPart/@timetablePeriodRef
aBaseTrainPart/@categoryRef
aTrainPart/@trainNumber
aTrainPart/@additionalTrainNumber
aTrainPart/@debitcode
aTrain/@type
aTrain/@trainNumber
aTrain/@additionalTrainNumber
aTrain/@scope
aTrainGroup/@type
aTrainGroup/@trainNumber
aBaseTrainPartSequence/@sequence
aTrainPartSequence/@pathStatus
aTrainPartRef/@position
aArrivalDepartureTimes/@arrival
aArrivalDepartureTimes/@arrivalDay
aArrivalDepartureTimes/@departure
aArrivalDepartureTimes/@departureDay
aFutureTimesScope/@scope
aTimesScope/@scope
aStopTimes/@minimalTime
aStopTimes/@operationalReserve
aStopTimes/@additionalReserve
aStopTimes/@clearanceTime
aConnectionTT/@trainRef
aConnectionTT/@minConnTime
aConnectionTT/@maxConnTime
aConnectionTT/@connOperation
tStatisticTimes/@stopTime
aArrivalDepartureDelay/@arrivalDelay
aArrivalDepartureDelay/@departureDelay
aStatisticAnalyses/@description
aStatisticAnalyses/@percentage
aStatisticAnalyses/@value
aStatisticAnalyses/@figure
aSectionTT/@section
aSectionTT/@lineRef
aSectionTT/@trackInfo
aSectionTT/@description
aSectionTT/@remarks
aSectionTT/@percentageSupplement
aSectionTT/@distance
aRunTimes/@minimalTime
aRunTimes/@operationalReserve
aRunTimes/@additionalReserve
aBlock/@blockGroupNumber
aBlock/@fixed
aBlockPartSequence/@sequence
aBlockPartSequence/@basicBlockRef
aBlockPart/@begin
aBlockPart/@beginDay
aBlockPart/@end
aBlockPart/@endDay
aBlockPart/@startOcpRef
aBlockPart/@endOcpRef
aBlockPart/@trainPartRef
aBlockPart/@operatingPeriodRef
aBlockPart/@mission
aBlockPart/@fixed
aBlockPart/@runLength
aBlockPart/@vehicleRef
aBlockPart/@formationRef
aCirculation/@blockRef
aCirculation/@nextBlockRef
aUniqueTrainKey/@trainNumber
aUniqueTrainKey/@additionalTrainNumber
aUniqueTrainKey/@scope
aTapTsiCompositIdentifierOperationalType/@objectType
aTapTsiCompositIdentifierOperationalType/@companyCode
aTapTsiCompositIdentifierOperationalType/@core
aTapTsiCompositIdentifierOperationalType/@variant
aTapTsiCompositIdentifierOperationalType/@timetableYear
aTapTsiCompositIdentifierOperationalType/@startDate
```
* Enumerations
* genericRailML.xsd
```
tVerbalCounter="single"
tVerbalCounter="double"
tVerbalCounter="triple"
tVerbosenessClass="reduced"
tVerbosenessClass="normal"
tVerbosenessClass="verbose"
```
* infrastructureTypes.xsd
```
tSimultaneousEntry="yes"
tSimultaneousEntry="no"
tSimultaneousEntry="partial"
tOcpManMode="manned"
tOcpManMode="unmanned"
tOcpManMode="off"
tOcpNameType="operationalName"
tOcpNameType="trafficName"
tOcpNameType="localName"
tOcpTrafficType="passenger"
tOcpTrafficType="freight"
tOcpTrafficType="shunting"
tOcpTrafficType="operational"
tControllerType="none"
tControllerType="singleElement"
tControllerType="local"
tControllerType="regional"
tControllerType="crossRegional"
tControllerTechnologyType="manual"
tControllerTechnologyType="mechanical"
tControllerTechnologyType="electro-mechanical"
tControllerTechnologyType="electrical"
tControllerTechnologyType="electronic"
tClearanceManaging="sight"
tClearanceManaging="time"
tClearanceManaging="blocking"
tClearanceManaging="LZB-blocking"
tClearanceManaging="absBrakeDist"
tMaxTrainCurrentType="driving"
tMaxTrainCurrentType="standstill"
tMaxTrainCurrentValidFor="train"
tMaxTrainCurrentValidFor="pantograph"
tElectrificationType="none"
tElectrificationType="overhead"
tElectrificationType="3rdRail"
tElectrificationType="sideRail"
tPowerTransmissionType="adhesion"
tPowerTransmissionType="gearrack"
tPowerTransmissionType="cable"
tMileageChangeDescr="overlapping"
tMileageChangeDescr="missing"
tSwitchType="ordinarySwitch"
tSwitchType="insideCurvedSwitch"
tSwitchType="outsideCurvedSwitch"
tSwitchType="threeWaySwitch"
tCrossingType="simpleCrossing"
tCrossingType="simpleSwitchCrossing"
tCrossingType="doubleSwitchCrossing"
tLineType="mainLine"
tLineType="secondaryLine"
tLineType="branchLine"
tConnectionOrientation="incoming"
tConnectionOrientation="outgoing"
tConnectionOrientation="rightAngled"
tConnectionOrientation="unknown"
tCourse="straight"
tCourse="left"
tCourse="right"
tCrossSectionBlockType="station"
tCrossSectionBlockType="block"
tCrossSectionBlockType="autoblock"
tOcpCenterSide="left"
tOcpCenterSide="right"
tOcpCenterSide="above"
tOcpCenterSide="below"
tOcpCenterSide="ahead"
tOcpCenterSide="behind"
tOcpCenterSide="none"
tBorderType="tarif"
tBorderType="area"
tBorderType="state"
tBorderType="country"
tBorderType="station"
tBorderType="project"
tInfluence="increasing"
tInfluence="decreasing"
tTrainRelation="headOfTrain"
tTrainRelation="midOfTrain"
tTrainRelation="endOfTrain"
tTunnelType="natural stone"
tTunnelType="quarrystone"
tTunnelType="brick"
tTunnelType="concrete"
tTrackConditionType="nonStoppingArea"
tTrackConditionType="lowerPantograph"
tTrackConditionType="mainPowerSwitchOff"
tTrackConditionType="radioHole"
tTrackConditionType="airTightness"
tTrackConditionType="noRegenerativeBrake"
tTrackConditionType="noEddyCurrentBrake"
tTrackConditionType="noMagneticShoeBrake"
tSignalKind="announcement"
tSignalKind="execution"
tSignalType="main"
tSignalType="distant"
tSignalType="repeater"
tSignalType="combined"
tSignalType="shunting"
tSignalFunction="exit"
tSignalFunction="home"
tSignalFunction="blocking"
tSignalFunction="intermediate"
aSignal/@mountedOn="pole"
aSignal/@mountedOn="gantry"
aSignal/@mountedOn="wall"
aSignal/@mountedOn="ground"
tSignalGroupType="distant-main"
tSignalGroupType="station"
tBaliseGroupType="infill"
tBaliseGroupType="signal"
tBaliseGroupType="fixed"
tBaliseType="fixed"
tBaliseType="controlled"
tBaliseLinkReaction="trainTrip"
tBaliseLinkReaction="applyServiceBrake"
tBaliseLinkReaction="noReaction"
tDetectionObject="wheel"
tDetectionObject="axle"
tDetectionObject="train"
tDetectionObject="endOfTrain"
tDetectionObject="obstacle"
tDetectorMedium="mechanical"
tDetectorMedium="hydraulic"
tDetectorMedium="pneumatic"
tDetectorMedium="magnetic"
tDetectorMedium="inductive"
tDetectorMedium="optical"
tDetectorMedium="radio"
tPosInTrack="center"
tPosInTrack="leftRail"
tPosInTrack="leftRailInside"
tPosInTrack="leftRailOutside"
tPosInTrack="rightRail"
tPosInTrack="rightRailInside"
tPosInTrack="rightRailOutside"
tPosInTrack="outside"
tPosInTrack="outsideLeft"
tPosInTrack="outsideRight"
tInsulatedRailSide="none"
tInsulatedRailSide="left"
tInsulatedRailSide="right"
tInsulatedRailSide="both"
tTrainMovements="freightTrains"
tTrainMovements="passengerTrains"
tTrainMovements="allTrains"
tTrainMovements="shunting"
tTrainRadioNetworkSelection="manually"
tTrainRadioNetworkSelection="byBalise"
tTrainRadioNetworkSelection="automatic"
tTrainRadioSystem="GSM-R"
tTrainRadioSystem="otherDigitalRadio"
tTrainRadioSystem="analogLocalRadio"
tTrainRadioSystem="analogDistantRadio"
tRoute/@conditional="ocpManned"
tRoute/@conditional="ocpUnmanned"
```
* physicalUnits.xsd
```
tUnitName="m/s"
tUnitName="km/h"
tUnitName="A"
tUnitName="N"
tUnitName="Hz"
tUnitName="%"
tUnitName="V"
tUnitName="W"
tUnitName="VA"
tUnitName="Vs"
tUnitName="1"
```
* railwayBaseTypes.xsd
```
tBrakeType="none"
tBrakeType="handBrake"
tBrakeType="parkingBrake"
tAirBrakeApplicationPosition="N/A"
tBrakeUse="unknown"
tBrakeUse="normal"
tBrakeUse="emergency"
tBrakeUse="both"
tTrainProtectionMedium="none"
tTrainProtectionMedium="mechanical"
tTrainProtectionMedium="electric"
tTrainProtectionMedium="inductive"
tTrainProtectionMedium="magnetic"
tTrainProtectionMedium="optical"
tTrainProtectionMedium="radio"
tTrainProtectionMedium="rail"
tTrainProtectionMedium="cable"
tTrainProtectionMonitoring="none"
tTrainProtectionMonitoring="intermittent"
tTrainProtectionMonitoring="continuous"
tInterlockingTypes="none"
tInterlockingTypes="mechanical"
tInterlockingTypes="electro-mechanical"
tPlaceCategory="class1"
tPlaceCategory="class2"
tPlaceCategory="class3"
tPlaceCategory="standing"
tPlaceCategory="standingArea"
tPlaceCategory="wheelchair"
tPlaceCategory="bicycle"
tPlaceCategory="couchette"
tPlaceCategory="bed"
tPlaceCategory="chair"
tPlaceCategory="bistro"
tPlaceCategory="restaurant"
tPlaceCategory="foldingSeat"
tPlaceCategory="impairedToilet"
tPlaceCategory="toilet"
tPlaceCategory="business"
tPlaceCategory="businessCompartment"
tPlaceCategory="family"
tPlaceCategory="familyCompartment"
tPlaceCategory="stroller"
tPlaceCategory="toddler"
tPlaceCategory="toddlerCompartment"
tPlaceCategory="sleepingCompartment"
tServiceType="mobileCatering"
tServiceType="WLAN"
tServiceType="wheelchairLift"
tServiceType="toiletClosed"
tServiceType="toiletOpen"
tServiceType="toiletHc"
tServiceType="Snack"
tServiceType="SelfService"
tServiceType="PIS"
tServiceType="HVAC"
tServiceType="APC"
tServiceType="SecurityCamera"
tTiltingActuationType="none"
tTiltingActuationType="active"
tTiltingActuationType="passive"
tTiltingActuationType="rollCompensation"
tUsageType="passenger"
tUsageType="goods"
tUsageType="mixed"
```
* railwayUnits.xsd
```
tLaxDirection="up"
tLaxDirection="down"
tLaxDirection="unknown"
tLaxDirection="none"
tLaxDirection="both"
tExtendedDirection="up"
tExtendedDirection="down"
tExtendedDirection="none"
tDelimitedDirection="up"
tDelimitedDirection="down"
tDelimitedDirection="unknown"
tStrictDirection="up"
tStrictDirection="down"
tFlowDirection="in"
tFlowDirection="out"
tFlowDirection="both"
tFlowDirection="unknown"
tMileageDirection="raising"
tMileageDirection="falling"
tTrainAlignment="head"
tTrainAlignment="center"
tTrainAlignment="rear"
```
* rollingstockTypes.xsd
```
tVehicleCategoryType="coach"
tVehicleCategoryType="motorCoach"
tVehicleCategoryType="controlCabCoach"
tVehicleCategoryType="motorVehicles"
tVehicleCategoryType="freightWagon"
tMotivePowerType="electric"
tMotivePowerType="diesel"
tMotivePowerType="steam"
tTransmission="electric"
tTransmission="hydraulic"
tTransmission="hydromechanical"
tTransmission="mechanical"
tModulationType="analogue"
tModulationType="digital"
tSupervisionType="none"
tSupervisionType="ATP"
tSupervisionType="ETCS"
tSupervisionType="unknown"
tGangwayPosition="standardUIC"
tGangwayPosition="upperDeck"
tGangwayPosition="lowerDeck"
tGangwayDesignType="unknown"
tGangwayDesignType="standardUIC561"
tGangwayDesignType="special"
tGangwayDesignType="nonPublic"
tGangwayDesignType="sigI"
tGangwayDesignType="sigII"
tFreightCarType="open"
tFreightCarType="covered"
tFreightCarType="platform"
tFreightCarType="refrigerated"
tFreightCarType="tank"
tFreightCarType="self-discharging"
tFreightCarType="special"
tLoadSwitch="empty"
tLoadSwitch="full"
tSpeedRangeType="dontcare"
tSpeedRangeType="slow"
tSpeedRangeType="fast"
tAxleDriveType="cardanShaft"
tAxleDriveType="tubularAxle"
tAxleDriveType="noseSuspensionDrive"
tAxleDriveType="helicalSpringGear"
tAxleDriveType="rubberRingResilientDrive"
tAxleDriveType="buchliDrive"
tAxleDriveType="inclinedRodDrive"
tAxleDriveType="sideRodDrive"
tAxleDriveType="chain"
tPantographControlType="cable"
tPantographControlType="spring"
tPantographControlType="air"
tPantographPositionType="front"
tPantographPositionType="frontSecond"
tPantographPositionType="middle"
tPantographPositionType="rearSecond"
tPantographPositionType="rear"
tAcousticSignalType="none"
tAcousticSignalType="bell"
tAcousticSignalType="alarmBell"
tAcousticSignalType="horn"
tAcousticSignalType="airChime"
tAcousticSignalType="whistle"
tRackSystemType="none"
tRackSystemType="Riggenbach"
tRackSystemType="Riggenbach-Klose"
tRackSystemType="Abt2Bars"
tRackSystemType="Abt3Bars"
tRackSystemType="Locher"
tRackSystemType="Strub"
tRackSystemType="Wetli"
tRackSystemType="Marsh"
tRackSystemType="Roll"
tBearingType="rollerBearing"
tBearingType="ballBearing"
tBearingType="plainBearing"
tHeadShapeType="angular"
tHeadShapeType="rounded"
tHeadShapeType="streamlined"
tEndPositionType="both"
tEndPositionType="front"
tEndPositionType="rear"
tRelatedPositionType="none"
tRelatedPositionType="aside"
tRelatedPositionType="ontop"
tRelatedPositionType="below"
tCabPositionType="none"
tCabPositionType="front"
tCabPositionType="middle"
tCabPositionType="rear"
tTorqueConversionType="converter"
tTorqueConversionType="coupling"
tTorqueConversionType="hydrodynamicTransmission"
tTorqueConversionType="hydraulicTransmission"
tTorqueConversionType="hydromechanicalTransmission"
tTorqueConversionType="hydrostaticTransmission"
tPropulsionControlType="unknown"
tPropulsionControlType="camshaftControl"
tPropulsionControlType="contactorControl"
tPropulsionControlType="rectifier"
tPropulsionControlType="thyristorControl"
tPneumaticCouplerFunctionType="unknown"
tPneumaticCouplerFunctionType="mainAirPipe"
tPneumaticCouplerFunctionType="mainAirReservoirPipe"
tPneumaticCouplerFunctionType="additionalBrakeControlPipe"
tPneumaticCouplerFunctionType="vacuumAirPipe"
tPneumaticCouplerFunctionType="steamHeatingPipe"
tElectricalCouplerDesignType="unknown"
tElectricalCouplerDesignType="pushTrainControl36"
tElectricalCouplerDesignType="pushTrainControl34"
tElectricalCouplerDesignType="emergencyBrakeDeactivation"
tElectricalCouplerDesignType="UIC-IS-cable21"
tElectricalCouplerDesignType="UIC556"
tElectricalCouplerDesignType="UIC558-18"
tElectricalCouplerDesignType="UIC568-13"
tElectricalCouplerDesignType="wireTrainBus"
tElectricalCouplerDesignType="multifunctionVehicleBus"
tElectricalCouplerDesignType="trainCommunicationNetwork"
tElectricalCouplerDesignType="vehicleSpecificConnection"
tElectricalCouplerDesignType="fibreOptics"
tMechanicalCouplerDesignType="unknown"
tMechanicalCouplerDesignType="AAR_KnuckleCoupler"
tMechanicalCouplerDesignType="AK69e"
tMechanicalCouplerDesignType="AlbertCoupler"
tMechanicalCouplerDesignType="APTA_tightlock"
tMechanicalCouplerDesignType="BSI_compact"
tMechanicalCouplerDesignType="BSI_shunting"
tMechanicalCouplerDesignType="buckeyeKnuckleCoupler"
tMechanicalCouplerDesignType="BuddPinCup"
tMechanicalCouplerDesignType="buffersChainScrewCoupler"
tMechanicalCouplerDesignType="C-AKv"
tMechanicalCouplerDesignType="centralBuffer1Chain"
tMechanicalCouplerDesignType="centralBuffer2Chains"
tMechanicalCouplerDesignType="FK-3-2.5"
tMechanicalCouplerDesignType="FK-5.5-4"
tMechanicalCouplerDesignType="FK-9-6"
tMechanicalCouplerDesignType="FK-15-10"
tMechanicalCouplerDesignType="FK-15-12"
tMechanicalCouplerDesignType="GF_Coupler"
tMechanicalCouplerDesignType="GFN"
tMechanicalCouplerDesignType="GFT"
tMechanicalCouplerDesignType="GFV"
tMechanicalCouplerDesignType="Intermat"
tMechanicalCouplerDesignType="linkPin_flat"
tMechanicalCouplerDesignType="linkPin_round"
tMechanicalCouplerDesignType="NorwegianMeatChopper"
tMechanicalCouplerDesignType="SA3_WillisonCoupler"
tMechanicalCouplerDesignType="Scharfenberg"
tMechanicalCouplerDesignType="Scharfenberg10"
tMechanicalCouplerDesignType="Scharfenberg35"
tMechanicalCouplerDesignType="Scharfenberg55"
tMechanicalCouplerDesignType="Scharfenberg140"
tMechanicalCouplerDesignType="Scharfenberg330"
tMechanicalCouplerDesignType="Scharfenberg430"
tMechanicalCouplerDesignType="SchwabCoupler"
tMechanicalCouplerDesignType="Wedgelock"
```
* timetableTypes.xsd
```
tInformationAreaEvent="entering"
tInformationAreaEvent="leaving"
tMission="timetable"
tMission="fullRun"
tMission="emptyRun"
tMission="outOfOrder"
tMission="fillIn"
tMission="preheating"
tMission="refuel"
tMission="shunting"
tMission="depotrun"
tMission="standBy"
tMission="cleaning"
tMission="maintenance"
tMission="inspection"
tPathStatus="conceptual"
tPathStatus="planned"
tPathStatus="ordered"
tPathStatus="offered"
tPathStatus="confirmed"
tPathStatus="detailsRefused"
tPathStatus="cancelled"
tPathStatus="notAvailable"
tSimpleOcpEvent="arrival"
tSimpleOcpEvent="departure"
tOcpEvent="scheduledArrival"
tOcpEvent="expectedArrival"
tOcpEvent="scheduledDeparture"
tOcpEvent="expectedDeparture"
tAnnotationType="text"
tAnnotationType="symbol"
tAnnotationType="image"
tProcessStatus="planned"
tProcessStatus="actual"
tProcessStatus="calculated"
tProcessStatus="toBeChecked"
tProcessStatus="changed"
tProcessStatus="imported"
tTrainScope="primary"
tTrainScope="secondary"
tTrainScope="secondaryStart"
tTrainScope="secondaryEnd"
tTrainScope="secondaryInner"
tTimeScopeAll="actual"
tTimeScopeAll="calculated"
tTimeScopeAll="published"
tTimeScopeAll="scheduled"
tTimeScopeAll="earliest"
tTimeScopeAll="latest"
tFutureTimeScope="calculated"
tFutureTimeScope="published"
tFutureTimeScope="scheduled"
tFutureTimeScope="earliest"
tFutureTimeScope="latest"
tRosteringScope="conceptional"
tRosteringScope="operational"
tRosteringScope="timetable"
tTrainGroupType="interval"
tSpecialServiceType="include"
tSpecialServiceType="exclude"
tConnType="commercial"
tConnType="operational"
tTrainType="operational"
tTrainType="commercial"
tOnOff="both"
tOnOff="on"
tOnOff="off"
tConnOperation="none"
tConnOperation="meet"
tConnOperation="IsWaitingFor"
tConnOperation="IsExpectedBy"
tStatisticFigure="maxDelayArrival"
tStatisticFigure="maxDelayDeparture"
tStatisticFigure="meanDelayArrival"
tStatisticFigure="meanDelayDeparture"
tStatisticFigure="medianDelayArrival"
tStatisticFigure="medianDelayDeparture"
tPlaceReservation="notPossible"
tPlaceReservation="possible"
tPlaceReservation="recommended"
tPlaceReservation="compulsory"
tTapTsiObjectType="TR"
tTapTsiObjectType="PA"
tTapTsiObjectType="CR"
tTapTsiObjectType="PR"
```
## Proposed solution
tbd2.5CO CoordinationCO Coordinationhttps://development.railml.org/railml/version2/-/issues/473Adding an informationArea for an OCP2022-08-08T14:25:10+02:00IS CoordinationAdding an informationArea for an OCP## Description
Concluding a discussion in the TT developer group, it was requested to model a so called "information area" around an OCP. When a train enters such an information area, an OCP-specific passenger information shall be provi...## Description
Concluding a discussion in the TT developer group, it was requested to model a so called "information area" around an OCP. When a train enters such an information area, an OCP-specific passenger information shall be provided, e.g. by loud-speakers.
### Background
see forum post by Milan (24.05.2021)
### Links
* Forum discussion
* Milan Wölke, 24.05.2021: [https://www.railml.org/forum/index.php?t=msg&th=813&goto=2733&#msg_2733]
* Trac ticket
* #393
* #473
* Wiki documentation
* IS:ocp: [https://wiki2.railml.org/wiki/IS:ocp]
## Proposed solution railML 2.5
It was suggested to fuse the information area approach with the general area concept discussed in Trac ticket #393.
The element <ocp> contains an optional child element **<propPassengerInfo>**.
The element <propPassengerInfo> contains an optional, but repeatable child element **<informationArea>** with required attribute **@ref** to reference a <genericArea> element.2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/469Train detection at manually operated stations2022-08-08T14:25:10+02:00IS CoordinationTrain detection at manually operated stations## Description
It is not clear how to model "manual" (visual) end of train detection by a local dispatcher in a manually operated station. Which elements can be used? What are best practices so far using existing railML 2.x model?
### ...## Description
It is not clear how to model "manual" (visual) end of train detection by a local dispatcher in a manually operated station. Which elements can be used? What are best practices so far using existing railML 2.x model?
### Background
The topic has been brought up by Jernbanedirektoratet with the focus on railway capacity planning use cases.
### Links
* Forum discussion:
* Torben Brand, 21.11.2020: [https://www.railml.org/forum/index.php?t=msg&th=779&goto=2595&#msg_2595]
* Trac tickets
* Wiki documentation
* IS:trainDetector: [https://wiki2.railml.org/wiki/IS:trainDetector]
## Proposed solution railML 2.5
-- solution implemented in schema (21.05.2021) --
Add new attribute **@virtual** _(xs:boolean)_ in <trainDetector>. A local dispatcher doing a visual train detection is modelled as a "virtual train detector".
Extend enumeration attribute **@medium** with new value _"manual"_ for local dispatchers manual observation.
## Proposed solution railML 3.2
_tbd_2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/467Regular operating times of an OCP (de: Regelmäßige Öffnungszeiten eines OCP)2022-08-08T14:25:09+02:00IS CoordinationRegular operating times of an OCP (de: Regelmäßige Öffnungszeiten eines OCP)## Description
The operational uptime of an OCP is missing a link to the timetable / operating period as well as an attribute to define uptimes lasting longer than midnight.
### Background
The issue was raised by Jenrbanedirektoratet ...## Description
The operational uptime of an OCP is missing a link to the timetable / operating period as well as an attribute to define uptimes lasting longer than midnight.
### Background
The issue was raised by Jenrbanedirektoratet (see forum discussion) in context with their model extension railML 2.4 NOR.
### Links
* Forum discussion
* Torben Brand, 17.02.2020: [https://www.railml.org/forum/index.php?t=msg&th=709&goto=2330&#msg_2330]
* Trac tickets
* Wiki documentation
* IS:uptime: [https://wiki2.railml.org/wiki/IS:uptime]
## Proposed solution railML 2.5
It is suggested to harmoninze modelling in general OCP states and OCP operational uptime. In particular:
**<ocp / propOperational / uptime>** shall be extended with two attributes:
* **@operatingPeriodRef** _(tGenericRef)_ to refer to the operating period in which the uptimes are valid as defined in the timetable domain.
* **@endDayOffset** _(nonNegativeInteger)_ to specify the number of midnight-overruns related to the end of uptime.2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/435Add vehicleOwner description2023-03-13T16:40:28+01:00OrganisationAdd vehicleOwner description## Description
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
<vehicleOwner> is a sub-element of <organizationalUnits> introduced in railML2.4nor. A vehicle owner is...## Description
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
<vehicleOwner> is a sub-element of <organizationalUnits> introduced in railML2.4nor. A vehicle owner is then referred to from the <vehicleOwner> sub-element of <organizationalUnitBinding>, belonging to <trainPart>.
A vehicle owner is an organisation that has the purpose of making railway vehicles available for railway undertakings.
For more details see document “railML2.4nor Timetable Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.0, 03.07.2020, point 4.6.6.
Which of the existing elements can be used?
* none
In addition to adding the <vehicleOwner> elements requested by Norway, it would be natural to add an <owner> element in RS:classification.
### Background
In the initial discussion on organizational units, a vehicle owner type was apparently intended. Unknown why it was discarded or otherwise not implemented.
### Links
* Forum discussion:
* Torben Brand, 10.02.2020, https://www.railml.org/forum/index.php?t=msg&th=706&start=0&
* When introducing organizational units in 2013, https://www.railml.org/forum/index.php?t=msg&goto=1102
* Trac tickets:
* #435
* #178
* Wiki documentation:
* none
## Proposed solution in railML 2.5
* Add <vehicleOwner> child of <organizationalUnits> in metadata
* ~~Add <vehicleOwner> child of <organizationalUnitBinding> in timetable~~
* Add <owner> child of <classification> in rolling stock
* Add key and keyrefs for restricting references to same type2.5CO CoordinationCO Coordinationhttps://development.railml.org/railml/version2/-/issues/431Specification of <balise> and <baliseGroup> and their relation2022-08-08T14:24:52+02:00OrganisationSpecification of <balise> and <baliseGroup> and their relation## Description
The definition of elements <balise> and <baliseGroup> and their relationship between is not detailed enough and should be sharpened. In particular, it must be clarified how to model balises in a group.
### Background
Th...## Description
The definition of elements <balise> and <baliseGroup> and their relationship between is not detailed enough and should be sharpened. In particular, it must be clarified how to model balises in a group.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
railML2.4 defines a <balise> and a <baliseGroup> element. railML2.4nor defines clearer how these are to be modelled in relation to each other. This is done in three different ways:
1. The balise group
2. The balise group with individual defined functional balises
3. Balise groups with individual balises with known locations
Additionally, the element is extended by the attribute “@switchable.”
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.6.
### Links
* Forum discussion:
* Torben Brand, 25.02.2021: [https://www.railml.org/forum/index.php?t=msg&th=798&goto=2673&#msg_2673]
* Trac tickets:
* #431
* Wiki documentation:
* IS:balise: [http://wiki2.railml.org/wiki/IS:balise]
* IS:baliseGroup: [http://wiki2.railml.org/wiki/IS:baliseGroup]
## Proposed solution in railML 2.5
The element <balise> shall be extended with new attribute **@type** (values: "fixed" and "controlled") to describe that the balise is switchable. A "controlled" balise is switchable while a "fixed" balise is not switchable and can only submit one fixed dataset.
The enumeration of attribute **<baliseGroup>@type** shall be extended to cover specific (national) types of balises. (Attention: enumeration is already extendable)
A best practice example (or three ones) shall be added to the railML2 wiki pages of <balise> and <baliseGroup>.
It is suggested to model the balise/baliseGroup relation in three levels of detail:
* **Only the baliseGroup**
* One dummy balise is placed (since baliseGroup cannot exist alone) using attributes @id, @dir and @pos
* **baliseGroup with individual functional balises**
* All balises of baliseGroup are placed with identical locations (describing the location of the very first balise of the baliseGroup) using attributes @id, @name, @dir, @pos
* **baliseGroup with individual balises with (real) locations**2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/429Extend definition of <signal> and add attributes2022-08-08T14:24:51+02:00OrganisationExtend definition of <signal> and add attributes## Description
The `<signal>` element implementation misses information required by some use cases.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
Th...## Description
The `<signal>` element implementation misses information required by some use cases.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
The element `<signal>` is a sub-element of `<ocsElements>`.
Definition extension in accordance to Norwegian usage sees both light signals and boards as signals. railML2.4 does not offer the possibility to define boards as an individual element. Hence, in railML2.4nor the, in railML2.4 deprecated attribute, attribute @switchable becomes mandatory for <signal> and differentiates boards and signals:
* Signals: `signal@switchable = “true”`
* Boards: `signal@switchable = “false”`
Additionally, railML2.4nor extends the element by the following attributes: `@lamps`, `@mounted` and `@side`.
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.4.
### Links
* Forum discussion:
* Morten Johansen, 30.04.2018: [https://www.railml.org/forum/index.php?t=msg&th=568&goto=1777&#msg_1777] --> lamps
* Thomas Nygreen, 18.02.2019: [https://www.railml.org/forum/index.php?t=msg&th=648&goto=2152&#msg_2152] --> lamps in railML3
* Tobias Bregulla, 25.01.2020: [https://www.railml.org/forum/index.php?t=msg&goto=2342&&srch=switchable#msg_2342] --> name, code, ruleCode
* Trac tickets:
* #429
* Wiki documentation:
* IS:signal: [http://wiki2.railml.org/wiki/IS:signal]
## Proposed solution in railML 2.5
Sharpen **definitions and examples in railML2 wiki**:
* `@name`: to be used for human-readable names; free text
* `@ruleCode`: code for this element in the rule book, combination of letters and numbers and space allowed, e.g. Ne5, GA, SFRS/E
* `@code`: for typical, specific abbreviations, used in different systems with the same understanding
Re-introduce attribute **`<signal>@switchable`** deprecated since version 2.2.
Enumeration attribute **`@function`** shall be extended with value **`"end"`**?
Number of lamps (for light signals) shall be given with new attribute **`<signal>@numberOfLamps`**.
Add new enumeration attribute **`<signal>@mountedOn`** with values `"pole"`, `"gantry"` and `"wall"`.
Add new enumeration attribute **`<signal>@positionAtTrack`** with values `"left"`, `"right"`, `"above"` and `"ground"`.
## Proposed solution railML 3.2
_copy paste..._2.5IL CoordinationIL Coordinationhttps://development.railml.org/railml/version2/-/issues/428Extend definition of <lock> and add values2022-08-08T14:25:09+02:00OrganisationExtend definition of <lock> and add values## Description
railML 2.4 implementation of <lock> is only very basic and needs to be extended to make <lock> usable.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly ...## Description
railML 2.4 implementation of <lock> is only very basic and needs to be extended to make <lock> usable.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
The <lock> element is a sub-element of <ocsElements>. The set of attributes available in core railML2.4 for the lock element is extended in railML2.4nor (for a complete table, see 4.21.2).
The Norwegian standardisation requires a clearer definition of the element. The primary use case in railML2.4nor for the modelling of locks is capacity planning. Therefore, only the operational aspects of the lock are modelled and not what kind of object it locks and in which relation it locks them (interlocking).
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.21.
### Links
* Forum discussion:
* Torben Brand, 20.12.2016: [https://www.railml.org/forum/index.php?t=msg&th=484&goto=1458&#msg_1458]
* Christian Rahmig, 16.11.2020: [https://www.railml.org/forum/index.php?t=msg&th=778&goto=2589&#msg_2589]
* Morten Johansson, 29.04.2021: [https://www.railml.org/forum/index.php?t=msg&th=809&goto=2708&#msg_2708]
* Trac tickets:
* #428
* #305 (Introduction of a lock as new signalling infrastructure element)
* Wiki documentation:
* IS:lock: [http://wiki2.railml.org/wiki/IS:lock]
## Proposed solution in railML 2.5
Add new attribute **<lock>@positionAtTrack** ("left", "right") to describe location of the lock along the track.
Add new reference attribute **<lock>@controllerRef** to link the lock with the controller from where it is controlled.
Add new reference attribute **<lock>@keyStorageRef** to link the lock with the OCP where the key is stored in case it is not inserted in the lock.
The information about the lock type is currently not yet defined in a generic way. Therefore, it is suggested to use existing attribute @description (free text) for it.
Add new attribute **<lock>@trackDist** to specify the distance between the track's middle axis and the middle of the lock cabinet in meters (should be given at least with decimeter accuracy).2.5DocumentationDocumentationhttps://development.railml.org/railml/version2/-/issues/426Add tunnel resistance factor to <tunnel>2022-08-08T14:25:09+02:00OrganisationAdd tunnel resistance factor to <tunnel>## Description
Tunnel resistance is usually being calculated using information about the tunnel structure (cross section, wall material). When the tunnel has not yet been build, these parameters are unknown. Nevertheless, it should be p...## Description
Tunnel resistance is usually being calculated using information about the tunnel structure (cross section, wall material). When the tunnel has not yet been build, these parameters are unknown. Nevertheless, it should be possible to provide information about tunnel resistance in railML using "generic" tunnel resistance factors.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
The element <tunnel> is a sub-element of <trackElements>
The tunnel air resistance factor plays a crucial role for speeds exceeding 160 km/h. railML2.4, currently does not address tunnel resistance factors directly. Instead, it provides physical properties of the tunnel, which - in the conceptual planning stage (<state>@status =”conceptual”) - are not known. railML2.4nor introduces an attribute for a calculated tunnel resistance factor: @resistanceFactorA.
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.16.1.
### Links
* Forum discussion:
* Torben Brand, 20.12.2016: [https://www.railml.org/forum/index.php?t=msg&th=486&goto=1460&#msg_1460]
* Trac tickets:
* #426
* Wiki documentation:
* IS:tunnel: [http://wiki2.railml.org/wiki/IS:tunnel]
* Externals:
* PhD thesis Dr. Hürlimann, p.55f: [http://e-collection.library.ethz.ch/eserv/eth:24236/eth-24236-02.pdf]
## Proposed solution in railML 2.5
Add new attributes **`<tunnel>@resistanceFactorPassenger`** and **`<tunnel>@resistanceFactorFreight`** for storing the tunnel resistance factor in kg/m for passenger trains and freight trains.
This solution shall be compatible with the formula defined in Dr. Hürlimann's PhD thesis on page 55:
```
R(tunnel) = f_tunnel * speed*speed
```
whereas **`f_tunnel`** corresponds to the resistance factors that shall be introduced.2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/425Define semantic rules for using <speedChange> elements2022-08-08T14:25:09+02:00OrganisationDefine semantic rules for using <speedChange> elements## Description
In order to define continuous speed profiles along the whole track network, it is mandatory, that oriented <speedProfile> elements are placed at every track begin and every track end leaving no gaps.
### Background
This...## Description
In order to define continuous speed profiles along the whole track network, it is mandatory, that oriented <speedProfile> elements are placed at every track begin and every track end leaving no gaps.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
<speedChange> is a sub-element of <trackElements>.
In addition to the speedProfile@name attribute, the speed profile is also indicated in the attribute @etcsTrainCategory of the <speedChange> element. The values of the speedChange@etcsTrainCategory are railML2.4nor specific and a mapping of the values of the international train category numbers, adapted accordingly to the definition of the attribute in the railML wiki.
In railML2.4nor the speed information modelled via <speedChange> elements must be defined along the full extent of all tracks. Thus, it is mandatory to place a <speedChange> in the beginning of a model with a @dir="up" and on the end of a model with a @dir="down" value or at a mileage direction change once for each direction (see also 3.10.2 of document linked below).
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.7 (page 42).
### Links
* Forum discussion:
* [...]
* Trac tickets:
* #424
* #425
* Wiki documentation:
* IS:speedChange: [https://wiki2.railml.org/wiki/IS:speedChange]
* IS:speedProfile: [https://wiki2.railml.org/wiki/IS:speedProfile]
## Proposed solution in railML 2.5
The element <speedChange> is already implemented in railML 2.x.
The action resulting from this ticket is a clarification in the wiki. The following new semantic rules must be defined:
* Every line track has to have at least **one `<speedChange>`** at the track begin **with parameters `@pos="0"` and `@dir="up"`**.
* Every line track has to have at least **one `<speedChange>`** at the track end **with parameters `@pos="{value equal to trackEnd@pos}"` and `@dir="down"`**.
Semantic rules need to be added in the railML 2 wiki.2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/424Extend definition of <speedProfiles> and add values2022-08-08T14:24:51+02:00OrganisationExtend definition of <speedProfiles> and add values## Description
The challenge to solve: how to combine speed profiles of different type and how to find out which maximum speed value is spplicable for a certain train that follows several speed profiles.
### Background
This ticket was...## Description
The challenge to solve: how to combine speed profiles of different type and how to find out which maximum speed value is spplicable for a certain train that follows several speed profiles.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
The element <speedProfile> is a high-level element in railML 2.4.
In railML2.4nor, the speed for trains is modelled via speed profiles. The speed profiles are specified for different types of trains. railML2.4nor uses the railML2.4 <speedProfile>@name attribute to indicate the speeds accordingly. The @name attribute is defined as a string in railML2.4 and the allowed string values are restricted in railML2.4nor.
For more details on the allowed elements in railML2.4nor, see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.7.
### Links
* Forum discussion:
* Torben Brand, 16.10.2017: [https://www.railml.org/forum/index.php?t=msg&th=538&goto=1655&#msg_1655]
* Torben Brand, 06.09.2018: [https://www.railml.org/forum/index.php?t=msg&th=605&goto=1955&#msg_1955]
* Torben Brand: [https://forum.railml.org/userfiles/2018-07-02_jbd_speed-profile-hierachy-names-refactoring.pdf]
* Trac tickets:
* #424
* #425
* Wiki documentation:
* IS:speedProfile: [https://wiki2.railml.org/wiki/IS:speedProfile]
## Proposed solution in railML 2.5
**Clearify definitions** of **increasing** and **decreasing** speed profiles:
* **increasing**: The speed profile increases the permitted speed. If multiple "increasing" speed profiles are applicable, select the one with the highest @vMax value.
* **decreasing**: The speed profile decreases the permitted speed. If multiple "decreasing" speed profiles are applicable, select the one with the lowest @vMax value. If this value is lower than the speed of an "increasing" speed profile, it overrides that speed.
For identifying the **"basic" speed profile**, a new explicit boolean attribute **@basicSpeedProfile** _(true, false)_ shall be defined. The basic speed profile defines a "baseline speed value" that is valid for all trains if no other specific speed restrictions are given. The basic speed profile is always linked with @influence="increasing"
The **ETCS train category** shall be linked with the speed profile via a new attribute **`@etcsTrainCategory`** (integer 0..15). At the same time, the attribute `@etcsTrainCategory` in element `<speedChange>` shall become DEPRECATED.
_to be continued_2.5IS CoordinationIS Coordinationhttps://development.railml.org/railml/version2/-/issues/421Add status value "unknown"2022-08-08T14:25:09+02:00OrganisationAdd status value "unknown"## Description
The enumeration attribute **<state>@status** contains values:
* conceptual
* planned
* operational
* disabled
* closed
The enumeration is extendable (otherEnumerationValue).
It is suggested to add a new value **"unknown...## Description
The enumeration attribute **<state>@status** contains values:
* conceptual
* planned
* operational
* disabled
* closed
The enumeration is extendable (otherEnumerationValue).
It is suggested to add a new value **"unknown"**
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
The <propOther> sub-element belongs to <ocp>, which is a sub-element of <operationalControlPoints>, a high-level element. In railML2.4 <propOther> is used to indicate the status of an OCP with a further sub-element <state>@status. The value list of the @status attribute is extended by “other:Unknown”.
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, page 29.
### Links
* Forum discussion:
* Torben Brand, 31.08.2017: [https://www.railml.org/forum/index.php?t=msg&th=531&goto=1632&#msg_1632]
* Christian Rahmig, 30.08.2018: [https://www.railml.org/forum/index.php?t=msg&th=591&goto=1933&#msg_1933]
* Christian Rahmig, 09.09.2020: [https://www.railml.org/forum/index.php?t=msg&th=760&start=0&]
* Trac tickets:
* #339
* #421
* Wiki documentation:
* IS:state: [https://wiki2.railml.org/wiki/IS:state]
## Proposed solution in railML 2.5
There are two options:
* option 1: missing attribute to be interpreted as "information is unknwon"
* **option 2: extend @status with new value "unknown"**
It shall be **clarified in the Wiki documentation** that:
* the value of <state>@status must always be understood in the context of the file and its usage
* the value of <state>@status is valid only within a certain railML file and the real status of the infrastructure element cannot be derived from the defined value2.5DocumentationDocumentationhttps://development.railml.org/railml/version2/-/issues/418Add border type "project"2022-08-08T14:25:10+02:00OrganisationAdd border type "project"## Description
The <border> element shall be used to define the border of an infrastructure project. It is suggested to extend the enumeration for attribute @type.
### Background
This ticket was raised by Norway as part of the standa...## Description
The <border> element shall be used to define the border of an infrastructure project. It is suggested to extend the enumeration for attribute @type.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
It is a sub-element of <trackTopology>, which belongs to <track>, a high-level element of railML2.4.
The railML2.4 <border> element is used in railML2.4nor to define the borders of projects, as described in chapter 4.12 (document link below). Please note that in railML2.4nor the <border> element is only used to model the project area of the defined areas in chapter 4.9 (document link below). The borders of all further areas are modelled by references to existing infrastructure elements, e.g. interlocking elements.
The railML2.4 <border> element is not extended by attributes. However, a new value for the enumeration attribute @type is introduced: “other:project”.
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.12.
### Links
* Forum discussion:
* Torben Brand, 20.12.2018: [https://www.railml.org/forum/index.php?t=msg&th=626&goto=2051&#msg_2051]
* Torben Brand, 09.04.2021: [https://www.railml.org/forum/index.php?t=msg&th=576&goto=2690&#msg_2690]
* Trac tickets:
* #418
* Wiki documentation:
* IS:border: [https://wiki2.railml.org/wiki/IS:border]
## Proposed solution in railML 2.5
The enumeration attribute @type shall be extended with a new value "project" to allow for modelling borders between infrastructure projects.
## Proposed solution in railML 3.2
_tbd_2.5DocumentationDocumentationhttps://development.railml.org/railml/version2/-/issues/416Extend operational properties of an OCP2022-08-08T14:25:09+02:00OrganisationExtend operational properties of an OCP## Description
It was suggested to extend the operational attributes for an OCP summarized in element <propOperational>.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used common...## Description
It was suggested to extend the operational attributes for an OCP summarized in element <propOperational>.
### Background
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
railML2.4nor extends the railML2.4 functionality of <ocp> by the sub-element <propOperationalAdditional> to specify additional attributes for any OCP. These attributes are @remoteControlled and @simultaneousEntry.
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.2.2.
### Links
* Forum discussion:
* Torben Brand, 20.12.2016: [https://www.railml.org/forum/index.php?t=msg&th=483&goto=1457&#msg_1457]
* Torben Brand, 14.06.2021, on values of @simultaneousEntry: [https://www.railml.org/forum/index.php?t=msg&th=483&goto=2763&#msg_2763]
* Trac tickets:
* #416
* Wiki documentation:
* IS:propOperational: [https://wiki2.railml.org/wiki/IS:propOperational]
## Proposed solution in railML 2.5
The element <propOperational> shall be extended by two attributes:
* **@remoteControlled** (boolean) to describe whether the OCP is remotely controlled by a TMS or CTC.
* **@simultaneousEntry** (enumeration) to describe the pattern for a simultaneous entry into the OCP
The following values of the (extendable) enumeration of @simultaneousEntry are suggested:
* "yes"
* "no"
* "partial"
* "other"2.5DocumentationDocumentationhttps://development.railml.org/railml/version2/-/issues/414Add <lineSection> to <trackGroups>2022-08-08T14:25:09+02:00OrganisationAdd <lineSection> to <trackGroups>## Description
It is suggested to divide a <line> element into several <lineSection> elements. <lineSection> elements shall be available under <trackGroups>. A line section should reference the tracks that belong to it.
### Background
...## Description
It is suggested to divide a <line> element into several <lineSection> elements. <lineSection> elements shall be available under <trackGroups>. A line section should reference the tracks that belong to it.
### Background
In Norway, railway lines - <line> element - are segmented into line sections. They consist of either stations (defined from home to home signal) or open sections (sections between stations). Tracks are to be segmented at these borders.
This ticket was raised by Norway as part of the standardisation in Norway and shall be used commonly in the future.
The element <lineSection> was introduced in railML2.4nor as a sub-element of <trackGroup>, which is an element present in railML 2.4.
In railML 2.4, stations (OCP with attribute @propOperational="station") reference their tracks with <propEquipment/trackRef>@ref. Open sections are not defined in railML2.4 and do not have a track reference. However, this is important in Norway and thus shall be modelled with the <lineSection> element. It is a new child element of <trackGroups>.
<lineSection> has a sub-element <trackRef> to reference the tracks which belong to the section.
For more details see document “railML2.4nor Infrastructure Documentation“ (https://www.jernbanedirektoratet.no/railML), version 1.3, 03.07.2020, point 4.18.
### Links
* Forum discussion:
* Torben Brand, 20.12.2016: [https://www.railml.org/forum/index.php?t=msg&th=482&goto=1456&#msg_1456]
* Torben Brand, 06.03.2017: [https://www.railml.org/forum/index.php?t=msg&goto=1523&&srch=nor%3Aarea#msg_1523]
* Trac tickets:
* #414
* #415
* #316
* Wiki documentation:
* none
## Proposed solution in railML 2.5
_tbc: Is there a need for railML 2.5 implementation or is a railML 3 implementation sufficient?_
There is a need for having a solution in railML 2.5. ~~However, the forum post by Christian from 20.11.2017 (see [https://www.railml.org/forum/index.php?t=msg&th=482&goto=1665&#msg_1665]) ist still waiting for answers.~~
It is suggested to follow a similar approach like in railML 3:
Instead of introducing a new element <lineSection>, a **hierarchy of <line> elements** shall be implemented:
* a <line> element can be used to model a line segment as well as a whole line
* introduce new attribute **<line>@belongsToParent** to reference a line by a line segment.
* there is no new <lineSection> element
In the wiki, the definition/description for the <line> element need to be adapted:
* "A line is a sequence of one or more line sections forming a route, which connects operational points and which may consist of several tracks used for regular railway operation."
* "The <line> element shall be used to model line sections as well as whole lines."
* attribute @belongsToParent: "reference to the (one and only) parent (line) section"
## Proposed solution in railML 3.x
See Trac ticket #3162.5DocumentationDocumentation