Hello everyone!
As discusses at the last timetable developer meeting (19th January), the topology reference should be described in a generic way. It should also be possible to make a reference to a topology version and not only the topology date. The reference type as well as the reference content is defined by the underlying topology model and provided by the exporting system. For this purpose, something like the OCP designator construct should be used.
Here is the next proposal for the timetable.xsd:
<xs:complexType name="eTrainPartSequence">
<xs:complexContent>
<xs:extension base="rail:tTrainPartSequence">
<xs:sequence>
...
<xs:element name="topologyReference"
type="rail:tTopologyReference"
minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation source="http://wiki.railml.org/..."/>
</xs:annotation>
</xs:element>
...
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
and the corresponding definition for the complex type "tTopologyReference" in timetableTypes.xsd:
<xs:complexType name="tTopologyReference">
<xs:attribute name="topologyModel" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>name of the referenced topology model, e.g. UNO</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="reference" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>the reference in the specified topology model. The reference may be a version, name, date or any other string identifying a specific topology within the topology model.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="rail:aTimePeriod">
<xs:annotation>
<xs:documentation>the time period when the referenced topology is valid</xs:documentation>
</xs:annotation>
</xs:attributeGroup>
<xs:attributeGroup ref="rail:anyAttribute">
<xs:annotation>
<xs:documentation>provide an extension point for non-railML attributes in foreign namespace</xs:documentation>
</xs:annotation>
</xs:attributeGroup>
</xs:complexType>
Best regards,
Mico