IS:designator ocp

From railML 2 Wiki
Jump to navigation Jump to search


designator
 


Scheme description / Schemenbeschreibung

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

  • Parent: <ocp>
  • Children: None

Multiplicity / Anzahl

[0..1]

Semantics / Bedeutung

There are normally several abbreviations and/or numbers for the same <ocp> (station), even in one country. So, the writing and reading software of a railML® file can have different external primary keys for the same <ocp> (station).

The <designator> sequence allows to enumerate more than one external primary key for one <ocp>. Such, it defines the mapping from one to another register.

It substitutes the older (now deprecated) attributes number ((deprecated with version 2.1)) and abbrev[i]ation ((deprecated with version 2.1)) of <ocp>.(introduced with version 2.2)
 
Please, be aware of the semantic constraint(s)!

Attributes of designator / Attribute von designator

  • register: Name of the register, e.g. registers for OCPs: IBNR, DB640, RL100 or DIDOK. Choose a value from the railML® codelist Registers.xml or name your own register starting with an underscore.
  • entry: An entity's code in the specified register.
  • startDate: Date from when (including) the entry becomes or became valid. The entry can be considered as "valid since ever" if this attribute is not used (no other entry of that register was valid during the validity period of the file).
  • endDate: Date (including) when the entry becomes or became invalid. The entry can be considered as valid until canceled if this attribute is not used (no other entry of that register will become valid during the validity period of the file as known so far).

Syntactic Constraints / Syntaktische Beschränkungen

  • register xs:string, required
  • entry xs:string, required
  • startDate xs:date, optional: shall be lower or equal endDate if both are used. Must not overlap with other validity periods of the same register for the same <ocp>.
  • endDate xs:date, optional: shall be higher or equal startDate if both are used. Must not overlap with other validity periods of the same register for the same <ocp>.

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

Examples for OCPs with several designators in distinct registers

<ocp ... name='Passau Hbf.' ...>
    <designator register='ENEE' entry='80-26506-6'/>
    <designator register='PLC' entry='DE18274'/>
    <designator register='IBNR' entry='8000298'/>
    <designator register='RL100' entry='NPA'/>
    <designator register='DB640' entry='Pa'/>
</ocp>

<ocp ... name='Fieberbrunn' ...>
    <designator register='ENEE' entry='81-01155-1'/>
    <designator register='PLC' entry='AT1155'/>
    <designator register='IBNR' entry='8100053'/>
    <designator register='DB640' entry='Fie' endDate='2011-12-31'/>
    <designator register='DB640' entry='Hch H2' startDate='2012-01-01'/>
    <designator register='RL100' entry='XAFB'/>
</ocp>

<ocp ... name='Buchs (SG)' ...>
    <designator register='ENEE' entry='85-09404-X'/>
    <designator register='PLC' entry='CH9404'/>
    <designator register='IBNR' entry='8509404'/>
    <designator register='DB640' entry='Bc'/>
    <designator register='RL100' entry='XSBU'/>
    <designator register='DIDOK' entry='BU'/>
</ocp>

Examples concerning startDate and endDate

   <designator register='DB640' entry='Bc1'/>
   <designator register='DB640' entry='Bc2' startDate='2001-01-01'/>

'Bc1' was valid until 31.12.2000.

   <designator register='DB640' entry='Bc1' endDate='2013-01-01'/>
   <designator register='DB640' entry='Bc2'/>

'Bc1' is valid until 01.01.2013, 'Bc2' will be valid from 02.01.2013.

   <designator register='DB640' entry='Bc1' startDate='2001-01-01' endDate='2013-01-01'/>
   <designator register='DB640' entry='Bc2'/>

'Bc2' was valid until 31.12.2000 and will be valid again from 02.01.2013. (A case not very common in practice.)

Examples for wrong usage (invalid code)

   <designator register='DB640' entry='Bc1' endDate='2012-12-31'/>
   <designator register='DB640' entry='Bc2' startDate='2012-01-01'/>

Not allowed, because there are two different valid designators in the same register from 2012-01-01 until 2012-12-31.


 

   <designator register='DB640' entry='Bc1'/>
   <designator register='DB640' entry='Bc2'/>

Not allowed, because there are two different valid designators in the same register permanently.

Notes / Anmerkungen

A list of current entries can be found on page Dev:Registers#Current entries. The procedure to add entries to the codelist is described on page Dev:Codelists#Missing entries.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.