# DDL_DIC

2015-05-07

This dictionary contains the definitions of attributes that make up the DDLm dictionary definition language. It provides the meta meta data for all CIF dictionaries.

Generated from ddl.dic, version 3.11.09

Categories that may have more than one row are called loop categories. Datanames making up the keys for these categories have a dot suffix.

## ATTRIBUTES

This category is parent of all other categories in the DDLm dictionary.

## ALIAS

The attributes used to specify the aliased names of definitions.

### _alias.definition_id•

Identifier tag of an aliased definition.

### _alias.deprecation_date

Date that the aliased tag was deprecated as a definition tag.

### _alias.dictionary_uri

Dictionary URI in which the aliased definition belongs.

## CATEGORY

The attributes used to specify the properties of a "category" of data items.

### _category.key_id

Tag of a single data item in a Loop category which is the generic key to access other items in the category. The value of this item must be unique in order to provide unambiguous access to a packet (row) in the table of values. This may be assumed to be a function of the datanames listed in category_key.name.

## CATEGORY_KEY

The attributes used to specify (possibly multiple) keys for a given category.

### _category_key.name•

A minimal list of tag(s) that together constitute a compound key to access other items in a Loop category. In other words, the combined values of the datanames listed in this loop must be unique, so that unambiguous access to a packet (row) in the table of values is possible. The dataname associated with category.key_id is only included in this loop if no other set of datanames can form a compound key.

## DEFINITION

The attributes for classifying dictionary definitions.

### _definition.class

The nature and the function of a definition or definitions.

Possible values(default in bold):

Attribute | Item used as an attribute in the definition of other data items in DDLm dictionaries. These items never appear in data instance files.
Functions | Category of items that are transient function definitions used only in dREL methods scripts. These items never appear in data instance files.
Datum | Item defined in a domain-specific dictionary. These items appear only in data instance files.
Head | Category of items that is the parent of all other categories in the dictionary.
Loop | Category of items that in a data file must reside in a loop-list with a key item defined.
Set | Category of items that form a set (but not a loopable list). These items may be referenced as a class of items in a dREL methods expression.
Ref-loop | A category containing one item that identifies the a category of items that is repeated in a sequence of save frames. The item, which is specifies as a as a Ref-table value (see type.container), is looped. This construction is for loop categories that contain child categories. If in the instance file, the child items have only one set of values, the Ref-loop item need not be used and child items need not be placed in a save frame.

### _definition.id

Identifier name of the Item or Category definition contained within a save frame.

### _definition.scope

The extent to which a definition affects other definitions.

Possible values(default in bold):

Dictionary | applies to all defined items in the dictionary
Category | applies to all defined items in the category
Item | applies to a single item definition

### _definition.update

The date that a definition was last changed.

### _definition.xref_code

Code identifying the equivalent definition in the dictionary referenced by the DICTIONARY_XREF attributes.

## DESCRIPTION

The attributes of descriptive (non-machine parseable) parts of definitions.

### _description.common

Commonly-used identifying name for the item.

### _description.key_words

List of key-words categorising the item.

### _description.text

The text description of the defined item.

## DESCRIPTION_EXAMPLE

The attributes of descriptive (non-machine parseable) examples of values of the defined items.

### _description_example.case•

An example case of the defined item.

### _description_example.detail

A description of an example case for the defined item.

## DICTIONARY

Attributes for identifying and registering the dictionary. The items in this category are NOT used as attributes of INDIVIDUAL data items.

### _dictionary.class

The nature, or field of interest, of data items defined in the dictionary.

Possible values(default in bold):

Reference | DDLm reference attribute definitions
Instance | domain-specific data instance definitions
Template | domain-specific attribute/enumeration templates
Function | domain-specific method function scripts

### _dictionary.date

The date that the last dictionary revision took place.

### _dictionary.ddl_conformance

The version number of the DDL dictionary that this dictionary conforms to.

### _dictionary.namespace

The namespace code that may be prefixed (with a trailing colon ":") to an item tag defined in the defining dictionary when used in particular applications. Because tags must be unique, namespace codes are unlikely to be used in data files.

### _dictionary.title

The common title of the dictionary. Will usually match the name attached to the data_ statement of the dictionary file.

### _dictionary.uri

The universal resource indicator of this dictionary.

### _dictionary.version

A unique version identifier for the dictionary.

## DICTIONARY_AUDIT

Attributes for identifying and registering the dictionary. The items in this category are NOT used as attributes of individual data items.

### _dictionary_audit.date

The date of each dictionary revision.

### _dictionary_audit.revision

A description of the revision applied for the _dictionary_audit.version.

### _dictionary_audit.version•

A unique version identifier for each revision of the dictionary.

## DICTIONARY_VALID

Data items which are used to specify the contents of definitions in the dictionary in terms of the _definition.scope and the required and prohibited attributes.

### _dictionary_valid.application•

Provides the information identifying the definition scope ( from the _definition.scope enumeration list) and the validity options (from the _dictionary_valid.option enumeration list), as a two element list. This list signals the validity of applying the attributes given in _dictionary_valid.attributes.

### _dictionary_valid.attributes

A list of the attribute names and categories that are assessed for application in the item, category and dictionary definitions.

### _dictionary_valid.option

Option codes for applicability of attributes in definitions.

Possible values(default in bold):

Mandatory | attribute must be present in definition frame
Recommended | attribute is usually in definition frame
Prohibited | attribute must not be used in definition frame

### _dictionary_valid.scope

The scope to which the specified restriction on usable attributes applies.

Possible values:

Dictionary | restriction applies to dictionary definition data frame
Category | restriction applies to a category definition save frame
Item | restriction applies to an item definition save frame

## DICTIONARY_XREF

Data items which are used to cross reference other dictionaries that have defined the same data items. Data items in this category are NOT o used as attributes of individual data items.

### _dictionary_xref.code•

A code identifying the cross-referenced dictionary.

### _dictionary_xref.date

Date of the cross-referenced dictionary.

### _dictionary_xref.format

Format of the cross referenced dictionary.

### _dictionary_xref.name

The name and description of the cross-referenced dictionary.

### _dictionary_xref.uri

The source URI of the cross referenced dictionary data.

## ENUMERATION

The attributes for restricting the values of defined data items.

### _enumeration.def_index_id

Specifies the data name with a value used as an index to the DEFAULT enumeration list (in category enumeration_default) in order to select the default enumeration value for the defined item. The value of the identified data item must match one of the _enumeration_default.index values.

### _enumeration.default

The default value for the defined item if it is not specified explicitly.

### _enumeration.mandatory

Yes or No flag on whether the enumerate states specified for an item in the current definition (in which item appears) MUST be used on instantiation.

Possible values(default in bold):

Yes | Use of state is mandatory
No | Use of state is unnecessary

### _enumeration.range

The inclusive range of values "from:to" allowed for the defined item.

## ENUMERATION_DEFAULT

Loop of pre-determined default enumeration values indexed to a data item by the item _enumeration.def_index_id.

### _enumeration_default.index•

Index key in the list default values referenced to by the value of _enumeration.def_index_id .

### _enumeration_default.value

Default enumeration value in the list referenced by the value of _enumeration.def_index_id. The reference index key is given by the value of _enumeration_default.index value.

## ENUMERATION_SET

Attributes of data items which are used to define a set of unique pre-determined values.

### _enumeration_set.detail

The meaning of the code (identified by _enumeration_set.state) in terms of the value of the quantity it describes.

### _enumeration_set.state•

Permitted value state for the defined item.

### _enumeration_set.xref_code

Identity of the equivalent item in the dictionary referenced by the DICTIONARY_XREF attributes.

### _enumeration_set.xref_dictionary

Code identifying the dictionary in the DICTIONARY_XREF list.

## IMPORT

Used to import the values of specific attributes from other dictionary definitions within and without the current dictionary.

### _import.get

A list of tables of attributes defined individually in the category IMPORT_DETAILS, used to import definitions from other dictionaries.

## IMPORT_DETAILS

Items in IMPORT_DETAILS describe individual attributes of an import operation.

### _import_details.file_id

The file name/URI of the source dictionary

### _import_details.frame_id

The framecode of the definition frame to be imported.

### _import_details.if_dupl

Code identifying the action taken if the requested definition block already exists within the importing dictionary.

Possible values(default in bold):

Ignore | ignore imported definitions if id conflict
Replace | replace existing with imported definitions
Exit | issue error exception and exit

### _import_details.if_miss

Code identifying the action taken if the requested definition block is missing from the source dictionary.

Possible values(default in bold):

Ignore | ignore import
Exit | issue error exception and exit

### _import_details.mode

Code identifying how a definition save frame is to be imported. "Full" imports the entire definition frame including the leading and trailing save statements. "Contents" imports only the lines within the save frame.

Possible values(default in bold):

Full | import requested definition with frame
Contents | import contents of requested defn frame

### _import_details.order•

The order in which the import described by the referenced row should be executed.

### _import_details.single

A Table mapping attributes defined individually in category IMPORT to their values; used to import definitions from other dictionaries.

### _import_details.single_index

One of the indices permitted in the entries of values of attribute _import_details.single.

Possible values:

file | filename/URI of source dictionary
save | save framecode of source definition
mode | mode for including save frames
dupl | option for duplicate entries
miss | option for missing duplicate entries

## LOOP

Attributes for looped lists.

### _loop.level

Specifies the level of the loop structure in which a defined item must reside if it used in a looped list.

## METHOD

Methods used for evaluating, validating and defining items.

### _method.expression

The method expression for the defined item.

### _method.purpose•

The purpose and scope of the method expression.

Possible values(default in bold):

Evaluation | method evaluates an item from related item values
Definition | method generates attribute value(s) in the definition
Validation | method compares an evaluation with existing item value

## NAME

Attributes for identifying items and item categories.

### _name.category_id

The name of the category in which a category or item resides.

### _name.linked_item_id

Dataname of an equivalent item in another category which has a common set of values, or, in the definition of a type Su item is the name of the associated Measurement item to which the standard uncertainty applies.

### _name.object_id

The object name of a category or name unique within the category or family of categories.

## TYPE

Attributes which specify the typing of data items.

### _type.container

The CONTAINER type of the defined data item value.

Possible values(default in bold):

Single | single value
Multiple | values as List or by boolean ,|&!* or range : ops
List | ordered set of values bounded by [] and separated by commas. Elements need not be of same contents type.
Array | ordered set of numerical values bounded by [] and separated by commas. Operations across arrays are equivalent to operations across elements of the Array.
Matrix | ordered set of numerical values for a tensor bounded by [] and separated by commas. Tensor operations such as dot and cross products, are valid cross matrix objects.
Table | id:value elements bounded by {}; separated by commas
Ref-table | a STAR construction with key:value elements bounded by ${..}$ and separated by commas. The id tags below are privileged and optional. source - filename or URI block - data blockname frame - framecode or [framecode,framecode,..] item - dataname or [dataname,dataname,..] key - key value if item is in a list

### _type.contents

Syntax of the value elements within the container type. This may be a single enumerated code, or, in the case of a list, a comma-delimited sequence of codes, or, if there are alternate types, a boolean-linked (or range) sequence of codes. The typing of elements is determined by the replication of the minimum set of states declared. Where the definition is of a Table container this attribute describes the construction of the value elements within those (Table) values.

Possible values(default in bold):

Text | case-sens strings or lines of STAR characters
Code | case-insens contig. string of STAR characters
Name | case-insens contig. string of alpha-num chars or underscore
Tag | case-insens contig. STAR string with leading underscore
Filename | case-sens string indentifying an external file
Uri | case-sens string as universal resource indicator of a file
Date | ISO standard date format <yyyy>-<mm>-<dd>
Version | version digit string of the form <major>.<version>.<update>
Dimension | integer limits of an Array/Matrix/List in square brackets
Range | inclusive range of numerical values min:max
Count | unsigned integer number
Index | unsigned non-zero integer number
Integer | positive or negative integer number
Real | floating-point real number
Imag | floating-point imaginary number
Complex | complex number <R>+j<I>
Binary | binary number \b<N>
Hexadecimal | hexadecimal number \x<N>
Octal | octal number \o<N>
Implied | implied by the context of the attribute
ByReference | The contents have the same form as those of the attribute referenced by _type.contents_referenced_id.

### _type.contents_referenced_id

The value of the _definition.id attribute of an attribute definition whose type is to be used also as the type of this item. Meaningful only when this item’s _type.contents attribute has value ByReference.

### _type.dimension

The dimensions of a list or matrix of elements as a text string within bounding square brackets.

### _type.indices

Used to specify the syntax construction of indices of the entries in the defined object when the defined object has Table as its _type.container attribute. Values are a subset of the codes and constructions defined for attribute _type.contents, accounting for the fact that syntactically, indices are always case-sensitive quoted strings.

Meaningful only when the defined item has _type.container Table.

Possible values(default in bold):

Text | a case-sensitive string/lines of text
Filename | name of an external file
Code | code used for indexing data or referencing data resources
Date | ISO date format yyyy-mm-dd
Uri | an universal resource identifier string, per RFC 3986
Version | version digit string of the form <major>.<version>.<update>
ByReference | Indices have the same form as the contents of the attribute identified by _type.indices_referenced_id

### _type.indices_referenced_id

The _definition.id attribute of a definition whose type describes the form and construction of the indices of entries in values of the present item.

Meaningful only when the defined item’s _type.container attribute has value Table, and its _type.indices attribute has value ByReference.

### _type.purpose

The primary purpose or function the defined data item serves in a dictionary or a specific data instance.

Possible values(default in bold):

Import | >>> Applied ONLY in the DDLm Reference Dictionary <<< Used to type the SPECIAL attribute "_import.get" that is present in dictionaries to instigate the importation of external dictionary definitions.
Method | >>> Applied ONLY in the DDLm Reference Dictionary <<< Used to type the attribute "_method.expression" that is present in dictionary definitions to provide the text method expressing the defined item in terms of other defined items.
Audit | >>> Applied ONLY in the DDLm Reference Dictionary <<< Used to type attributes employed to record the audit definition information (creation date, update version and cross reference codes) of items, categories and files.
Identify | >>> Applied ONLY in the DDLm Reference Dictionary <<< Used to type attributes that identify an item tag (or part thereof), save frame or the URI of an external file.
Extend | Used to EXTEND the DDLm Reference Dictionary * Used in a definition, residing in the "extensions" save frame of a domain dictionary, to specify a new enumeration state using an Evaluation method.
Describe | Used to type items with values that are descriptive text intended for human interpretation.
Encode | Used to type items with values that are text or codes that are formatted to be machine parsible.
State | Used to type items with values that are restricted to codes present in their "enumeration_set.state" lists.
Key | Used to type an item with a value that is unique within the looped list of these items, and may be used as a reference "key" to identify a specific packet of items within the category.
Link | Used to type an item with a value that is unique within a looped list of items belonging to another category. The definition of this item must contain the attribute "_name.linked_item_id" specifying the data name of the key item for this list. The defined item represents a a foreign key linking packets in this category list to packets in another category.
Composite | Used to type items with value strings composed of separate parts. These will usually need to be separated and parsed for complete interpretation and application.
Number | Used to type items that are numerical and exact (i.e. no standard uncertainty value).
Measurand | Used to type an item with a numerically estimated value that has been recorded by measurement or derivation. This value must be accompanied by its standard uncertainty (SU) value, expressed either as: 1) appended integers, in parentheses (), at the precision of the trailing digits, or 2) a separately defined item with the same name as the measurand item but with an additional suffix _su.
SU | Used to type an item with a numerical value that is the standard uncertainty of an item with the identical name except for the suffix _su. The definition of an SU item must include the attribute "_name.linked_item_id" which explicitly identifies the associated measurand item.
Internal | Used to type items that serve only internal purposes of the dictionary in which they appear. The particular purpose served is not defined by this state.

### _type.source

The origin or source of the defined data item, indicating by what recording process it has been added to the domain instance.

Possible values(default in bold):

Recorded | A value (numerical or otherwise) recorded by observation or measurement during the experimental collection of data. This item is PRIMITIVE.
Assigned | A value (numerical or otherwise) assigned as part of the data collection, analysis or modelling required for a specific domain instance. These assignments often represent a decision made that determines the course of the experiment (and therefore may be deemed PRIMITIVE) or a particular choice in the way the data was analysed (and therefore may be considered NOT PRIMITIVE).
Related | A value or tag used in the construction of looped lists of data. Typically identifying an item whose unique value is the reference key for a loop category and/or an item which as values in common with those of another loop category and is considered a Link between these lists.
Derived | A quantity derived from other data items within the domain instance. This item is NOT PRIMITIVE.

## UNITS

The attributes for specifying units of measure.

### _units.code

A code which identifies the units of measurement.