TT:operatingPeriod: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
(Undo revision 6852 by Ferri Leberl (talk))
m (1 revision imported: http→https)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ElementDocu|
{{ElementDocu|
elementName = operatingPeriod
elementName = operatingPeriod
Line 12: Line 13:
|childs =  
|childs =  
{{TT:Tag|additionalName|operatingPeriod}} {{Intro|2.1}}, {{TT:Tag|operatingDay}}, {{TT:Tag|specialService|operatingPeriod}}, {{any}}
{{TT:Tag|additionalName|operatingPeriod}} {{Intro|2.1}}, {{TT:Tag|operatingDay}}, {{TT:Tag|specialService|operatingPeriod}}, {{any}}
 
|maxocc=∞
|inheritedAttributes =  
|inheritedAttributes =  
{{InheritIdName
{{InheritIdName
Line 28: Line 29:
}}
}}


* {{Attr|startDate}}: This is the first day of the period, if the operating period is shorter than the underlying {{TT:Doc|timetablePeriod}}. <br> {{Deu|Die Angabe von {{Attr|startDate}} beschränkt die Anwendung der Bildungsregel des {{TT:Doc|operatingDay}}-Elements auf diesen Datumsbereich.}}
* {{Attr|startDate}}: This is the first day of the period, if the operating period is shorter than the underlying {{TT:Doc|timetablePeriod}}. <br> {{Deu|Die Angabe von {{Attr|startDate}} beschränkt die Anwendung der Bildungsregel des {{TT:Doc|operatingDay}}-Elements auf diesen Datumsbereich.}}{{StartEndDoc}}
 
* {{Attr|endDate}}: This is the last day of the period, if the operating period is shorter than the underlying {{TT:Doc|timetablePeriod}}. <br> {{Deu|Die Angabe von {{Attr|endDate}} beschränkt die Anwendung der Bildungsregel des {{TT:Doc|operatingDay}}-Elements auf diesen Datumsbereich.}}{{StartEndDoc}}
* {{Attr|endDate}}: This is the last day of the period, if the operating period is shorter than the underlying {{TT:Doc|timetablePeriod}}. <br> {{Deu|Die Angabe von {{Attr|endDate}} beschränkt die Anwendung der Bildungsregel des {{TT:Doc|operatingDay}}-Elements auf diesen Datumsbereich.}}
 
* {{Attr|bitMask}}: This is a bit mask with {{Enum|0}} or {{Enum|1}} for every day of the {{TT:Doc|timetablePeriod}}.
* {{Attr|bitMask}}: This is a bit mask with {{Enum|0}} or {{Enum|1}} for every day of the {{TT:Doc|timetablePeriod}}.
* {{Attr|dayOffset}} {{Intro|2.2}}: An offset of {{Enum|1}} indicates that the train starts on the bitMask days but after midnight, so the real date differs from the bitMask date by 1. (Please see Open Issues below)
|constraints =
|constraints =
{{InheritIdNameConstraints}}
{{InheritIdNameConstraints}}
* {{Attr|timetablePeriodRef}} {{RailMLType|tGenericRef}}, optional
* {{Attr|timetablePeriodRef}} {{RailMLType|tGenericRef}}, optional
 
* {{Attr|startDate}} {{XsdType|date}}, optional; shall be lower or equal {{Attr|endDate}} if both are used.
* {{Attr|startDate}} {{XsdType|date}}, optional
* {{Attr|endDate}} {{XsdType|date}}, optional; shall be higher or equal {{Attr|startDate}} if both are used.
 
* {{Attr|endDate}} {{XsdType|date}}, optional
 
* {{Attr|bitMask}} optional, consisting of the digits {{Enum|0}} and/or {{Enum|1}}<br>The "string-length" has to be the number of days in the time period defined through {{Attr|startDate}} and {{Attr|endDate}} of the {{TT:Tag|timetablePeriod}} element.<br>This means: If the timetable period is reduced by attributes {{Attr|startDate}}+{{Attr|endDate}} of the element {{TT:Doc|operatingPeriod}} the difference quantity of days in the {{Attr|bitmask}} has to be set to {{Enum|0}} but not to be skipped.
* {{Attr|bitMask}} optional, consisting of the digits {{Enum|0}} and/or {{Enum|1}}<br>The "string-length" has to be the number of days in the time period defined through {{Attr|startDate}} and {{Attr|endDate}} of the {{TT:Tag|timetablePeriod}} element.<br>This means: If the timetable period is reduced by attributes {{Attr|startDate}}+{{Attr|endDate}} of the element {{TT:Doc|operatingPeriod}} the difference quantity of days in the {{Attr|bitmask}} has to be set to {{Enum|0}} but not to be skipped.
* {{Attr|dayOffset}} {{XsdType|integer}}, optional, default: {{Enum|0}}


The attributes {{Attr|startDate}} and {{Attr|endDate}} are not allowed to enhance the time period given by the referenced {{TT:Doc|timetablePeriod}}. <br> {{Deu|{{Attr|startDate}} und {{Attr|endDate}} sind nur gemeinsam zu benutzen und dürfen nur Tage innerhalb der Gültigkeitsperiode der {{TT:Doc|timetablePeriod}} referenzieren.}}
The attributes {{Attr|startDate}} and {{Attr|endDate}} are not allowed to enhance the time period given by the referenced {{TT:Doc|timetablePeriod}}. <br> {{Deu|{{Attr|startDate}} und {{Attr|endDate}} sind nur gemeinsam zu benutzen und dürfen nur Tage innerhalb der Gültigkeitsperiode der {{TT:Doc|timetablePeriod}} referenzieren.}}
 
|semcon={{startEndCon}}
|example =  
|example =  


Line 58: Line 48:


see also  
see also  
* [http://www.irfp.de/download/railml_beispiel_verkehrstage.pdf Weitere Informationen und RailML-Beispiel zu Verkehrstagen, PDF, 185 kByte]
* {{external|https://www.irfp.de/download/railml_beispiel_verkehrstage.pdf|Weitere Informationen und {{rml}}-Beispiel zu Verkehrstagen|type=pdf|comment=by Dirk Bräuer, iRFP Dresden|lang=de|date=2012-0523|visited=2018-03-27}}
* [http://www.irfp.de/download/railml_beispiel_mueg.pdf RailML-Beispiel zu Mitternachtsübergängen, PDF, 269 kByte]
* [[TT:Midnight_overrun | How to indicate midnight overruns in {{rml}}]]
|notes =  
|notes =  
Please note that <{{TT:Doc|ocpTT}}>.<{{TT:Doc|times}}>.{{Attr|arrivalDay}}/{{Attr|departureDay}} and <{{TT:Doc|operatingPeriod}}>.{{Attr|dayOffset}} are very similar working attributes but they are not the same. The actual offset from an <{{TT:Doc|operatingPeriod}}> to the actual days of an arrival is the ''sum'' of {{Attr|dayOffset}} and {{Attr|arrivalDay}} (and similar for departures).
So, if you have to create a <{{TT:Doc|trainPart}}> with {{Attr|departureDay}}=1 at its first <{{TT:Doc|ocpTT}}>, do not repeat the {{Attr|departureDay}}=1 with {{Attr|dayOffset}}=1 at the <{{TT:Doc|operatingPeriod}}> of that <{{TT:Doc|trainPart}}>! This would result in ''two'' days shift of the {{Attr|bitMask}} of <{{TT:Doc|operatingPeriod}}>.
The <{{TT:Doc|operatingPeriod}}>.{{Attr|dayOffset}}>0 is intended to be used if a <{{TT:Doc|trainPart}}> ran over midnight ''before it’s first <ocpTT>'' - so it ‘inherited’ the midnight overrun from an earlier section. In such a case, the <{{TT:Doc|trainPart}}> would refer to an <{{TT:Doc|operatingPeriod}}> with {{Attr|dayOffset}}=1 but ''nevertheless start with {{Attr|departureDay}}=0 at its first <ocpTT>''.
If then the <{{TT:Doc|trainPart}}> runs over midnight again (a second time in total) we do have the situation of {{Attr|departureDay}}=1 and <{{TT:Doc|operatingPeriod}}>.{{Attr|dayOffset}}=1 - meaning that there were really two midnight overruns, one inherited from an earlier section and one in the current section.
It seams as if it is redundant whether a <{{TT:Doc|trainPart}}> starts with {{Attr|departureDay}}=1 or refers to an <{{TT:Doc|operatingPeriod}}> with {{Attr|dayOffset}}=1. It is not, since a train shall always start with {{Attr|departureDay}}=0 at its fist <{{TT:Doc|ocpTT}}> in its first section; {{Attr|departureDay}}>0 is intended to happen only in first <{{TT:Doc|ocpTT}}>s in further sections.
For more information, see [[TT:Midnight_overrun | How to indicate midnight overruns in RailML]]
|openissues =
|openissues =
The attribute {{Attr|dayOffset}} has not been implemented in railML and although it was documented in the Wiki it is not present in the railML 2.2 XSD definition! There is currently a discussion in the railML Forum to decide whether or not it shall be introduced in version 2.4 ([http://www.railml.org/forum/index.php?t=msg&th=523&start=0& Link to forum]).
|backHome = TT:elements
|backHome = TT:elements
}}
}}

Latest revision as of 16:24, 15 February 2021


operatingPeriod
 


Scheme description / Schemenbeschreibung

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

Multiplicity / Anzahl

[1..∞]

Semantics / Bedeutung

The Element <operatingPeriod> describes the operation of a train. This could either be in relation to certain days of a calendar or abstract based on a standard week (or both).

Das Element <operatingPeriod> beschreibt die Verkehrsperiode eines Zuges. Dies kann entweder im Bezug auf konkrete Kalendertage oder abstrakt über eine wochenbasierte Beschreibung mittels operatingDay erfolgen (oder beides).
 
Please, be aware of the semantic constraint(s)!

Attributes of operatingPeriod / Attribute von operatingPeriod

  • 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.
  • timetablePeriodRef: This refers to the id attribute of the associated <timetablePeriod> element.

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
  • timetablePeriodRef xs:IDREF, optional
  • startDate xs:date, optional; shall be lower or equal endDate if both are used.
  • endDate xs:date, optional; shall be higher or equal startDate if both are used.
  • bitMask optional, consisting of the digits 0 and/or 1
    The "string-length" has to be the number of days in the time period defined through startDate and endDate of the <timetablePeriod> element.
    This means: If the timetable period is reduced by attributes startDate+endDate of the element operatingPeriod the difference quantity of days in the bitmask has to be set to 0 but not to be skipped.

The attributes startDate and endDate are not allowed to enhance the time period given by the referenced timetablePeriod.
startDate und endDate sind nur gemeinsam zu benutzen und dürfen nur Tage innerhalb der Gültigkeitsperiode der timetablePeriod referenzieren.

Semantic Constraints / Semantische Beschränkungen

Private-cloud-icon.png Semantic Constraint "TT:001":
 
Any starting time stamp (as it may result e.g. from a combination of startDate and startTime) shall be lower or equal any ending time stamp (e.g. endDate) if both are given. Must not overlap with other validity periods.
 
Proposed on November 12th 2018
Approved on March 21st 2019
FIXME: add Link to discussion!
Please, recognize our guidelines on semantic constraints

Best practice & Examples / Empfohlene Anwendung & Beispiele

  <operatingPeriod id="op15" name="15" description="Mo-Fr" timetablePeriodRef="tp2005" bitMask="011111001111000111100011111...111110" />

see also

Notes / Anmerkungen

Open issues / Offene Punkte/Pendenzen