Scheme description / Schemenbeschreibung
Position of circulation in the XML-Tree / Position von circulation im XML-Baum
- Parent: <circulations>
- Children: None
Multiplicity / Anzahl
Semantics / Bedeutung
Attributes of circulation / Attribute von circulation
- blockRef: This refers to the id attribute of the associated <block> element.
- startDate: If this is absent operatingPeriodRef must be defined. Please, recognize the semantic constraint.
- endDate: If this is absent operatingPeriodRef may be defined or it is "open end". Please, recognize the semantic constraint.
- operatingPeriodRef: This refers to the id attribute of the associated <operatingPeriod> element.
This operatingPeriod constraints the dates the referenced block is to be fulfilled. If this is absent the referenced block runs daily from startDate to endDate.
- repeatCount: This is for abstract circulations from startDate to endDate.
- vehicleCounter (introduced with version 2.2): This indicates the right vehicle number (de: Fahrzeugnummer) within the circulations. (See also the Notes at the bottom of this page.)
- vehicleGroupCounter (introduced with version 2.2): This indicates the right vehicle group number (de: Gruppennummer) within the circulations. (See also the Notes at the bottom of this page.)
- nextBlockRef: This refers to the id attribute of the associated <block> element.
This is the block which should follow the currently referenced block.
- nextOperatingPeriodRef: This refers to the id attribute of the associated <operatingPeriod> element.
This operatingPeriod constraints the dates the following <circulation>.
- xs:anyAttribute: (introduced with version 2.3) This provides an extension point for non-railML attributes in a foreign namespace. How to use it?
Syntactic Constraints / Syntaktische Beschränkungen
- blockRef xs:IDREF, mandatory
- 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.
- operatingPeriodRef xs:IDREF, optional
- repeatCount xs:nonNegativeInteger, optional
- vehicleCounter xs:nonNegativeInteger, optional
- vehicleGroupCounter xs:nonNegativeInteger, optional
- nextBlockRef xs:IDREF, optional
- nextOperatingPeriodRef xs:IDREF, optional
Semantic Constraints / Semantische Beschränkungen
Best practice & Examples / Empfohlene Anwendung & Beispiele
see railML®-Beispiel Umlauf (external link, 2012-05-23, PDF, 🇩🇪, visited on 2018-03-27; by Dirk Bräuer, iRFP Dresden)
Notes / Anmerkungen
There exists a <circulation> element for every block belonging to the roster on every operating day. Via the attributes nextBlockRef and nextOperatingperiodRef the blocks are connected to a chain and form a rostering. A circulation without nextBlockRef models a block that has no successor in the linked chain of the current circulation plan. Similarly, a block that is referenced via blockRef but not via nextBlockRef models a block that has no predecessor on the linked chain of the current circulation plan. They may have predecessor and successor (and of course they will have in practice) in the previous or following circulation plan, may be in the previous or following timetable.
It is also legal that a block is completely unlinked within the roster of the current circulation plan. The presence of a circulation element that references this block via blockRef, in this case, expresses the fact that the block is considered as belonging to the roster at the given operating days and allows defining the values of the attributes vehicleCounter and vehicleGroupCounter.
A rostering (circulation plan) is closed (can be repeated), if the attributes nextBlockRef and nextOperatingPeriodRef exist in each <circulation> element. Otherwise, the circulation plan is open and must have links to previous and successive circulation plans. Even a closed (repeatable) circulation plan is likely to have links to previous and successive circulation plans because it is unlikely to be repeated infinitely. However, currently there are no possibilities to define such links (references) between different circulation plans in railML.
The attributes vehicleCounter and vehicleGroupCounter are completely redundant in closed rosterings (circulation plans) because the information can be recreated by counting links (nextBlockRef,…) which link to earlier days (nextOperatingPeriodRef). Nevertheless, providing these values even in closed circulation plans makes it easier to get the data and to avoid misunderstandings (skipping of vehicles during standstill).
Open issues / Offene Punkte/Pendenzen
Not yet described. / Noch nicht beschrieben.