From railML 3 Wiki
Jump to navigation Jump to search




Autoexport from the XML-Schema for element TT:commercialTrainVariant of railML® version 3.2

A commercial train variant is a specific variant of a train that is meant to be operated in this way on all operating days indicated by the provided validity. It is expected that the validities of all commercial train variants within a commercial train do not overlap. The difference between one variant and the next of a commercial train is that the trains path may differ to some degree as could the required facilities for passengers or freight.




  • itineraryRef: References the itinerary of the commercial train variant. The commercial train variant is expected to stop or passthrough all of the OPs specified by the base itinerary points that are referenced by this itinerary. (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • offset: Allows to specify a temporal offset to the times provided with the itinerary. (optional; xs:duration),

  • validityRef: Reference to a validity. This validity specifies if the commercial train variant is meant to be operated on a certain day, or if it is not. (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}),

  • id: unique identifier (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.

This element does not appear in railML® 3.1 within the TT subschema. It is available only in railML® 3.2. Do not hesitate to contact for further questions.

Changes 3.1→3.2

Introduced with version 3.2.


Private-cloud-icon.png Semantic Constraint "TT:003":
When calculating which <commercialTrainVariant> of a <commercialTrain> is valid on a particular day always a maximum of one active <commercialTrainVariant> shall be the result. If the result is more than one <commercialTrainVariant>, all except one shall be marked as <isCancelled> or <isOnRequest>.
Proposed on January 12th 2023
Approved on April 06th 2023
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Best Practice / Examples

Additional Information


An <commercialTrainVariant> is specific for a certain day. It shall not be used to describe different alternative train paths of a microscopic infrastructure model a train may go on a certain day, e.g. use track A or B to get from OP 1 to OP 2. An <commercialTrain> shall always only have a single <commercialTrainVariant> that is applicable for a certain day.

Open Issues