Signals as kind of ocps
The "ocpTT" of a timetable typically references either a station or a blocking signal. But in the infrastructure an "ocp" means a station and its location on the tracks by "crossSection" elements.
Now signals need an "ocpRef" attribute as well and there should be an "ocpType" to distinguish between a station-ocp and a signal-ocp.
Proposed solution railML 3.1
In railML 3.1 OCPs are modelled as elements in infrastructure domain. An can be located in the topologic railway network using <*location> elements, either as spot location, linear location or area location.
For defining a single signal to be an operational point, the child element can be used. In this container, all the infrastructure elements that belong to this operational point are being referenced. The following code snippet shows the signal example:
<operationalPoint ...>
<spotLocation .../>
<opEquipment>
<ownsSignal ref="sig01"/>
</opEquipment>
</operationalPoint>
The referenced signal "sig01" need to exist in the infrastructure, too.
Proposed solution railML 3.x
The railML 3.1 implementation shall be reviewed to check if there are any missing information.