Overview
Present import indicates how Classification mappings may be imported into the system.
The purpose of a file format is to define syntax and semantics of data within files. It represents a bidirectional mapping between information and its storage in a medium. Knowledge of the file format is crucial for the interpretation of data stored in a file.
This specification details the layout of data within a file. The document describes the following:
-
exchanged information
-
format and layout of the exchanged document
/*<![CDATA[*/ div.rbtoc1770892094229 {padding: 0px;} div.rbtoc1770892094229 ul {list-style: disc;margin-left: 0px;} div.rbtoc1770892094229 li {margin-left: 0px;padding-left: 0px;} /*]]>*/ Overview Overall Conventions Software Worksheet Table Columns Column name Column Code Requirement of Contained Data Data types Column Description Translatability IN/OUT Identifiers (IDs) Definitions, Acronyms and Abbreviations Structure of an eptos standard import file for Classification Sheet 1: Mappings Mappings Inheritance
Overall Conventions
Software
Import filters file is composed of one XLSX sheet. Therefore, to build the file a program needs to be installed that can handle the XLSX format, such as Microsoft Excel. Documents which implement this file format specification need to be saved as .xlsx files.
Worksheet
An Excel file can be structured in multiple work sheets. Each work sheet has a name that must be adhered to.
Each sheet has two header lines and a data payload.
In row 1 the human readable column names are printed – the row will be ignored by import
Row 2 contains the column codes that are used by the import program to identify the content.
Then follow the data rows.
Table Columns
Column name
Each table column has a name which gives a human comprehensive short reference of the column's content.
Note: the column name is for convenience only and not used to interpret the file.
Column Code
In order to reference the column unambiguously each column gets a unique code within the worksheet.
The import program is relying on Column Codes. If Column orders are changed, the codes must be preserved.
Requirement of Contained Data
Each column of contained data can be either
-
Mandatory – values MUST be present
-
Optional – values MAY be present
-
Conditional – values MUST be present IF a condition applies
Data types
Each column has a defined data type, i.e. a restricted set of available values. For example the data type integer only allows whole numbers while the data type string allows any sequences of characters. Additionally the data type string can be syntactically further constrained by a grammar.
|
Data type |
Description |
Example |
|
Integer |
whole number (positive and negative) |
-10, 20 |
|
Real |
Rational numbers (positive and negative)
|
10, 10.5, -12,44
|
|
String |
Sequence of characters (excluding inverted comma)
|
AbC |
Column Description
Description of the content for each column.
Translatability
The content of each column can be either translatable of not. In case a column's content data are translatable, the column code in the header is suffixed by a locale code comprising of a language code, an underscore and a country code. Example of locale codes: "de_DE", "en_US".
IN/OUT
For each column it can be defined whether the contained data is relevant for import or only gives additional information to a human reader of the file.
Identifiers (IDs)
References within the exchange file are made by an ID. There are two kinds of IDs to be separated:
-
Transient ID
Any sequence of characters can be treated as a transient ID when it cannot be confused with a code or an IRDI. It is recommended to use 6 digits long zero padded running numbers, e.g. 000001. The running number must be unique within the file and will be replaced by a code during import.
-
Persistent ID
A persistent ID can be used for references during load of new entries and for updates of existing entries. For updates of data that are already stored in eptos using a persistent ID is mandatory. The format of the persistent ID in eptos is the international registration data identifier (IRDI). For classification classes also the coded name may be used.
When an import file contains more than one ID for the same entity, the following precedence is taken:
-
Persistent ID (IRDI)
-
Coded Name
-
Transient ID
Definitions, Acronyms and Abbreviations
Table 1: acronyms and definitions
|
Akronyme DE |
Definition DE |
Akronyme EN |
Definition English |
|
CC |
Klassifikationsklasse |
CC |
Classification Class |
Structure of an eptos standard import file for Classification
Sheet 1: Mappings
The Sheet “Mappings” contains all data required for the import of mappings between classifications. Standard naming is „Mappings“, also in German.
|
Column Name |
Column Code |
Obligation |
IN/OUT |
Data type |
Description |
Translatable |
Example |
|
ID Source |
MP01 |
M* |
IN/OUT |
String |
Contains the IRDI of source class for identification Either MP01 or MP02 must be filled When MP01 and MP02 are filled, MP01 takes precedence |
N |
0173-1#01AAA123#001 |
|
Hierarchical position source |
MP02 |
M* |
IN/OUT |
String |
Hierarchical position of source classification class for identification (without separator) Either MP01 or MP02 must be filled When MP01 and MP02 are filled, MP01 takes precedence |
N |
27200402
|
|
ID Target |
MP03 |
M* |
IN/OUT |
String |
Contains the IRDI of target class for identification Either MP03 or MP04 must be filled When MP03 and MP04 are filled, MP03 takes precedence |
N |
0173-5#01AAA123#001 |
|
Hierarchical position target |
MP04 |
M* |
IN/OUT |
String |
Hierarchical position of target classification class for identification (without separator) Either MP03 or MP04 must be filled When MP03 and MP04 are filled, MP03 takes precedence |
N |
EC0012
|
|
Type of mapping |
MP05 |
M |
IN/OUT |
String {E,I}
|
Tells if the mapping is implicit (I) or explicit (E). Implicit mappings are effects of explicit mappings. Implicit mappings are completely ignored in import and are only relevant for exports. Import program let only “E” entries pass through. |
N |
E |
Note: See separate chapter about the inheritance of mappings and implicit/explicit mappings
Mappings Inheritance
The classification mappings must be inherited down into the hierarchy.
We must differentiate between explicit mappings (created explicitly) and implicit mappings (created as a result of an explicit mappings).
explicit mappings have precedence over implicit mappings.
Provided we have the following structure:
Suppose we have the following explicit mappings
|
Hier1 |
Hier2 |
|
A |
X |
|
A1 |
X1 |
|
A2 |
X2 |
|
B1 |
Y1 |
As a result of this we will also have the following implicit mappings:
|
Hier1 |
Hier2 |
|
A |
X3 |
|
B11 |
Y1 |
|
B12 |
Y1 |
|
B13 |
Y1 |
In other words, all children that have no explicit mapping will get an implicit mapping to the target of explicit mapping.