================== Univerzální import ================== V konvertoru: *Nastavení konverze* = **Univerzální import**. Šablona: :download:`import-univerzalni-import-vzor.xlsx <../../../xlsximport/konfigurace/UniverzalniImport/import-univerzalni-import-vzor.xlsx>` Univerzální import je *dynamický*: význam sloupců není dán jejich pořadím, ale kódem uvedeným ve druhém řádku tabulky. Sloupce lze proto libovolně přidávat, vynechávat a přeskupovat. Do jednotky popisu lze zapsat libovolný prvek popisu pravidel ZP2015, včetně odkazů na entity. Kódy prvků a specifikací jsou k dispozici v **Dokumentaci ELZA** v `seznamu prvků popisu `_: a souvisejících kapitolách. Struktura tabulky ================= .. list-table:: :header-rows: 1 :widths: 15 85 * - Řádek - Obsah * - 1 - Názvy sloupců pro uživatele. Při převodu se nečtou. * - 2 - Kódy sloupců – určují, jak se sloupec zpracuje (viz dále). * - 3 a další - Data, jeden řádek = jedna jednotka popisu. Kód sloupce je jednoho ze dvou druhů: Přímý zápis prvku popisu – ``CE:[prvek];[specifikace];[třída entity]`` Hodnota buňky se zapíše jako prvek popisu s daným kódem, případně s danou specifikací. Například ``CE:ZP2015_OTHER_ID;ZP2015_OTHERID_SIG`` zapíše hodnotu jako *Jiné označení* se specifikací *signatura*. Třída entity se uvádí jen u prvků datového typu RECORD_REF (viz `Odkazy na entity`_). Zvláštní sloupce – ``UROVEN``, ``UROVEN_TYP``, ``DATACE_*``, ``UKL_*`` Sloupce zpracovávané zvláštním způsobem popsaným v následujících oddílech. Sloupec s kódem, který konverze nezná, se nezpracuje a jeho vyplněné buňky se uvedou v protokolu. Zvláštní sloupce ================ .. list-table:: :header-rows: 1 :widths: 20 80 * - Kód - Význam * - ``UROVEN`` - Číslo úrovně zanoření jednotky popisu, 1 = nejvyšší úroveň. * - ``UROVEN_TYP`` - Typ úrovně popisu, hodnoty viz `Typ úrovně`_. Prázdná buňka znamená pokračování předchozího řádku (viz `Víceřádkový zápis`_). * - ``DATACE_STROJ`` - Strojová datace (rok, datum, rozsah). * - ``DATACE_TEXT`` - Textová datace (zápis datace pro zobrazení). * - ``UKL_TYP`` - Typ ukládací jednotky, hodnoty viz `Ukládací jednotky`_. * - ``UKL_PREFIX`` - Prefix ukládací jednotky. * - ``UKL_CISLO`` - Číslo nebo rozsah čísel ukládacích jednotek. * - ``UKL_POSTFIX`` - Postfix ukládací jednotky. Typ úrovně ---------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Hodnota - Výsledek v ELZA * - ``SERIE`` - série * - ``SLOZKA-LOG`` - složka, typ složky *logická* * - ``SLOZKA-MEJ`` - složka, typ složky *množstevní EJ* * - ``SLOZKA-TEJ`` - složka, typ složky *s typem EJ* * - ``JEDNOT`` - jednotlivost * - ``CAST`` - část jednotlivosti Datace ------ - Je-li vyplněna strojová datace (``DATACE_STROJ``), zapíše se jako datace vzniku a textová datace se převezme z ``DATACE_TEXT``. - Není-li strojová datace vyplněna, datace vzniku se odvodí z ``DATACE_TEXT`` a ten se zapíše i jako textová datace. Ukládací jednotky ----------------- Ukládací jednotka se vytvoří jen tehdy, je-li vyplněn sloupec ``UKL_TYP``. .. list-table:: :header-rows: 1 :widths: 25 75 * - ``UKL_TYP`` - Typ ukládací jednotky * - ``KAR`` - karton * - ``FAS`` - fascikl * - ``BOX`` - krabička * - jiná hodnota - samostatně uložená jednotka Hodnoty buněk ============= Opakovatelné hodnoty Do jedné buňky lze zapsat více hodnot oddělených středníkem (``;``), například více jazyků nebo více entit stejné role. Textové prvky popisu (název, obsah, poznámky, datace, …) se středníkem nedělí. Hodnoty se specifikací U prvků popisu, jejichž hodnotou je specifikace (např. typ archiválie ``CE:ZP2015_UNIT_TYPE``, jazyk ``CE:ZP2015_LANGUAGE``), se do buňky zapisuje název specifikace (``úřední kniha``), celý kód specifikace (``ZP2015_UNIT_TYPE_UKN``) nebo jen jeho koncová část (``UKN``). Velikost písmen se nerozlišuje. Víceřádkový zápis ----------------- Řádek s prázdným sloupcem ``UROVEN_TYP`` nevytváří novou jednotku popisu, ale pokračuje předchozím řádkem. Text v něm se připojí k hodnotě z předchozího řádku – mezerou, nebo na nový řádek, začíná-li pokračování znakem ``(``, ``#`` nebo pomlčkou. .. todo:: Ověřit, pro které sloupce se pokračování spojuje, a doplnit příklad. Odkazy na entity ================ Sloupce s prvky popisu, jejichž hodnotou je entita (role entit ``ZP2015_ENTITY_ROLE``, autorské dílo ``ZP2015_ITEM_TITLE_REF``), obsahují jméno entity. Pro každé jméno se v importu založí entita s tímto názvem jako preferovaným označením. Třída nové entity se určí: #. třetí částí kódu sloupce, např. ``CE:ZP2015_ENTITY_ROLE;ZP2015_ENTITY_ROLE_18;PERSON_INDIVIDUAL``, #. jinak podle konfigurace: .. list-table:: :header-rows: 1 :widths: 50 50 * - Prvek popisu / role - Třída entity * - autorské dílo (``ZP2015_ITEM_TITLE_REF``) - ``ARTWORK_ARTWORK`` * - role 18 (producent), 19 (objednatel) - ``COMPANY`` * - role 27 (režisér), 28 (scenárista) - ``PERSON_INDIVIDUAL`` * - role 60 (místo výroby), 71 - ``GEO_UNIT`` * - role 72 (obecný pojem) - ``TERM_GENERAL`` Pro roli, ke které třídu nelze určit, převod skončí chybou. Nechcete-li entity zakládat, použijte sloupce ``CE:ZP2015_ENTITY_ROLE_TEXT;``, které jméno zapíší jen jako text. .. todo:: Popsat, zda se stejné jméno v rámci importu sloučí do jedné entity a jak se nové entity v ELZA párují s existujícími (CAM). Sloupce vzorové šablony ======================= Šablona obsahuje tyto sloupce. Sloupce, které nepotřebujete, můžete smazat; další prvky popisu lze přidat novým sloupcem s kódem ``CE:``. .. todo:: Doplnit tabulku sloupců šablony: název (řádek 1), kód (řádek 2), prvek popisu ZP2015 a poznámka k formátu hodnoty.