...
- Loading of XML files.
- The first parsing of XML data.
- Matching of the objects and references with the target configuration:
- matching of the imported objects with the target configuration
- ID is assigned to new objects (insert) , if the ID reservation failed or ID was zero
- matching of the object references with the target configuration
- parent consistency check checking the consistency of the parents of the changed objects (update), but while the change is permitted onlyallowed:
for- for the object of I/O
- , Table, Eval Tag, Alarm, Remote Tag, Historical Value types
- for other types of objects (e.g. Line, Station) provided that the parent process (e.g. KOM) is stopped. If the parent of the object is directly a process (e.g. for objects of type Line), both the old and the new parent process must be stopped
- matching of the column references with the target configuration
- Reading of the binary files.
- The second parsing of XML data.
- XML data import.
...
- XML file structure must be correct
- each object reference <HOBJ_REF> in <REFERENCES> section must have:
- filled name <name>
- unique name <name> and <uid> (if it is filled) within this section
- each column reference <COL_REF> in <REFERENCES> section must have:
- filled name <col_name>
- unique name <col_name> and <col_idx> (if it is filled) within this section
- <col_idx> must not acquire the a value higher than MAX_VALID_COL_IDX = 7777
- the structure <tObjItemData> must be listed as the first in <CFGRECORDS> section
- name <Name> of the structure must be filled
- if the object in references refers to itself, its name must match with uid
If an object or column reference is found while parsing <CFGRECORDS> section (it was not found according to name in prepared references from <REFERENCES> section), it will be added automatically into <REFERENCES> section. It means , that the references from <REFERENCES> section are just a sort of some rule that is primary taken into consideration but the import may be done also without <REFERENCES> section.
This action is followed by a check whether all the objects (as individual elements) were changed from XML to the structures in memory. It only involves the check of objects (whether they are correct or not) regardless of their membership in the particular configuration.
...