Introduction : XML metadata terminology

XML metadata terminology
This section defines the terminology used in this guide to describe the XML metadata structures and values used by VWorks software.
XML blocks and XML elements
The following terms describe the structure of the XML metadata that is passed in the input and output parameters of VWorks Plugin methods.
Note: Normally, non-XML data is not documented in the methods sections.
XML structures
VWorks software uses the following XML structures, which are passed as strings to VWorks Plugin methods:
An XML block is a portion of an XML byte string that contains a parent element and all its children. All XML blocks include the XML declaration and most contain the Velocity11 root element. In addition, some XML blocks contain the MetaData element.
The following code is an example of a CompilerErrors XML block.
 
md5sum='849392019ca47102839e845113d11840' version='1.0'>
<MetaData>
<CompilerErrors>
<CompilerError Value='Warning: xyz' ErrorType='1'>
<CompilerError Value='Warning: xyzabc' ErrorType='1'>
</CompilerErrors>
</MetaData>
An XML element is a portion of an XML byte string that contains an element that has no children. All XML elements include the XML declaration and most contain the Velocity11 root element.
The following code is an example of an analogInput XML element.
 
md5sum='cc239a8f99203e73b3de0ed8a058f77e' version='1.1' >
<analogInput name='Humidity' value='70' />
Escaped XML blocks
Whenever an XML block is used as the value of an XML attribute, the following five special characters that are used in XML markup should be escaped: <, >, &, ', and ".
Using escaped XML blocks in Parameter elements instead of specifying additional attributes is recommended. This simplifies the user interface and allows for future expansion.
For sample code that shows an escaped XML block, see “Example of an AllDeviceInfo query response” .
Empty XML blocks and elements
This section contains examples of empty XML structures.
If an XML block is empty, only its empty parent element is specified.
The following code is an example of an empty DeviceLocationTeachpoints XML block.
 
<DeviceLocationTeachpoints />
An empty Query or Update XML block includes the parent element’s Category attribute.
The following code is an example of an empty Query XML block.
 
<Query Category='GetDeviceName' />
The following code is an example of an empty Update XML block.
 
If an XML element is empty, none of its element’s attributes is specified.
The following code is an example of an empty RobotPickComplete XML element.
 
<RobotPickComplete />
XML attribute values
In this guide, some XML attribute values are identified as not specified or as having no value.
Not specified
If an attribute is not specified, it is not present in the code.
In the following code, the Labware element is not specified for the third and fourth Layout elements.
 
No value
If an attribute has no value, its value is empty.
In the following code, the OptionalDevice attribute has no value.