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.
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.
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:
Popis vlastností objektových referencií:
Popis vlastností stĺpcových referencií:
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:
Obsah sekcie z príkladu XML súboru:
<member>SELT\CD8FD25EF8A690341B111F5274CDB5AB</member>
Popis vlastností hodnoty memeber:
Poznámka: Pri operácii XML Import vplýva táto hodnota na členstvo objektu v jednotlivých logických skupinách.
Obsah sekcie z príkladu XML súboru:
<member>Home_s\04CB44144B2CD8E46955D846D30B0F72</member>
Popis vlastností hodnoty memeber:
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:
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:
Obsah sekcie z príkladu XML súboru:
<tObjLifeLogData> <name>U.TimeSlice</name> <state>OLA_CREATED</state> <modify_time>08.10.2009 08:16:23.761</modify_time> <user_name>s</user_name> <process_name>WS1JSTF2.CNF</process_name> <computer_name>WS1JSTF2</computer_name> <log_type>OLT_CONFIG</log_type> <comment_text/> </tObjLifeLogData>
Za sebou uvedené štruktúry tObjLifeLogData reprezentujú logy "života objektu"
Popis vlastností log štruktúry:
Medzi podporované typy hodnôt atribútov štruktúr patria:
| Vymenovaný typ | Stručný popis hodnoty atribútu | Príklad elementu v XML súbore |
|---|---|---|
| T_RECORD_NAME | Interné meno štruktúry. | meno tagu štruktúry |
| T_RECORD | Hodnota typu štruktúra. | vnorená štruktúra <tCalcData> v <tCalcData_Full> |
| T_ARRAY | Hodnota typu pole štruktúr rovnakého typu. | vnorené pole štruktúr <Tprvok_pola_?> v <STRIP_DATA> |
| T_HOBJ | Meno objektu. | <ParentId>DIAGRAMS</ParentId> |
| T_HOBJ_KEY | Meno objektu, ktoré je zároveň kľúčovou položkou. | <ID_RESOURCE>Home_Pjanko</ID_RESOURCE> |
| T_VOBJ | Meno objektu, riadok a stĺpec. | <CtrlObject>P.IF500_RS_WatchDog</CtrlObject> |
| T_BOOLEAN | Vymenovaný typ (hodnota True alebo False). | <Read_Only>False</Read_Only> |
| T_BITSET | Pole vymenovaných typov (vymenované hodnoty). | <IsValueDelay>Off</IsValueDelay> |
| T_ENUM | Vymenovaný typ (vymenované hodnoty). | <Typ>POINT</Typ> |
| T_SIGNED_INT | Celočíselná hodnota <-2147483647 .. 2147483648>. | <TransPalIdx>0</TransPalIdx> |
| T_UNSIGNED_INT | Celočíselná hodnota <0 .. 4294967295>. | <Id>200449</Id> |
| T_SIGNED_INT_KEY | Celočíselná kľúčová hodnota <-2147483647 .. 2147483648>. | <grObjectNr>1163</grObjectNr> |
| T_UNSIGNED_INT_KEY | Celočíselná kľúčová hodnota <0 .. 4294967295>. | <Row>0</Row> |
| T_FLOAT | Neceločíselná hodnota. Hodnoty väčšie ako 1.0E+38 budú interpretované ako hodnota 1.0E+38 a hodnoty menšie ako -1.0E+38 budú interpretované ako hodnota -1.0E+38. | <BaseValue>1.00000000000000E+00</BaseValue> |
| T_D2TIME | Hodnota určujúca čas a dátum. | <ModifyTime>18.07.2003 11:52:09.674</ModifyTime> |
| T_STRING | Textová hodnota s presne definovanou dĺžkou. | <PassCode>ROOT_CFGRECORDS_TUserData_PassCode</PassCode> |
| T_BOUNDED_STRING | Textová hodnota s definovanou maximálnou dĺžkou. | <Name>D.PIPA_CHSO2_Mh</Name> |
| T_UNBOUNDED_STRING | Textová hodnota s neobmedzenou dĺžkou. | <statement>TextTextTextTextText</statement> |
Typy hodnôt sa delia na:
Reťazové hodnoty T_STRING, T_BOUNDED_STRING alebo T_UNBOUNDED_STRING sa ďalej členia na:
Vlastnosti typu SDT_RAW_DATA:
Vlastnosti typu T_ARRAY:
Nasledujúci príklad zobrazuje uloženie konfigurácie objektu typu USER_VAR s názvom U.TimeSlice do XML súboru:
<?xml version="1.0" encoding="windows-1250"?>
<!--$Date: 2012/10/19 05:30:58 $ $Revision: 1.7 $ $Author: pbrezina $ $ExpSubDir: Common\Planner $-->
<ROOT>
<REFERENCES>
<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>
</REFERENCES>
<CFGRECORDS>
<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>
<Text_Palette/>
<Read_Only>False</Read_Only>
<TECH_UNIT/>
<UseLimits>False</UseLimits>
<VHL>1.00000000000000E+38</VHL>
<HL>1.00000000000000E+38</HL>
<LL>-1.00000000000000E+38</LL>
<VLL>-1.00000000000000E+38</VLL>
<VHL_ID>SV.Limits[1]^VHL</VHL_ID>
<HL_ID/>
<LL_ID/>
<VLL_ID/>
<Hysterezia>0.00000000000000E+00</Hysterezia>
<TransPalIdx>0</TransPalIdx>
<Hidden>False</Hidden>
<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>
</CFGRECORDS>
<MEMBEROFLOGGROUP>
<member>SELT\CD8FD25EF8A690341B111F5274CDB5AB</member>
</MEMBEROFLOGGROUP>
<MEMBEROFRESGROUP>
<member>Home_s\04CB44144B2CD8E46955D846D30B0F72</member>
</MEMBEROFRESGROUP>
<CRC>a7a8bda021932a3547e6553cb8980273</CRC>
<OBJLIFELOGS>
<tObjLifeLogData>
<name>U.TimeSlice</name>
<state>OLA_CREATED</state>
<modify_time>08.10.2009 08:16:23.761</modify_time>
<user_name>s</user_name>
<process_name>WS1JSTF2.CNF</process_name>
<computer_name>WS1JSTF2</computer_name>
<log_type>OLT_CONFIG</log_type>
<comment_text/>
</tObjLifeLogData>
</OBJLIFELOGS>
</ROOT>