############################################################################## # # # PROTOTYPE DDL DICTIONARY # # # ############################################################################## data_DDL_DIC _dictionary.title DDL_DIC _dictionary.class Attribute _dictionary.version 3.7.06 _dictionary.date 2007-03-18 _dictionary.uri www.iucr.org/cif/dic/ddl.dic _dictionary.ddl_conformance 3.7.06 _dictionary.namespace DdlDic _description.text ; 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. ; save_DDL_ATTR _definition.id ddl_attr _definition.scope Category _definition.class Head _definition.update 2006-12-05 _description.text ; This category is parent of all other categories in the DDLm dictionary. ; save_ #------------------------------------------------------------------------------- save_ALIAS _definition.id alias _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; The attributes used to specify the aliased names of definitions. ; _category.parent_id ddl_attr _category_key.generic '_alias.definition_id' save_ save_alias.definition_id _definition.id '_alias.definition_id' _definition.class Attribute _definition.update 2006-11-16 _description.text ; Identifier tag of an aliased definition. ; _name.category_id alias _name.object_id definition_id _type.purpose Key _type.container Single _type.contents Tag save_ save_alias.dictionary_uri _definition.id '_alias.dictionary_uri' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Dictionary URI in which the aliased definition belongs. ; _name.category_id alias _name.object_id dictionary_uri _type.purpose Identify _type.container Single _type.contents Uri save_ #---------------------------------------------------------------------------- save_CATEGORY _definition.id category _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; The attributes used to specify the properties of a "category" of data items. ; _category.parent_id ddl_attr save_ save_category.parent_id _definition.id '_category.parent_id' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The definition id of the category which is a higher member of the organisational hierarchy than the current category definition. ; _name.category_id category _name.object_id parent_id _type.purpose Identify _type.container Single _type.contents Tag save_ save_category.parent_join _definition.id '_category.parent_join' _definition.update 2006-12-21 _definition.class Attribute _description.text ; Yes or No flag indication if a category-list may be merged at instantiation with its parent category. Note that category-sets may always be merged with the parent category. ; _name.category_id category _name.object_id parent_join _type.purpose Identify _type.container Single _type.contents YesorNo _enumeration.default No save_ #---------------------------------------------------------------------------- save_CATEGORY_KEY _definition.id category_key _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; Attributes used to specify the access keys of List categories. ; _category.parent_id category save_ save_category_key.generic _definition.id '_category_key.generic' _definition.update 2007-02-08 _definition.class Attribute _description.text ; Tag of a data item in a List 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. ; _name.category_id category_key _name.object_id generic _type.purpose Identify _type.container Single _type.contents Tag save_ save_category_key.primitive _definition.id '_category_key.primitive' _definition.update 2007-02-08 _definition.class Attribute _description.text ; Tuple of the data item (or data items) in a List category which form the primitive composite key to access other items in the category. The value of this tuple must be unique to provide unambiguous access to a packet (row) in the table of values. ; _name.category_id category_key _name.object_id primitive _type.purpose Identify _type.container Tuple _type.contents Tag _type.dimension [1:] save_ #----------------------------------------------------------------------------- save_CATEGORY_MANDATORY _definition.id category_mandatory _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; The attributes used to specify the properties of a "category_mandatory" of data items. ; _category.parent_id category _category_key.generic '_category_mandatory.item_id' save_ save_category_mandatory.item_id _definition.id '_category_mandatory.item_id' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The data name of an item in this category which must exist within a data file if any item within this category appears. ; _name.category_id category_mandatory _name.object_id item_id _type.purpose Key _type.container Single _type.contents Tag save_ #---------------------------------------------------------------------------- save_DEFINITION _definition.id definition _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; The attributes for classifying dictionary definitions. ; _category.parent_id ddl_attr save_ save_definition.class _definition.id '_definition.class' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The nature and the function of a definition or definitions. ; _name.category_id definition _name.object_id class _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Audit ; Item used to IDENTIFY and AUDIT dictionary properties only. ; Attribute ; Item used as an attribute in the definition of other data items. Applied in dictionaries only. ; Head ; Category of items that is the parent of all other categories in the dictionary. ; List ; Category of items that in a data file must reside in a looped 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. ; Datum ; Item in a domain-specific dictionary. These items appear in data files. ; Transient ; Definition saveframes specifying the attributes, enumeration values and functions used in dictionary definitions. These tags are ONLY used in dictionary definitions. ; _enumeration.default Datum save_ save_definition.id _definition.id '_definition.id' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Identifier name of the definition contained within a save frame. ; _name.category_id definition _name.object_id id _type.purpose Identify _type.container Single _type.contents Tag save_ save_definition.scope _definition.id '_definition.scope' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The extent to which a definition affects other definitions. ; _name.category_id definition _name.object_id scope _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail 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" _enumeration.default Item save_ save_definition.update _definition.id '_definition.update' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The date that a definition was last changed. ; _name.category_id definition _name.object_id update _type.purpose Audit _type.container Single _type.contents Date save_ save_definition.xref_code _definition.id '_definition.xref_code' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Code identifying the equivalent definition in the dictionary referenced by the DICTIONARY_XREF attributes. ; _name.category_id definition _name.object_id xref_code _type.purpose Identify _type.container Single _type.contents Code save_ #---------------------------------------------------------------------------- save_DESCRIPTION _definition.id description _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; The attributes of descriptive (non-machine parseable) parts of definitions. ; _category.parent_id ddl_attr save_ save_description.key_words _definition.id '_description.key_words' _definition.update 2006-11-16 _definition.class Attribute _description.text ; List of key-words categorising the item. ; _description.common 'key words' _name.category_id description _name.object_id key_words _type.purpose Describe _type.container List _type.contents Code save_ save_description.common _definition.id '_description.common' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Commonly-used identifying name for the item. ; _description.common 'common name' _name.category_id description _name.object_id common _type.purpose Describe _type.container Single _type.contents Text save_ save_description.text _definition.id '_description.text' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The text description of the defined item. ; _description.common 'description' _name.category_id description _name.object_id text _type.purpose Describe _type.container Single _type.contents Text save_ #---------------------------------------------------------------------------- save_DESCRIPTION_EXAMPLE _definition.id description_example _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; The attributes of descriptive (non-machine parseable) examples of values of the defined items. ; _category.parent_id description _category_key.generic '_description_example.case' save_ save_description_example.case _definition.id '_description_example.case' _definition.update 2006-11-16 _definition.class Attribute _description.text ; An example case of the defined item. ; _name.category_id description_example _name.object_id case _type.purpose Key _type.container Single _type.contents Text save_ save_description_example.detail _definition.id '_description_example.detail' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A description of an example case for the defined item. ; _name.category_id description_example _name.object_id detail _type.purpose Describe _type.container Single _type.contents Text save_ #---------------------------------------------------------------------------- save_DICTIONARY _definition.id dictionary _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; Attributes for identifying and registering the dictionary. The items in this category are NOT used as attributes of INDIVIDUAL data items. ; _category.parent_id ddl_attr save_ save_dictionary.class _definition.id '_dictionary.class' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The nature, or field of interest, of data items defined in the dictionary. ; _name.category_id dictionary _name.object_id class _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Attribute 'dictionary containing DDL attribute definitions' Instance 'dictionary containing data definitions' Import 'dictionary containing definitions for importation' Function 'dictionary containing method function definitions' _enumeration.default Instance save_ save_dictionary.date _definition.id '_dictionary.date' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The date that the last dictionary revision took place. ; _name.category_id dictionary _name.object_id date _type.purpose Audit _type.container Single _type.contents Date save_ save_dictionary.ddl_conformance _definition.id '_dictionary.ddl_conformance' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The version number of the DDL dictionary that this dictionary conforms to. ; _name.category_id dictionary _name.object_id ddl_conformance _type.purpose Audit _type.container Single _type.contents Version save_ save_dictionary.namespace _definition.id '_dictionary.namespace' _definition.update 2006-12-05 _definition.class Attribute _description.text ; 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 data files. ; _name.category_id dictionary _name.object_id namespace _type.purpose Identify _type.container Single _type.contents Code save_ save_dictionary.title _definition.id '_dictionary.title' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The common title of the dictionary. Will usually match the name attached to the data_ statement of the dictionary file. ; _name.category_id dictionary _name.object_id title _type.purpose Identify _type.container Single _type.contents Code save_ save_dictionary.uri _definition.id '_dictionary.uri' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The universal resource indicator of this dictionary. ; _name.category_id dictionary _name.object_id uri _type.purpose Identify _type.container Single _type.contents Uri save_ save_dictionary.version _definition.id '_dictionary.version' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A unique version identifier for the dictionary. ; _name.category_id dictionary _name.object_id version _type.purpose Audit _type.container Single _type.contents Version save_ #---------------------------------------------------------------------------- save_DICTIONARY_AUDIT _definition.id dictionary_audit _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; Attributes for identifying and registering the dictionary. The items in this category are NOT used as attributes of individual data items. ; _category.parent_id dictionary _category_key.generic '_dictionary_audit.version' save_ save_dictionary_audit.date _definition.id '_dictionary_audit.date' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The date of each dictionary revision. ; _name.category_id dictionary_audit _name.object_id date _type.purpose Audit _type.container Single _type.contents Date save_ save_dictionary_audit.revision _definition.id '_dictionary_audit.revision' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A description of the revision applied for the _dictionary_audit.version. ; _name.category_id dictionary_audit _name.object_id revision _type.purpose Describe _type.container Single _type.contents Text save_ save_dictionary_audit.version _definition.id '_dictionary_audit.version' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A unique version identifier for each revision of the dictionary. ; _name.category_id dictionary_audit _name.object_id version _type.purpose Key _type.container Single _type.contents Version save_ #----------------------------------------------------------------------------- save_DICTIONARY_VALID _definition.id dictionary_valid _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; 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. ; _category.parent_id dictionary _category_key.generic '_dictionary_valid.scope' save_ save_dictionary_valid.attributes _definition.id '_dictionary_valid.attributes' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A list of the attribute names and the attribute categories that are either MANDATORY or PROHIBITED for the _definition.scope value specified in the corresponding _dictionary_valid.scope. All unlisted attributes are considered optional. MANDATORY attributes are preceded by a "+" character. PROHIBITED attributes are preceded by a "!" character. RECOMMENDED attributes are preceded by a "." character. ; _name.category_id dictionary_valid _name.object_id attributes _type.purpose Audit _type.container Single _type.contents Text save_ save_dictionary_valid.scope _definition.id '_dictionary_valid.scope' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The _definition.scope code corresponding to the attribute list given in _dictionary_valid.attributes. ; _name.category_id dictionary_valid _name.object_id scope _name.linked_item_id '_definition.scope' _type.purpose Key _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Dictionary "applies to all defined items in the dictionary" Category "applies to all defined items in the category" Item "applies to a single definition" save_ #----------------------------------------------------------------------------- save_DICTIONARY_XREF _definition.id dictionary_xref _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; Data items which are used to cross reference other dictionaries that have defined the same data items. Data items in this category are NOT used as attributes of individual data items. ; _category.parent_id dictionary _category_key.generic '_dictionary_xref.code' save_ save_dictionary_xref.code _definition.id '_dictionary_xref.code' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A code identifying the cross-referenced dictionary. ; _name.category_id dictionary_xref _name.object_id code _type.purpose Key _type.container Single _type.contents Code save_ save_dictionary_xref.date _definition.id '_dictionary_xref.date' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Date of the cross-referenced dictionary. ; _name.category_id dictionary_xref _name.object_id date _type.purpose Audit _type.container Single _type.contents Date save_ save_dictionary_xref.format _definition.id '_dictionary_xref.format' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Format of the cross referenced dictionary. ; _name.category_id dictionary_xref _name.object_id format _type.purpose Audit _type.container Single _type.contents Text save_ save_dictionary_xref.name _definition.id '_dictionary_xref.name' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The name and description of the cross-referenced dictionary. ; _name.category_id dictionary_xref _name.object_id name _type.purpose Audit _type.container Single _type.contents Text save_ save_dictionary_xref.uri _definition.id '_dictionary_xref.uri' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The source URI of the cross referenced dictionary data. ; _name.category_id dictionary_xref _name.object_id uri _type.purpose Audit _type.container Single _type.contents Uri save_ #---------------------------------------------------------------------------- save_ENUMERATION _definition.id enumeration _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; The attributes for restricting the values of defined data items. ; _category.parent_id ddl_attr save_ save_enumeration.default _definition.id '_enumeration.default' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The default value for the defined item if it is not specified explicitly. ; _name.category_id enumeration _name.object_id default _type.purpose Limit _type.container Single _type.contents Implied save_ save_enumeration.def_index_id _definition.id '_enumeration.def_index_id' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The data name of the value that is used as an index in the DEFAULTS enumeration list to select the default enumeration value. The value must match one of the _enumeration_default.index values. ; _name.category_id enumeration _name.object_id def_index_id _type.purpose Identify _type.container Single _type.contents Tag save_ save_enumeration.range _definition.id '_enumeration.range' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The inclusive range of values "from:to" allowed for the defined item. ; _name.category_id enumeration _name.object_id range _type.purpose Limit _type.container Single _type.contents Range save_ save_enumeration.mandatory _definition.id '_enumeration.mandatory' _definition.update 2006-11-16 _definition.class Attribute _description.text ; 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. ; _name.category_id enumeration _name.object_id mandatory _type.purpose Limit _type.container Single _type.contents YesorNo _enumeration.default Yes save_ #----------------------------------------------------------------------------- save_ENUMERATION_DEFAULT _definition.id enumeration_default _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; List of pre-determined default enumeration values indexed to a data item by the item _enumeration.def_index_id. ; _category.parent_id enumeration _category_key.generic '_enumeration_default.index' save_ save_enumeration_default.index _definition.id '_enumeration_default.index' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A list of possible values for the item _enumeration.def_index_id used to index (select) the enumeration default value from the _enumeration_default.value list. ; _name.category_id enumeration_default _name.object_id index _type.purpose Key _type.container Single _type.contents Code save_ save_enumeration_default.value _definition.id '_enumeration_default.value' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A list of possible default enumeration values for the defined item. This is selected by the _enumeration_default.index value which matches value of the item specified by _enumeration.def_index_id. ; _name.category_id enumeration_default _name.object_id value _type.purpose Limit _type.container Single _type.contents Implied save_ #----------------------------------------------------------------------------- save_ENUMERATION_SET _definition.id enumeration_set _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; Attributes of data items which are used to define a set of unique pre-determined values. ; _category.parent_id enumeration _category_key.generic '_enumeration_set.state' save_ save_enumeration_set.state _definition.id '_enumeration_set.state' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Permitted value state for the defined item. ; _name.category_id enumeration_set _name.object_id state _type.purpose Key _type.container Single _type.contents Code save_ save_enumeration_set.construct _definition.id '_enumeration_set.construct' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The construction rules of the value that the code describes. The code conforms to regular expression (REGEX) specifications. ; _name.category_id enumeration_set _name.object_id construct _type.purpose Limit _type.container Single _type.contents Regex save_ save_enumeration_set.detail _definition.id '_enumeration_set.detail' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The meaning of the code (identified by _enumeration_set.state) in terms of the value of the quantity it describes. ; _name.category_id enumeration_set _name.object_id detail _type.purpose Describe _type.container Single _type.contents Text save_ save_enumeration_set.xref_code _definition.id '_enumeration_set.xref_code' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Identity of the equivalent item in the dictionary referenced by the DICTIONARY_XREF attributes. ; _name.category_id enumeration_set _name.object_id xref_code _type.purpose Identify _type.container Single _type.contents Code save_ save_enumeration_set.xref_dictionary _definition.id '_enumeration_set.xref_dictionary' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Code identifying the dictionary in the DICTIONARY_XREF list. ; _name.category_id enumeration_set _name.object_id xref_dictionary _type.purpose Link _type.container Single _type.contents Code save_ #---------------------------------------------------------------------------- save_IMPORT _definition.id import _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; Used to import the values of specific attributes from other dictionary definitions within and without the current dictionary. ; _category.parent_id ddl_attr _category_key.generic '_import.block' save_ save_import.block _definition.id '_import.block' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Tag of the definition block to be imported with the file specified by _import.file ; _name.category_id import _name.object_id block _type.purpose Key _type.container Single _type.contents Tag loop_ _description_example.case '_atom_site.xyz' 'refln' save_ save_import.file _definition.id '_import.file' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The URI or filename of the file from which the definition block, designated by _import.block, is to be sourced. ; _name.category_id import _name.object_id file _type.purpose Identify _type.container Single _type.contents Uri save_ save_import.if_dupl _definition.id '_import.if_dupl' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Action taken if the definition block requested already exists in the importing dictionary. ; _name.category_id import _name.object_id if_dupl _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Ignore 'ignore imported definitions if id conflict' Replace 'replace existing with imported definitions' Exit 'issue error exception and exit' _enumeration.default Exit save_ save_import.if_miss _definition.id '_import.if_miss' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Action taken if the definition block requested is missing from the source dictionary. ; _name.category_id import _name.object_id if_miss _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Ignore 'ignore import' Exit 'issue error exception and exit' _enumeration.default Exit save_ save_import.scope _definition.id '_import.scope' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Code signaling the scope of the definition block to be imported. ; _name.category_id import _name.object_id scope _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Dic 'all saveframes in the source file' Cat 'all saveframes in the specific category' Grp 'all saveframes in the category with children' Itm 'one saveframe containing an item definition' Att 'import attributes within a saveframe' Sta 'import enumeration state list only' Val 'import enumeration default value list only' save_ #---------------------------------------------------------------------------- save_IMPORT_LIST _definition.id import_list _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; Used to import the values of specific attributes from other dictionary definitions within and without the current dictionary, as a LIST of attributes. ; _category.parent_id ddl_attr save_ save_import_list.id _definition.id '_import_list.id' _definition.update 2006-11-16 _definition.class AttributeSet _description.text ; A list of the attributes, defined individually in the category IMPORT, used to import definitions from other dictionaries. ; _name.category_id import_list _name.object_id id _type.purpose Import _type.container List _type.contents [Code,Tag,Uri,Code,Code] _type.dimension [5 []*] loop_ _method.purpose _method.expression Definition ; With i as import _import_list.id = List([i.scope, i.block, i.file, i.if_dupl, i.if_miss]) ; save_ #---------------------------------------------------------------------------- save_LOOP _definition.id loop _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; Attributes for looped lists. ; _category.parent_id ddl_attr save_ save_loop.level _definition.id '_loop.level' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Specifies the level of the loop structure in which a defined item must reside if it used in a looped list. ; _name.category_id loop _name.object_id level _type.purpose Limit _type.container Single _type.contents Index _enumeration.range 1: _enumeration.default 1 save_ #---------------------------------------------------------------------------- save_METHOD _definition.id method _definition.scope Category _definition.class List _definition.update 2007-02-06 _description.text ; Methods used for evaluating, validating and defining items. ; _category.parent_id ddl_attr _category_key.generic '_method.purpose' save_ save_method.purpose _definition.id '_method.purpose' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The purpose and scope of the method expression. ; _name.category_id method _name.object_id purpose _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail 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" _enumeration.default Evaluation save_ save_method.expression _definition.id '_method.expression' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The method expression for the defined item. ; _name.category_id method _name.object_id expression _type.purpose Method _type.container Single _type.contents Text save_ #---------------------------------------------------------------------------- save_NAME _definition.id name _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; Attributes for identifying items and item categories. ; _category.parent_id ddl_attr save_ save_name.object_id _definition.id '_name.object_id' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The object name part of a data tag that is unique within the category or mergable family of categories. ; _name.category_id name _name.object_id object_id _type.purpose Identify _type.container Single _type.contents Otag save_ save_name.category_id _definition.id '_name.category_id' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Name of the category of the defined data item. ; _name.category_id name _name.object_id category_id _type.purpose Identify _type.container Single _type.contents Ctag save_ save_name.linked_item_id _definition.id '_name.linked_item_id' _definition.update 2007-03-18 _definition.class Attribute _description.text ; Name of an equivalent item in another category which has a common set of values. ; _name.category_id name _name.object_id linked_item_id _type.purpose Identify _type.container Single _type.contents Tag save_ #---------------------------------------------------------------------------- save_TYPE _definition.id type _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; Attributes which specify the 'typing' of data items. ; _category.parent_id ddl_attr save_ save_type.container _definition.id '_type.container' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The CONTAINER type of the defined data item value. ; _name.category_id type _name.object_id container _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail Single 'a single value' Multiple 'values related by boolean ',|&!*' or range ":" ops' List 'list of values bounded by []; separated by commas' Array 'List of fixed length and dimension' Tuple 'immutable List bounded by (); nested tuples allowed' Table 'key:value elements bounded by {}; separated by commas' Implied 'implied by type.container of associated value' _enumeration.default Single save_ save_type.contents _definition.id '_type.contents' _definition.update 2006-11-16 _definition.class Attribute _description.text ; Used to specify the syntax construction of value elements of the defined object. The syntax is specified in terms of fixed regex constructs that have been enumerated as states. Values with more than one element may be specified as a list of multiple states. Note that this list may contain states related by boolean or range operators. The typing of elements is determined by the replication of the minimum set of states declared. ; _name.category_id type _name.object_id contents _type.purpose State _type.container Multiple _type.contents Code _import_list.id ['sta','type_contents','com_val.dic','exit','exit'] loop_ _description_example.case _description_example.detail 'Integer' 'all elements are integer' 'Real,Code' 'elements are in muliples of real number and codes' 'Real|Code' 'elements are either a real number or a code' save_ save_type.purpose _definition.id '_type.purpose' _definition.update 2006-11-16 _definition.class Attribute _description.text ; The primary purpose or origin of the defined data item. ; _name.category_id type _name.object_id purpose _type.purpose State _type.container Single _type.contents Code loop_ _enumeration_set.state _enumeration_set.detail _enumeration_set.construct Import ; >>> For dictionaries only <<< Used within dictionaries to import definition lines from other dictionaries. In the expanded dictionary the import item is replaced by the imported items. ; Method ; >>> For dictionaries only <<< A text method expression in a dictionary definition relating the defined item to other defined items. ; Audit ; An item used to contain audit information about the creation or conformance of a file. ; Identify An item used to identify another item or file. ; Describe ; A descriptive item intended only for human interpretation. ; Limit ; An item used to limit the values of other items. ; State ; An item with one or more codified values that must exist within a discrete and countable list of enumerated states. ; Key ; An item with a codified value that is the key to identifying specific packets of items in the same category. ; Link ; An item with a value that is a foreign key linking packets in this category list to packets in another category. ; Assigned An item whose value is assigned in the process of modelling measured and observed data items. ; Observed ; An item whose value is determined by observation or deduction. Numerical observed values do NOT have a standard uncertainty. ; Measured ; A numerical item whose value is measured or derived from a measurement. It is expected to have a standard uncertainty value which is either 1) appended as integers in parentheses at the precision of the trailing digits, or 2) as a separate item with the same name as defined item but with a trailing '_su'. ; save_ save_type.dimension _definition.id '_type.dimension' _definition.update 2006-12-05 _definition.class Attribute _description.text ; The dimensions of the list array bounded by square brackets. Each dimension may be expressed simply as an integer giving the maximum index permitted (the minimum is assumed to be 1). * is used to signal unknown number of array elements. Alternately, each dimension may be entered in the form: :. ; _name.category_id type _name.object_id dimension _type.purpose Limit _type.container List _type.contents Index _type_array.dimension [1: []*] loop_ _description_example.case _description_example.detail "[3,3]" 'in Array definition: 3x3 elements' "[6]" 'in List definition: 6 values' "[4[2]]" 'in Tuple defn: 4 Tuples of 2 values' save_ #---------------------------------------------------------------------------- save_UNITS _definition.id units _definition.scope Category _definition.class Set _definition.update 2006-11-16 _description.text ; The attributes for specifying units of measure. ; _category.parent_id ddl_attr save_ save_units.code _definition.id '_units.code' _definition.update 2006-11-16 _definition.class Attribute _description.text ; A code which identifies the units of measurement. ; _name.category_id units _name.object_id code _type.purpose State _type.container Single _type.contents Code _import_list.id ['sta','units_code','com_val.dic','exit','exit'] save_ #============================================================================= # The dictionary's attribute validation criteria and the creation history. #============================================================================ loop_ _dictionary_valid.scope _dictionary_valid.attributes Dictionary ; + _dictionary.title + _dictionary.class + _dictionary.version + _dictionary.date + _dictionary.uri + _dictionary.ddl_conformance + _dictionary.namespace + _dictionary_audit.version + _dictionary_audit.date + _dictionary_audit.revision . _description.text ! ALIAS ! CATEGORY ! DEFINITION ! ENUMERATION ! LOOP ! METHOD ! NAME ! TYPE ! UNITS ; Category ; + _definition.id + _definition.scope + _definition.class + _category.parent_id . _category_key.generic . _category_key.primitive . _category_mandatory.item_id . _description.text ! ALIAS ! DICTIONARY ! ENUMERATION ! IMPORT ! LOOP ! NAME ! TYPE ! UNITS ; Item ; + _definition.id + _definition.scope + _definition.class + _definition.update + _name.object_id + _name.category_id + _type.purpose + _type.container + _type.contents . _description.text . _description.common ! CATEGORY ! DICTIONARY ; loop_ _dictionary_audit.version _dictionary_audit.date _dictionary_audit.revision 3.0 1999-04-06 ; Initial draft of DDL3 based on attributes from DDL1.4 and DDL2.1.1. ; 3.0.1 1999-05-06 ; Added new method attributes and enumeration LIST values ; 3.0.2 1999-05-11 ; Repacked and redefined some definition and dictionary attributes ; 3.0.3 1999-05-12 ; Introduced category.level etc. attributes and rearranged categories ; 3.0.4 1999-05-18 ; Removed category.level, linked.parent, linked.child, category.child_id Changed related.function to include "Parent_Key", "Linked_Key", "Linked_Values" and "Linked_Array" codes. ; 3.0.5 1999-05-22 ; Access keys in category families are inherited. Remove "Linked_Values" for related.function. ; 3.0.6 1999-05-24 ; Add "Su_Implicit" code to related.function. ; 3.0.7 1999-05-25 ; Further simplifications to the syntax. ; 3.0.8 1999-05-27 ; Change _definition.class code DATA_ITEM to ITEM_DEFINITION ; 3.0.9 1999-06-10 ; Add "List" to _type_array.class enumerations. ; 3.0.10 1999-06-11 ; Add various codes to the enumeration lists. ; 3.0.11 1999-06-22 ; Convert all enumeration list data names. ; 3.0.12 1999-06-28 ; Recaste the TYPE attributes and enumerations. ; 3.0.13 1999-07-05 ; Change "pattern" to "function" for TYPE attributes. ; 3.0.14 1999-07-09 ; Change "string" to "container" for TYPE attributes. Change codes for definition.scope and definition.class ; 3.0.15 1999-11-26 ; Add the _definition.update attribute. ; 3.0.16 2000-02-15 ; Change the names of the files to reflect prototype specifications. ; 3.0.17 2000-04-17 ; Add the attributes description.compact and description.abbreviated. ; 3.0.18 2000-05-19 ; Add the definition class TRANSIENT for FUNCTION definitions. ; 3.0.19 2000-06-06 ; Change the definition scope GROUP to Category. Change the definition scope ITEM to SINGLE. Add the definition scope COSET for common definitions. Change type.function to type.purpose. ; 3.0.20 2000-06-07 ; Add the definition for category.coset_id Add the definition for item.coset_id Added the Equivalent code to related.function ; 3.1.00 2000-06-12 ; Reorganised families into category groupings ATTRIBUTES and ENUMERATION ; 3.1.01 2000-06-20 ; Inserted possible method validation scripts ; 3.1.02 2000-06-24 ; MAJOR modifications and additions following discussions with JW. ; 3.1.03 2000-06-26 ; Changes to MODEL attributes and many other changes. ; 3.1.04 2000-06-28 ; Version agreed upon up to JW's return to Rutgers. ; 3.1.05 2000-06-29 ; In method.class change ENUMERATION to EVALUATION. ; 3.1.06 2000-07-03 ; Corrections from running dREL 1.0.3. ; 3.1.07 2000-07-11 ; Add the attribute enumeration.dot. ; 3.1.08 2000-09-13 ; Remove the attribute enumeration.dot. ; 3.1.09 2000-10-09 ; Add the XREF definitions. In type_purpose change 'From:To' to 'Range'; 'Code' to 'State'. In type_container add the enumeration 'Multiple' ; 3.2.00 2000-11-02 ; MAJOR revision and simplification of ALL definitions. Blame PMR! ; 3.2.01 2000-11-03 ; Move the enumeration lists back into their respective definitions. ; 3.2.02 2000-11-06 ; Change "State" back to "Code". ; 3.2.03 2000-11-07 ; Add category_key.relational which gives the relational key used in DDL2 ; 3.2.04 2000-11-10 ; MAJOR changes to a number of attributes and categories. ; 3.2.05 2000-11-13 ; Introduced definition.import_id. ; 3.2.06 2000-11-24 ; Change the _method.class enumeration state "Units" to "Definition". ; 3.2.07 2001-08-30 ; Change "category.parent_id" to "category.family_id". ; 3.2.08 2001-09-03 ; Change "alias.dictionary_class" to "alias.dictionary_uri". Change the "dictionary.class" states to "Attribute" and "Instance" ; 3.2.09 2001-09-26 ; Change "category.family_id" to "category.parent_id". ; 3.2.10 2001-10-01 ; Remove the definition of "alias.dictionary_version". ; 3.2.11 2001-10-02 ; Converted reference to "codes.unit_code" to "codes.units_code". ; 3.2.12 2001-11-13 ; Corrected loop miscount in "type.purpose". ; 3.2.13 2001-11-14 ; Corrected name.category_id in category.parent_id. ; 3.2.14 2002-02-02 ; Remove key from category DEFINITION. ; 3.2.15 2002-07-30 ; Several small typos corrected. Add "Tuple" to the list of type.container enumerations ; 3.2.16 2004-10-12 ; Corrected mismatch in version numbering between v2.13a and v2.13b and merged these changes into this version. ; 3.2.17 2004-10-12 ; In dictionary.class changed enumeration.default to "Instance" In type.container append a ' to the enumeration detail of "Tuple" ; 3.3.00 2004-11-09 ; Change definition.import_id to definition_import.id in many defs. Insert category DEFINITION_IMPORT and the items .id, .conflict, .protocol and .source. ; 3.3.01 2004-11-10 ; Make further changes to the DEFINITION_IMPORT definitions and introduce the DEFINITION_TEMPLATE category. ; 3.3.02 2004-11-11 ; Introduce an IMPORT category containing IMPORT_DICTIONARY, IMPORT_DEFINITION, IMPORT_CATEGORY, IMPORT_ATTRIBUTE. Change DEFINITION_TEMPLATE to IMPORT_TEMPLATE. ; 3.3.03 2004-11-12 ; Major changes to all the new attributes. Introduce categories DEFINITION_CONTEXT. ; 3.3.04 2004-11-13 ; Cleaned up the IMPORT changes and cases of enumerates. ; 3.3.05 2004-11-16 ; Further changes to IMPORT definitions. ; 3.3.06 2004-11-18 ; Some minor correction of typos ; 3.3.07 2005-11-22 ; Changed _dictionary.name to _dictionary.filename Changed _dictionary_xref.name to _dictionary_xref.filename Added _dictionary.title to describe the common name of the dictionary ; 3.3.08 2005-12-12 ; Changed ddl to ddl_attr Added Template and Function to _dictionary.class ; 3.3.09 2006-02-02 ; Add the definition of _dictionary_xref.source. ; 3.3.10 2006-02-07 ; Add import attribute definitions ; 3.4.01 2006-02-12 ; Remove save frames from dictionary attributes. Change the attribute _dictionary.parent_name to _dictionary.parent_id ; 3.4.02 2006-02-16 ; In the _import_*.conflict definitions change the enumeration state Unique to Ignore, and change the default state to Error. In the _import_*.missing definitions change default enumeration state to Error. ; 3.5.01 2006-03-07 ; Structural changes to the file to conform with the import model 3. Move the template file for *.relational_id to com_att.dic Change all references to *.relational_id into the tuple format. Move the _codes_ddl.units_code to enum_set.dic and insert the _import_enum_set.id tuples. ; 3.5.02 2006-03-22 ; Rename _enumeration.default_index_id to _enumeration.def_index_id. Correct the attributes _enumeration_default.index and *.value. ; 3.5.03 2006-05-09 ; Reword many of the import attributes. Correct the tuple description for _import_dictionary. Insert all of the definitions for _import_defaults attributes. Update _dictionary.class definition - change "Template" to "Import". Remove _enumeration.scope "open" from _definition_context.domain. ; 3.6.01 2006-06-16 ; Major revamp of TYPE attributes... changed: _type.value to _type.contents and expand enumeration list. _type.purpose has new role and different enumeration states. _name.object_id changed to _name.object_id. _enumeration_set.code becomes _enumeration_set.state. Changed the _type.value (now .contents) states to match expanded list. Added _dictionary.ddl_conformance attribute. Changed _category.join_set_id to _category.join_cat_id. Remove _enumeration.scope definition. ; 3.6.02 2006-06-17 ; Change the states of _type.purpose. ; 3.6.03 2006-06-18 ; Correct _type.contents value in _import_dictionary.id. ; 3.6.04 2006-06-20 ; Change state 'Point' to 'Link' in _type.contents definition. Add Formula to _type.contents ; 3.6.05 2006-06-27 ; Change all IMPORT attributes and apply. Add _dictionary.namespace attribute and apply. Add states to _definition.class and apply. Add _enumeration_set.scope. Add .context to ENUMERATE_SET, ENUMERATE_DEFAULT, DESCRIPTION_EXAMPLE ; 3.6.06 2006-07-18 ; Change the descriptions of the _type.container states. The _enueration_set.scope removed (enumeration.mandatory used). In _type_array.dimension change _type.contents to List. ; 3.6.07 2006-08-30 ; Change 'att' to 'sta' in the imports of _type.contents and _units.code. Replace states 'vector' and 'matrix' in _type.container with 'array'. In _type.purpose change 'model' to 'assigned'; 'observe' to 'observed'; and 'measure' to 'measured'. ; 3.6.08 2006-08-31 ; Remove the category TYPE_ARRAY and insert _type.dimension Replace _description.compact with _description.common Replace _description.abbreviated with _description.key_words ; 3.6.09 2006-10-31 ; Remove all attributes and categories referring to 'context'. ; 3.6.10 2006-11-09 ; Replace _method.id with method.purpose. Redefine the DICTIONARY_VALID values. ; 3.7.01 2006-11-16 ; Apply _definition.scope changes. Add _category.parent_join. Add _dictionary.xref_code. Add _enumeration_set.xref_dictionary. Remove all relational keys. ; 3.7.02 2006-12-05 ; Rewording of description.text in DDL_ATTR and definition.namespace Rewording of category_mandatory.item_id Reworded descriptions of definition.class descriptions. Removed dictionary.filename. Corrected examples in type.dimension. Remove dictionary.parent_id and dictionary.parent_uri. ; 3.7.03 2006-12-21 ; Default for _category.parent_join is now "No" ; 3.7.04 2007-02-06 ; Change _category_key.item_id to _category_key.generic Add _category_key.primitive ; 3.7.05 2007-02-08 ; Change the _type.purpose of _category_key.generic and .primitive to Identify ; 3.7.06 2007-03-18 ; Change the description for _name.linked_item_id ;