Špecifikácia XML dát

Špecifikácia XML dát

Dáta XML súboru je tá časť v štruktúre XML súboru, ktorá obsahuje konfiguráciu objektov systému D2000 alebo jej časti.

Rezervované sekcie XML dát

  1. REFERENCES - obsahuje štruktúry reprezentujúce objektové a stĺpcové referencie objektu

  2. CFGRECORDS - obsahuje štruktúry reprezentujúce dáta objektu

  3. MEMBEROFLOGGROUP - obsahuje za sebou uvedené member elementy, ktoré určujú, do akej logickej skupiny daný objekt patrí

  4. MEMBEROFRESGROUP - obsahuje za sebou uvedené member elementy, ktoré určujú, do akej skupiny objektov daný objekt patrí

  5. CRC - obsahuje MD5 hash dát

  6. OBJLIFELOGS - obsahuje za sebou uvedené logy "života objektu"

Na získanie podrobných informácií o tom, ktorými štruktúrami sú definované objekty systému D2000, aké atribúty tieto štruktúry obsahujú, aké sú typy hodnôt týchto atribútov a aké hodnoty môžu tieto atribúty nadobúdať je možné použiť program pre výpis aktuálnej štruktúry. Súčasne tento výpis obsahuje nepodporované objekty a vymenované typy.

Rezervovaná sekcia REFERENCES


Obsah sekcie z príkladu XML súboru:

<HOBJ_REF> <uid>A25DED0E4DA94B4895A119370E3AF4FB</uid> <name>SV.Limits</name> <objType>D2RECORD</objType> <valType>Rec</valType> </HOBJ_REF> <COL_REF> <col_idx>1</col_idx> <col_name>VHL</col_name> <col_valType>Int</col_valType> </COL_REF> <HOBJ_REF> <uid>USER_VAR</uid> <name>USER_VAR</name> <objType>SYSTEM</objType> <valType>NAN</valType> </HOBJ_REF>

Obsahuje štruktúry:

  • HOBJ_REF reprezentujúce objektové referencie objektu

  • COL_REF reprezentujúce stĺpcové referencie objektu (objekt ich obsahuje, ak je objekt definícia štruktúry alebo na ňu odkazuje)

Popis vlastností objektových referencií:

  •  každá objektová referencia musí mať nastavený minimálne atribút name

  •  atribúty uid, objType a valType v objektovej referencii sú nepovinné

  •  ak je atribút uid v objektovej referencii nastavený, pri párovaní objektových referencií má prioritu pred atribútom name

Popis vlastností stĺpcových referencií:

  •  stĺpcové referencie musia nasledovať za príslušnou objektovou referenciou

  •  každá stĺpcová referencia musí mať nastavený minimálne atribút col_name

  •  atribúty col_idx a col_valType v stĺpcovej referencii sú nepovinné

  •  ak je atribút col_idx v stĺpcovej referencii nastavený, ma párovaní stĺpcových referencií prioritu pred atribútom col_name

Rezervovaná sekcia CFGRECORDS


Obsah sekcie z príkladu XML súboru:

<TObjItemData> <Id>0</Id> <Name>U.TimeSlice</Name> <Descript>Time Slice</Descript> <Typ>USER_VAR</Typ> <ParentId>USER_VAR</ParentId> <Value_Type>TmR</Value_Type> <CreateTime>08.10.2009 08:10:31.366</CreateTime> <ModifyTime>08.10.2009 08:18:02.938</ModifyTime> ... <uuid>5CB809E9342B7A46BD790A8C7D14C69E</uuid> </TObjItemData> <tUserVarData_Full> <tUserVarData> <MANUAL>True</MANUAL> <MANUAL_VAL/> <FLAGS/> <VALUE_TIME>08.10.2009 08:10:31.379</VALUE_TIME> <MONITOR>False</MONITOR> <SAVE_VALUE>True</SAVE_VALUE> </tUserVarData> <startVal/> </tUserVarData_Full>

V tejto sekcii sa musí vždy vyskytovať štruktúra TObjItemData (len jedenkrát) a to hneď na jej začiatku. Jednoznačne identifikuje objekt, ktorého konfigurácia je uložená v XML súbore. Za touto štruktúrou nasledujú štruktúry, ktorých počet a pomenovanie je závislé od konkrétneho typu objektu. Napríklad vyššie uvedený objekt je typu USER_VAR obsahuje ešte štruktúru s názvom tUserVarData_Full.

Popis vlastností identifikačnej šturktúry:

  • atribút Id reprezentuje Id objektu (údaj, ktorý ma význam pri operácii XML Import)

  • atribút Name musí byť vždy zadaný

  • atribút uuid, ak je zadaný, má pri párovaní objektov prioritu pred atribútom Name

Rezervovaná sekcia MEMBEROFLOGGROUP


Obsah sekcie z príkladu XML súboru:

<member>SELT\CD8FD25EF8A690341B111F5274CDB5AB</member>

Popis vlastností hodnoty memeber:

  • reprezentuje zaradenie objektov do logických skupín

  • musí obsahovať názov logickej skupiny (pred znakom '\')

  • môže obsahovať aj uid logickej skupiny (za znakom '\')

Poznámka: Pri operácii XML Import vplýva táto hodnota na členstvo objektu v jednotlivých logických skupinách.

Rezervovaná sekcia MEMBEROFRESGROUP


Obsah sekcie z príkladu XML súboru:

<member>Home_s\04CB44144B2CD8E46955D846D30B0F72</member>

Popis vlastností hodnoty memeber:

  • reprezentuje zaradenie objektov do skupín objektov

  • musí obsahovať názov skupiny objektov (pred znakom '\')

  • môže obsahovať aj uid skupiny objektov (za znakom '\')

  • ak je názov skupiny objektov uzavretý v '[' a ']', objekt bol pridaný do skupiny s potomkami

Rezervovaná sekcia CRC


Obsah sekcie z príkladu XML súboru:

a7a8bda021932a3547e6553cb8980273

Hodnota CRC predstavuje MD5 hash vytvorený z obsahu XML súboru. Zahŕňa dáta od <ROOT> elementu (včítane <ROOT> elementu) až po riadok pred CRC sekciou (vrátane znakov CR, LF alebo oboch). Vyhodnotenie CRC hodnoty má význam pre XML Import a XML Repository.

Vyhodnotenie CRC hodnoty:

  • sekcia sa v dátach nachádza

    • MD5 hash zodpovedá tejto hodnote - dáta neboli modifikované

    • MD5 hash nezodpovedá tejto hodnote - dáta boli modifikované

  • sekcia sa v dátach nenachádza - nedá sa určiť, či boli dáta modifikované

Vyhodnotenie tejto CRC hodnoty má zásadný vplyv na platnosť atribútu ModifyTime štruktúry TObjItemData v rezervovanej sekcii <CRGRECORDS>, čo sa prejaví pri operácii XML Import nasledovne:

  • ak je CRC hodnota platná, potom je čas modifikácie objektu nastavený na hodnotu atribútu ModifyTime z XML súboru

  • ak je CRC hodnota neplatná, potom je čas modifikácie objektu nastavený na čas XML súboru alebo na aktuálny čas, ak bol čas XML súboru nedefinovaný

  • ak bola CRC hodnota neplatná, alebo sa nenachádzala v XML súbore a pred operáciou XML Import je čas určený na zmenu rovný pôvodnému času modifikácie objektu, zmení import tento čas modifikácie na aktuálny čas

Rezervovaná sekcia OBJLIFELOGS