TT:trainGroup

From railML 2 Wiki
Revision as of 19:34, 8 August 2022 by RailML Coord Governance (talk | contribs) (@trainNumber explained)
Jump to navigation Jump to search


trainGroup
 


Scheme description / Schemenbeschreibung

Position of trainGroup in the XML-Tree / Position von trainGroup im XML-Baum

Multiplicity / Anzahl

[1..∞]

Semantics / Bedeutung

The Element <trainGroup> is linking different individual trains to a group. This could for instance be used for an interval group of trains belonging together in a train path allocation process. Das Element <trainGroup> verknüpft verschiedene Einzelzüge zu einer Gruppe. Dies könnten beispielsweise die Züge einer Taktfamilie sein, die innerhalb einer Trassenanmeldung gemeinsam betrachtet werden sollen.

Attributes of trainGroup / Attribute von trainGroup

  • id: XML-file-wide unique, machine-interpretable identity, required for later referencing that element internally. For a detailed explanation see Dev:identities.
    XML-Datei-weit eindeutige, maschineninterpretierbare Identität, die für die spätere interne Referenzierung dieses Elements erforderlich ist. Für eine detaillierte Erklärung siehe Dev:identities.
  • code (introduced with version 2.1): Machine-interpretable string (e.g. an abbreviation) used for identification of the object across exchange partners, usecase specific uniqueness constraints may apply. Please see our description of the differences between id, code and human-readable identifiers.
    Maschineninterpretierbare Zeichenkette (z.B. Abkürzung), die zur Identifizierung des Objekts auch bei Austauschpartnern verwendet wird, wobei spezifische Eindeutigkeitsbeschränkungen gelten können. Bitte beachten Sie unsere Erläuterung zu den Unterschieden zwischen id, code and menschenlesbaren Kennzeichnungen.
  • name: Established, human-readable short string, giving the object a name. Not intended for machine interpretation, please see our notice on human interpretable data fields.
    Etablierte, menschenlesbare kurze Zeichenkette, die das Objekt benennt. Nicht zur maschinellen Interpretation bestimmt, siehe Hinweise zu menschenlesbaren Datenfeldern.
  • description: Human-readable, more detailed description as addition to the name. It should give additional explanations or hints to the contents of this element. Not intended for machine interpretation, please see our notice on human interpretable data fields.
    Menschenlesbare, detailliertere Beschreibung als Ergänzung zu name. Sie soll zusätzliche Erläuterungen oder Hinweise auf den Inhalt dieses Elements geben. Nicht zur maschinellen Interpretation bestimmt, siehe Hinweise zu menschenlesbaren Datenfeldern.
  • xml:lang (introduced with version 2.1): This is a unique identifier of language. It uses basically the language standard IETF BCP 47 (external link) which may be different to ISO 639-1 (external link) or ISO 639-2 (external link). For mapping hints see relation to other standards (external link).
    This defines the language used for name and description. Use <additionalName> to provide a name and/or description in other languages.
  • type: This is the reason why the trains were combined into a train group. Possible values are:
  • interval: The trains run in a periodic interval with the same period; i.e. all trains run with the same times on the stations, different operating days or lengths of the running routes are permissible. For further background information about interval timetables you may refer to Clock-face scheduling (Wiki banner.png 🇬🇧) too.
    Die Züge verkehren in einem periodischen Intervall mit gleicher Periode; daß heisst alle Züge verkehren mit gleichen Zeiten auf den Stationen, unterschiedliche Verkehrstage oder Längen der Laufwege sind dabei zulässig. Weitere Infomationen hierzu sind auf der zugehörigen Wikipedia-Seite zu Taktfahrplänen (Wiki banner.png 🇩🇪) zu finden.
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.
  • trainNumber: This is the train number of the "leading" train of this train group, if this makes sense from a technical point of view. This train belongs to the interval group with the same ranking as the other trains named in the trainfRef. If used, the train referenced here shall not be repeated again in the trainfRef.
    Dies ist die Zugnummer des "führenden" Zuges dieser Zuggruppe, sofern dies fachlich sinnvoll ist. Dieser Zug gehört gleichranging zur Taktgruppe wie die anderen, in der trainfRef genannten, Züge. Sofern verwendet, darf hier referenzierte Zug nicht nochmals in der trainfRef wiederholt werden.
  • processStatus: It describes the trainGroup status in relation to a working process. (deprecated with version 2.5)
🗒️ The semantics of the attribute values for @processStatus have not been fully defined in the past. In general the attribute shall describe a state of the process supported by railML®. Therefore the precise semantics shall be clarified between data provider and the data consumer.
Examples:
If an updated version of a timetable is transferred, the @processStatus is used by some systems to indicate if a train was changed compared to the previous data transfer by providing @processStatus=changed.
For the use case slot ordering the attribute is used with the value planned by some systems to describe that a train has been planned in the scheduling tool, but hasn’t been taken into account for the slot ordering process.

Possible values are:

  • planned
  • actual
  • calculated
  • toBeChecked
  • changed
  • imported
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.
  • parentRef (introduced with version 2.5): Reference to a superordinate trainGroup. Allows the composition of hierarchies of trainGroups. In order to compose trainGroups that only consist of (further) trainGroups, "empty" trainGroups without trainRefs may also exist starting with railML version 2.5.
    Referenz zu einer übergeordneten trainGroup. Ermöglicht die Bildung von Hierarchien aus trainGroups. Um auch trainGroups bilden zu können, die nur aus (weiteren) trainGroups bestehen, dürfen ab railML-Version 2.5 auch "leere" trainGroups ohne trainRefs existieren.

Syntactic Constraints / Syntaktische Beschränkungen

  • id: xs:ID, required
    a string, starting with a letter (a..zA..Z) or an underscore (_),
    followed by a non-colonized and non-spaced string consisting of letters, digits, points (.), dashes (-) or underscores (_)
  • code: xs:string, optional
  • name: xs:string, optional
  • description: xs:string, optional
  • xml:lang: xs:language, language identification, optional
  • type: union of (restriction of xs:string, tOtherEnumerationValue); tOtherEnumerationValue is an arbitrary string starting with 'other:' followed by at minimum two characters, white space not allowed for extending railML® enumeration lists, optional
  • processStatus: union of (restriction of xs:string, tOtherEnumerationValue); tOtherEnumerationValue is an arbitrary string starting with 'other:' followed by at minimum two characters, white space not allowed for extending railML® enumeration lists optional

Best practice & Examples / Empfohlene Anwendung & Beispiele

Three Thalys trains (9304, 9306, 9308) driving during a day belonging to the same family of an interval train (9300)

<trainGroups>
  <!-- Interval trains -->
  <trainGroup id="THA_9300" type="interval" description="Bruxelles - Paris" trainNumber="9300">
    <trainRef sequence="1" ref="o9304"/>
    <trainRef sequence="2" ref="o9306"/>
    <trainRef sequence="3" ref="o9308"/>
  </trainGroup>
</trainGroups>

Example for attribute @parentRef

<trainGroups>
  <trainGroup id="trg_1" name="parent trainGroup for trainGroups A and B"/>
  <trainGroup id="trg_2" name="trainGroup A" parentRef="trg_1">
    <trainRef ref="..." sequence="1" />
    <trainRef ref="..." sequence="2" />
  </trainGroup>
  <trainGroup id="trg_3" name="trainGroup B" parentRef="trg_2">
    <trainRef ref="..." sequence="1" />
    <trainRef ref="..." sequence="2" />
    <trainRef ref="..." sequence="3" />
  </trainGroup>
</trainGroups>

Notes / Anmerkungen

Not yet described. / Noch nicht beschrieben.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.