IS:designator ocp: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(note)
No edit summary
Line 17: Line 17:
* {{Attr|entry}}: Contains the external primary key of the OCP belonging to the referred [[Registers.xml|register]]. To fulfill the requirements of a primary key, {{Attr|entry}} must be '''unique''' through all other entries of {{IS:Tag|ocp}}s with the same 'register'.
* {{Attr|entry}}: Contains the external primary key of the OCP belonging to the referred [[Registers.xml|register]]. To fulfill the requirements of a primary key, {{Attr|entry}} must be '''unique''' through all other entries of {{IS:Tag|ocp}}s with the same 'register'.


* {{Attr|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). Before {{Attr|startDate}}, either the whole {{IS:Tag|ocp}} wasn't part of the register or there is another entry for that {{IS:Tag|ocp}} and register with a lower {{Attr|endDate}}.
* {{Attr|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). Before {{Attr|startDate}}, either the whole {{IS:Tag|ocp}} wasn't part of the register or there is another entry for that {{IS:Tag|ocp}} and register with a lower {{Attr|endDate}}. {{StartEndDoc}}


* {{Attr|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). After {{Attr|endDate}}, either the whole {{IS:Tag|ocp}} will no longer be part of the register or there is another entry for that {{IS:Tag|ocp}} and register with a higher {{Attr|startDate}}.
* {{Attr|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). After {{Attr|endDate}}, either the whole {{IS:Tag|ocp}} will no longer be part of the register or there is another entry for that {{IS:Tag|ocp}} and register with a higher {{Attr|startDate}}. {{StartEndDoc}}


|notes =
|notes =

Revision as of 11:34, 18 June 2018


designator
 


Scheme description / Schemenbeschreibung

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

  • Parent: <ocp>
  • Children: None

Multiplicity / Anzahl

[1..1]

Semantics / Bedeutung

(introduced with version 2.2) 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>.

Attributes of designator / Attribute von designator

  • register: A string value for defining the catalogue, index, or directory where the external primary key comes from or refers to. Attribute register is used to link a designator with the codelist Registers.xml. A list of the currently registered catalogues can be found here.
  • entry: Contains the external primary key of the OCP belonging to the referred register. To fulfill the requirements of a primary key, entry must be unique through all other entries of <ocp>s with the same '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). Before startDate, either the whole <ocp> wasn't part of the register or there is another entry for that <ocp> and register with a lower endDate. Please, recognize the semantic constraint.
  • 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). After endDate, either the whole <ocp> will no longer be part of the register or there is another entry for that <ocp> and register with a higher startDate. Please, recognize the semantic constraint.

Syntactic Constraints / Syntaktische Beschränkungen

  • register xs:string, required: Existing string value entries shall be used for the assigned registers and must not be used for other databases.
    For short-time or internal purposes new string value entries can be used additional to that of railML's XSD, but for official data exchange between two software programs it is strongly recommended that each new 'register' entry has to be 'registered' at railML's IL scheme coordinator (link to the railML® website) and included into the codelist Registers.xml for free.
  • entry xs:string, required: May be a string or a number depending on the 'register'. This means, some 'register' entries require a pure numeric number and do not allow characters or other signs. This is not forced by railML so far. entry must be unique through all other entries of <ocp>s with the same 'register'.
  • 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>.

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.