DCC Content Rules

This document compiles all rules that are considered for the content of any DCC to be valid. All rules stated in the document consider DCC versions 3.3.0 onwards.

Tables

Tables are collections of data under the dcc:list tag.

T0 - Definition

A section under the dcc:list tag is consideres a table if and only if one or multiple of the following applies:

  1. The refType contains the key 'basic_{N}IndexTable' or 'basic_{N}IndexFlatTable' (deprecated from version 3.4.0)
  2. Contains the attribute tabledimension="N" (from version 3.4.0-rc.2)

Where N is the number of index quantities that compose the table.

T1 - Indexing

All index quantities should be in the range (0, N-1) without skipping or repeating any number. For example, a table with 3 indexes is expected to display the index quantities with indexes 0, 1 and 2.

Quantities

Quantities are array-like data under the dcc:quantity tag.

Q0 - Definition (Index Quantity)

Any dcc:quantity tagged data, contained within a table as defined at T0, is considered as Index Quantity if and only if one or multiple of the following applies:

  1. The refType contains the key 'basic_TableIndex{M}' or 'basic_FlatTableIndex{M}' (deprecated from version 3.4.0)
  2. Contains the attribute tabledimension="M" (from version 3.4.0-rc.2)

Where M corresponds to the positional index of the quantity within the table.

See Also

Q1 - Definition (Value Quantity)

Any dcc:quantity is considered as a value quantity if it does not contain any attribute or refType that defines it as an index quantity.