XML data is the part of XML file that contains the object configuration of D2000 System or its sections.


Reserved sections

  1. REFERENCES - the section includes the structures representing the object and column references of object
  2. CFGRECORDS - the section includes the structure representing the data of object
  3. MEMBEROFLOGGROUP - the section includes member elements defining the logical group which the given object belongs to
  4. MEMBEROFRESGROUP - the section includes member elements defining the group of object which the given object belongs to
  5. CRC - the section includes the MD5 hash of data
  6. OBJLIFELOGS - the section includes the logs about the object history

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.

REFERENCES reserved section


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:

CFGRECORDS reserved section


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:

MEMBEROFLOGGROUP reserved section


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.

MEMBEROFRESGROUP reserved section


The example of section:
(the complete example is here)

<member>Home_s\04CB44144B2CD8E46955D846D30B0F72</member>

Properties of member value:

CRC reserved section


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:

OBJLIFELOGS reserved section


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:

Supported value types of structure attributes


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:

Example of XML file representing of object of D2000 System


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>

D2000 XML
XML file structure
Actual structure of XML