XML Import prebieha v nasledujúcich krokoch:

  1. Načítanie XML súborov.
  2. Prvé parsovanie XML dát.
  3. Párovanie objektov a referencií s cieľovou konfiguráciou
  4. :
  5. Čítanie binárnych súborov.
  6. Druhé parsovanie XML dát.
  7. Spustenie importu XML dát.

Parsovanie XML dát


Každý XML súbor, spolu s príslušnými binárnymi súbormi, predstavuje konfiguráciu objektu určeného na import.

Podmienky úspešného parsovania:

  • štruktúra XML súboru musí byť korektná
  • v rezervovanej sekcii <REFERENCES> musí mať každá objektová referencia <HOBJ_REF>:
    • vyplnené meno <name>
    • jedinečné meno <name> a <uid> (ak je vyplnené) v rámci tejto sekcie
  • v rezervovanej sekcii <REFERENCES> musí mať každá stĺpcová referencia <COL_REF>:
    • vyplnené meno <col_name>
    • jedinečné meno <col_name> a <col_idx> (ak je vyplnené) v rámci tejto sekcie
    • <col_idx> nesmie nadobúdať hodnotu vyššiu ako MAX_VALID_COL_IDX = 7777
  • v rezervovanej sekcii <CFGRECORDS> musí byť uvedená ako prvá štruktúra <tObjItemData>
    • štruktúra musí mať vyplnené meno <Name>
    • ak má objekt v referenciách referenciu na seba, musí mať zhodné meno a uid

Ak počas parsovania časti <CFGRECORDS> nájde objektovú alebo stĺpcovú referenciu, ktorú podľa mena nenájde vo vopred pripravených referenciách zo sekcie <REFERENCES>, automaticky si ju tam doplní. To znamená, že referencie zo sekcie <REFERENCES> sú len akýmsi predpisom, ktorý primárne berie do úvahy, ale nie sú nevyhnutnosťou na to, aby prebehol import. Po skončení tejto fázy prebieha kontrola, či všetky objekty bolo možné previesť z XML reprezentácie do reprezentácie pamäťovej. Táto fáza teda zahŕňa iba kontrolu správnosti objektov ako samostatných prvkov bez ohľadu na ich príslušnosť ku konkrétnej konfigurácii.

Párovanie importovaných objektov s cieľovou konfiguráciou


Spôsob párovania objektov zobrazuje schéma párovania objektov.

Prioritný údaj pri párovaní je element uuid v štruktúre TObjItemData.
Sekundárny údaj pri párovaní je element Name v štruktúre TObjItemData.

Upozornenia, ktoré môžu počas párovania nastať:

  • ide o aktualizáciu objektu cez NAME po tom, čo zadané UID objektu sa nenašlo (4. a 5. prípad v schéme),
  • ide o aktualizáciu objektu a objekt má iný typ hodnoty ako objekt v cieľovej konfigurácii,
  • ide o vloženie objektu a nebolo možné rezervovať zadané ID objektu v cieľovej konfigurácii.

Chyby, ktoré môžu počas párovania nastať:

  • hodnota UID alebo NAME je zhodná s hodnotou iného importovaného objektu,
  • objekt, ktorý má byť importovaný sa viaže na objekt, ktorý bol práve zmazaný z cieľovej konfigurácie,
  • načíta také UID z cieľovej konfigurácie, ktoré sa už vyskytuje medzi importovanými objektmi (2. alebo 4. prípad v schéme),
  • premenovanie mena objektu, pričom také NAME už v cieľovej konfigurácii patrí inému objektu (7. prípad v schéme),
  • import nového objektu s menom, ktoré už v cieľovej konfigurácii patrí inému objektu (6. prípad v schéme),
  • objekt určený na aktualizáciu je iného typu ako typ objektu v cieľovej konfigurácii,
  • importovaný objekt nemá nastavený rodičovský objekt,
  • objekt určený na aktualizáciu má iný rodičovský objekt ako importovaný objekt (okrem prípadu, kedy sa jedná o objekt typu Meraný bod, Event, Databáza alebo Tabuľka (lebo tie zmenu povoľujú).

Párovanie objektových referencií s cieľovou konfiguráciou


Spôsob párovania objektových referencií zobrazuje schéma párovania objektových referencií.

Prioritný údaj pri párovaní je element uid v štruktúre HOBJ_REF.
Sekundárny údaj pri párovaní je element name v štruktúre HOBJ_REF.
Pri zapnutom parametri IGNR_REFS sa párovanie môže vykonať iba cez sekundárny údaj.

Upozornenia, ktoré môžu počas párovania nastať:

  • odlišný názov, typ, alebo typ hodnoty objektu v objektovej referencii ako v objekte, na ktorý odkazuje,
  • objekt referencie je vyhľadávaný cez NAME po tom, ako nebolo možné referenciu napojiť cez UID (možné len ak je importovací parameter UID_STRICT = OFF).

Chyby, ktoré môžu počas párovania nastať:

  • nie je možné nájsť objekt, na ktorý objektová referencia ukazuje

Párovanie stĺpcových referencií s cieľovou konfiguráciou


Spôsob párovania stĺpcových referencií zobrazuje schéma párovania stĺpcových referencií.

Prioritný údaj pri párovaní je element col_idx v štruktúre COL_REF.
Sekundárny údaj pri párovaní je element col_name v štruktúre COL_REF.
Pri zapnutom parametri IGNR_REFS sa párovanie môže vykonať iba cez sekundárny údaj.

Upozornenia, ktoré môžu počas párovania nastať:

  • odlišný názov alebo typ hodnoty stĺpca v stĺpcovej referencii ako v stĺpci, na ktorý odkazuje

Chyby, ktoré môžu počas párovania nastať:

  • nemožno nájsť stĺpec, na ktorý stĺpcová referencia ukazuje
Napíšte komentár