XML data is the part of XML file that contains the object configuration of D2000 System or its sections.
The detailed information about the structures defining the objects of D2000 System, the attributes of structures, the value types of attributes and the values the attributes can acquire, can be find by the program to show the actual structure. This listing includes the unsupported objects and enumerated types.
The example of section:
(the complete example is here)
<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>
It includes the structures:
Properties of the object references:
Properties of the column references:
The example of section:
(the complete example is here)
<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>
This section must contain just the one structure TObjItemData at the
beginning. It identifies the object uniquely. The configuration of
this object is saved in XML file.
This structure is followed by another structures, they count and name
depends on a particular type of object. See the example: the object is of USER_VAR
type and contains the structure
tUserVarData_Full.
Properties of identification structure:
The example of section:
(the complete example is here)
<member>SELT\CD8FD25EF8A690341B111F5274CDB5AB</member>
Properties of member value:
Note: This value affects the object membership in the logical groups at XML Import.
The example of section:
(the complete example is here)
<member>Home_s\04CB44144B2CD8E46955D846D30B0F72</member>
Properties of member value:
The example of section:
(the complete example is here)
a7a8bda021932a3547e6553cb8980273
The CRC value represents MD5 hash formed from the contents of XML file. It includes data from <ROOT> element (<ROOT> element inclusive) to the row before CRC section (the signs CR, LF or both inclusive). The evaluation of CRC value is important for XML Import and XML Repository.
The evaluation of CRC value:
The evaluation of CRC value influences the validity of ModifyTime attribute in TObjItemData structure of <CRGRECORDS> section. It becomes evident at XML Import as follows:
The example of section:
(the complete example is here)
<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>
tObjLifeLogData structures represent the logs about the object history.
Properties of log structure:
A supported value types of the structure attributes are:
Enumerated type | Description of value | Example of element in XML file |
---|---|---|
T_RECORD_NAME | Internal name of structure. | Tag name of structure |
T_RECORD | Value of structure type. | Nested structure <tCalcData> in <tCalcData_Full>. |
T_ARRAY | Value of structure array type of the same type. | Nested structure array <Tprvok_pola_?> v <STRIP_DATA>. |
T_HOBJ | Object name. | <ParentId>DIAGRAMS</ParentId> |
T_HOBJ_KEY | Object name which is a key item. | <ID_RESOURCE>Home_Pjanko</ID_RESOURCE> |
T_VOBJ | Object name, row and column. | <CtrlObject>P.IF500_RS_WatchDog</CtrlObject> |
T_BOOLEAN | Enumerated type (True or False). | <Read_Only>False</Read_Only> |
T_BITSET | Array of enumerated types (enumerated values). | <IsValueDelay>Off</IsValueDelay> |
T_ENUM | Enumerated type (enumerated values). | <Typ>POINT</Typ> |
T_SIGNED_INT | Integer value <-2147483647 .. 2147483648>. | <TransPalIdx>0</TransPalIdx> |
T_UNSIGNED_INT | Integer value <0 .. 4294967295>. | <Id>200449</Id> |
T_SIGNED_INT_KEY | Integer key value <-2147483647 .. 2147483648>. | <grObjectNr>1163</grObjectNr> |
T_UNSIGNED_INT_KEY | Integer key value <0 .. 4294967295>. | <Row>0</Row> |
T_FLOAT | Floating point. The values greater than 1.0E+38 will be interpreted as the value 1.0E+38 and the values less than -1.0E+38 will be interpreted as the value -1.0E+38. | <BaseValue>1.00000000000000E+00</BaseValue> |
T_D2TIME | Value modifying a time and date. | <ModifyTime>18.07.2003 11:52:09.674</ModifyTime> |
T_STRING | Text with defined length. | <PassCode>ROOT_CFGRECORDS_TUserData_PassCode</PassCode> |
T_BOUNDED_STRING | Text with defined maximal length. | <Name>D.PIPA_CHSO2_Mh</Name> |
T_UNBOUNDED_STRING | Text with unlimited length. | <statement>TextTextTextTextText</statement> |
Value types can be:
The string values T_STRING, T_BOUNDED_STRING or T_UNBOUNDED_STRING can be:
Properties of SDT_RAW_DATA type:
Properties of T_ARRAY type:
The following example demonstrates the saving of the object of USER_VAR type with the name U.TimeSlice into XML file:
<?xml version="1.0" encoding="windows-1250"?> <!--$Date: 2012/07/04 05:05:23 $ $Revision: 1.10 $ $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>