Condensed Data
In order to save bandwidth, some data is transferred in a custom efficient format. It is typically used for data reflecting the device status.
To achieve the greatest possible efficiency, data is transferred in nested arrays with no meta information. The logical structure of the data is mirrored by the array nesting. See , the Condensed Data for details.
In order to display the data, a template that references the positions in the nested arrays is needed. The following templates are supported:
cdid
The data in Condensed Data is matched to specific
places in the template via cdid
. This identifier has the format of .a[.b.c…]
where a
, b
and c
are numeric indexes of the elements in the data arrays.
In this example the elements a
and b
point to nested arrays and c
points
to the actual value. Each cdid
must consist of at least one numeric index.
Arrays
Referencing scalar data types is straight forward since we can point to the
exact data instance. With arrays, however, the referencing is more complicated
as there can be zero or more array elements of the same structure. To point to
a value within an array element the number referencing the index within the
array must be omitted: .0..1
.
Template <-> Data Mismatch
Not all data present in Condensed Data must be
referenced. It is possible to only use a subset of the data available for the
given display method. For example, the data values sedan
and wagon
present
in example of Condensed Data are not used in
example of Condensed Presentation.
Likewise, it is valid for referenced data to be missing in a record in
Condensed Data if it is the last element in an
array. Its value is then determined by the implicit default
principle. For example, previous_owners
attribute (see: Condesned Schema)
is omitted for the "Ford" record in the example data (see: Condensed Data).
If it is not the last element, the empty value must be expressed by using the
implicit default for the given data type. For example the .3
and .6
values
in the "Mazda" record (see: Condensed Data).