04/09/2019
I'm now in the process of parsing the DataSetMetaDataType and in Part 14 of the Spec on page number 25, Chapter 6.2.2.1.2, Table 3 where it describes the DataSetMetaDataType structure, the first field in the table is the DataSetMetaDataType where the type is defined as "Structure".
Name
|
Type
|
Description
|
DataSetMetaDataType
|
Structure
|
|
name
|
String
|
Name of the DataSet.
|
description
|
LocalizedText
|
Description of the DataSet.
The default value is a null LocalizedText. |
fields
|
FieldMetaData[]
|
The metadata for the fields in the DataSet.
The FieldMetaData DataType is defined in 6.2.2.1.3. |
dataSetClassId
|
Guid
|
This field provides the globally unique identifier of the class of DataSet if the DataSet is based on a DataSetClass. In this case, this field shall match the DataSetClassId of the concrete DataSet configuration.
If the DataSets are not created from a class, this field is null. |
configurationVersion
|
Configuration VersionDataType
|
The configuration version for the current configuration of the DataSet.
|
What does this mean when parsing the bytes? Should I ignore this Type and start parsing from the name field which is of Type String?
05/30/2017
The tables use indentation to indicate containers.
So the name through configurationVersion fields are indented which means they are components of the DataSetMetaDataType.
The Structure type is an abstract type with no fields. The table defines the fields that this particular Structure has.
This means the encoded form of the structure will start with a string representing the name.
Note that Structure are often serialized inside an ExtensionObject which adds an envelope with the DataType EncodingId.
1 Guest(s)