data_ddl_core
# 
_datablock.id            ddl_core 
_datablock.description   
;
     This data block holds the core DDL.
;
# 
_dictionary.datablock_id   ddl_core 
_dictionary.title          ddl_core 
_dictionary.version        2.1.1 
# 
loop_
_dictionary_history.version 
_dictionary_history.update 
_dictionary_history.revision 
1.1    1994-07-25 
;      
       DDL 1.1 from Syd Hall et. al.
;
1.2.1  1994-09-18 
;    
       Changes:.........etc. etc. John Westbrook
;
1.2.9  1994-10-05 
;    
       Reflect the results of the Treaty of Brussels. JW.
;
2.0.1  1994-10-15 
;    
       Adapted for closer mapping to DDL1.3 and clearer presentation. SRH/NS.
;
2.0.2  1994-10-16 
;    
       Even closer...................  SRH/NS.
;
2.0.3  1994-10-17 
;
       Coming to grips with the links and dependencies..... SRH/NS.
;
2.0.4  1994-10-20 
;
       Backed in changes from mm-ddl 1.2.12
       Many other changes  ...  (JW)
;
2.0.5  1994-10-20 
;
       Some small adjustments..........SRH.                         
;
2.0.6  1994-10-20 
;
       More small adjustments..........JW.                         
;
2.0.7  1994-11-03 
;
       Changes:  (JW)
         + Place all item and item_linked category definitions with the parent 
           item. 
         + Fixed a number of not so trivial typos.
         + Corrected errors in the data type conversion table.
         + Corrected key item inconsistencies.
         + Added the item_aliases category.
;
2.0.8  1994-11-10 
;
       Miscellaneous corrections:  (JW)
         +    defined sub_category_group
         +    corrected typo in category_examples.id definition
         +    added  _item_type_conditions.name in item category
         +    added  _item_structure.name in item category
         +    corrected typo in item_aliases category definition
         +    corrected typo in sub_category.method_id  definition
;
2.0.9  1994-11-14 
;
       Changes: (JW)
         +    added ITEM_UNITS, ITEM_UNITS_LIST, and UNITS_CONVERSION
              categories.
         +    added an additional primitive type for character type items
              for which comparisons must be case insensitive.
              Since it is customary to permit item names and category
              identifiers to be specified in mixed case, it is necessary
              to declare that case should NOT be considered in any
              comparisons of these items.
;
2.0.10 1994-11-23 
;
       Changes: (JW)
         +    Several name category changes for the sake of consistency:
                enumeration         -> item_enumeration
                enumeration_default -> item_enumeration_default
                enumeration_limit   -> item_enumeration_limit
                units_conversion    -> item_units_conversion
         +    Added _item_related.function_code alternate_exclusive
              to identify mutually exclusive alternative declarations
              of the same item.
         +    Added structure options for real symmetric matrices.
         +    Changed from zero based indices to one based indices
              for compatibility with existing matrix component 
              definitions.
         +    Add _item_linked.parent_name to the key of the item_linked
              category.           
         +    Reorder items in the DDL so be alphabetical within
              category groups.
;
2.0.11 1994-11-28 
;
       Changes: (JW)
         +    Corrected spelling error for the data type code in 
              the DICTIONARY_HISTORY category.
         +    Add category BLOCK to hold the data block name and data
              block description.  The block identifier was also added 
              to  the key of the item category.  The block identifier
              can be implicitly derived from the STAR "data_" delimiter.
              This identifier is required to form the key for categories
              which are conceptually related to the data block as a 
              whole.  
;
2.0.12 1994-11-30 
;
       Changes: (JW)
         +    Added a data item _block.scope to indicate the scope of 
              data item names defined within included data blocks.
;
2.0.13 1994-12-12 
;
       Changes: (JW)
         +    Deleted data item _block.scope.  
         +    Changed DICTIONARY category key to _dictionary.block_id
              to guarantee only one dictionary definition per block.
         +    Deleted data item _item.block_id as this will be replaced
              by an item address syntax that will include block, save
              frame, and url.
;
2.0.14 1994-12-15 
;
       Changes: (JW)
         +    Made some terminology changes suggested by PMDF
              _item_enumeration.code   -> _item_enumeration.value
              ITEM_ENUMERATION_DEFAULT -> ITEM_DEFAULT
              ITEM_ENUMERATION_LIMIT   -> ITEM_RANGE
         +    Added item _item_type_list.detail
         +    Version 2.0.14 is being frozen and exported. 
;
2.0.15 1995-02-13 
;
       Changes: (JW)
         +    Added '_' prefix to all data item save frame names.
              References to data item names now always include
              a leading underscore independent of the usage context.
         +    A few miscellaneous corrections.
;
2.0.16 1995-06-18 
;
       Changes: (JW)
         +    Revised the block level categories in the following ways:
                Changed category BLOCK to DATA_BLOCK.
                Added connection from _data_block.id to _category.implicit_key
                in order to provide a formal means of merging the contents
                of categories between data blocks.  
         +    Moved ennumerations for _method_list.code and 
              method_list.language to examples.  
         +    Removed symmetric matrix options from the ennumerations
              for _item_structure.organization.
         +    Added _item_related.function codes for 'associated_value',
              'associated_esd', 'replaces' and 'replacedby'
         +    Added data items _item_aliases.dictionary and 
              _item_aliases.dictionary_version.
         +    Reorganized method categories such that multiple methods can
              be applied at each level of data structure.  Introduced a 
              consistent set of categories to hold method associations:
              ITEM_METHODS, CATEGORY_METHODS, SUB_CATEGORY_METHODS, and 
              DATA_BLOCK_METHODS.  Removed data items  _category.method_id 
              _sub_category.method_id.
;
2.0.17 1995-06-22 
;
       Changes: (JW)
         +    Quoted data vaules containing the leading string  'data_'.
;
2.1.0  1995-07-20 
;
       Changes: (JW)   
       Final adjustments before the first release of the mmCIF dictionary:
             + changed data_block to datablock to avoid any problems with 
               the STAR data_ reserved token.
             + created new category to hold item subcategory associations
               and deleted the subcategory attribute from ITEM category.
             + modified regular expressions to reflect limitations observed
               on several platforms.
             + expanded the ennumeration of _item_related.function_code.
             + removed default value from _item.manadatory_code.
             + removed type construct for date and changed date data type 
               to yyyy-mm-dd
             + added less restrictive data type for alias names.
;
2.1.1  1995-09-26 
;
       Changes: (JW)   
             + Changed regular expressions for type code to permit 
               single quote.
             + Corrected regular expression syntax for type name and 
               type date.
             + Corrected lower bound description for item_range.minimum.
               The incorrect <= condition is changed to <.
             + _item_mandatory.code has been now a mandatory item.
             + _item_aliases.dictionary and _item_aliases.dictionary_version
               are added to the composite key for category ITEM_ALIASES.
             + _datablock.id data type changes to type code.
             + Shortened the name _item_aliases.dictionary_version to 
               _item_aliases.version 
;
# 
loop_
_item_type_list.code 
_item_type_list.primitive_code 
_item_type_list.detail 
_item_type_list.construct 
code       char  'A single word'                                    
;[^\t\n "]*
;
char       char  'A single line of text'                            [^\n]* 
text       char  'Text which may span lines'                        .* 
int        numb  'Unsigned integer data'                            [0-9]+ 
name       uchar 'A data item name (restrictive type)'              
'_[_A-Za-z0-9]+[.][][_A-Za-z0-9%/-]+'       
aliasname  uchar 'A DDL 1.4 data item name (less restrictive type)' 
;_[^\t\n "]+
;
idname     uchar 'A data item name component or identifier'         
[_A-Za-z0-9]+                               
any        char  'Any data type'                                    .* 
yyyy-mm-dd char  'A date format'                                    
[0-9][0-9][0-9][0-9]-[0-9]?[0-9]-[0-9][0-9] 
# 
loop_
_category_group_list.id 
_category_group_list.parent_id 
_category_group_list.description 
ddl_group          .         
;
     Component categories of the macromolecular DDL
;
datablock_group    ddl_group 
;
     Categories that describe the characteristics of data blocks.
;
category_group     ddl_group 
;
     Categories that describe the characteristics of categories.
;
sub_category_group ddl_group 
;
     Categories that describe the characteristics of subcategories.
;
item_group         ddl_group 
;
     Categories that describe the characteristics of data items.
;
dictionary_group   ddl_group 
;
     Categories that describe the dictionary.
;
compliance_group   ddl_group 
;
     Categories that are retained specifically for compliance with 
     older versions of the DDL.
;
# 
loop_
_category.description 
_category.id 
_category.mandatory_code 
_category.implicit_key 
;
     Attributes defining the characteristics of a data block.
;
datablock                no  ddl_core 
;
    Attributes specifying the association between data blocks and methods.
;
datablock_methods        no  ddl_core 
;
     Attributes defining the functionality for the entire category.
;
category                 no  ddl_core 
;
     Example applications and descriptions of data items in this category.
;
category_examples        no  ddl_core 
;
     This category holds a list of the item names that uniquely
     identify the elements of the category.  
;
category_key             no  ddl_core 
;
     Provides a list of category groups to which the base category
     belongs.
;
category_group           no  ddl_core 
;
     This category provides the definition of each category group.
     A category group is a collection of related categories.
;
category_group_list      no  ddl_core 
;
    Attributes specifying the association between categories and methods.
;
category_methods         no  ddl_core 
;
     The purpose of a sub-category is to define an association between 
     data items within a category and optionally provide a method to 
     validate the collection of items.   The sub-category named 
     'cartesian' might be applied to the data items for the coordinates
      x,  y, and z.
;
sub_category             no  ddl_core 
;
     Example applications and descriptions of data items in this subcategory.
;
sub_category_examples    no  ddl_core 
;
    Attributes specifying the association between subcategories and methods.
;
sub_category_methods     no  ddl_core 
;
     Attributes which describe the characteristics of a data item.       
;
item                     no  ddl_core 
;
    This category holds a list of possible alias names or synonyms for 
    each data item.  Each alias name is identified by the name and 
    version of the dictionary to which it belongs.  
;
item_aliases             no  ddl_core 
;
     Attributes specifying the default value for a data item.
;
item_default             no  ddl_core 
;
     Attributes which identify other data items that must be specified
     for the defined data item to be valid.
;
item_dependent           no  ddl_core 
;
     This category holds the descriptions of each data item.
;
item_description         yes ddl_core 
;
     Attributes which specify the permitted enumeration of the items.   
;
item_enumeration         no  ddl_core 
;
    Attributes for describing application examples of the data item. 
;
item_examples            no  ddl_core 
;
     Attributes which describe how equivalent data items are linked
     within categories and across different categories.
;
item_linked              no  ddl_core 
;
    Attributes specifying the association between data items and methods.
;
item_methods             no  ddl_core 
;
     The range of permissible values of a data item.  When multiple
     ranges are specified they are interpreted sequentially 
     using a logical OR.  To specify that an item value may be
     equal to a boundary value,  specify an item range where the 
     maximum and mimimum values equal the boundary value.
;
item_range               no  ddl_core 
;
    Attributes which specify recognized relationships between data items.      
;
item_related             no  ddl_core 
;
    This category holds the association between data items and 
    named vector/matrix declarations.
;
item_structure           no  ddl_core 
;
     This category holds a description for each structure type.
;
item_structure_list      no  ddl_core 
;
     This category assigns data items to subcategories.
;
item_sub_category        no  ddl_core 
;
     Attributes for specifying the data type code for each data item.
;
item_type                no  ddl_core 
;
    Attributes for specifying additional conditions associated with 
    the data type of the item.
;
item_type_conditions     no  ddl_core 
;
     Attributes which define each type code.
;
item_type_list           no  ddl_core 
;
     Specifies the physical units in which data items are expressed.
;
item_units               no  ddl_core 
;
     Conversion factors between the various units of measure defined
     in the ITEM_UNITS_LIST category.
;
item_units_conversion    no  ddl_core 
;
     Attributes which describe the physical units of measure
     in which data items may be expressed.
;
item_units_list          no  ddl_core 
;
    Attributes specifying the list of methods applicable to data items,
    sub-categories, and categories.     
;
method_list              no  ddl_core 
;
     Attributes for specifying the dictionary title, version and 
     data block identifier.
;
dictionary               yes ddl_core 
;
   Attributes for specifying the revision history of the dictionary.
;
dictionary_history       no  ddl_core 
;
     NDB description of data items in this category.
;
ndb_category_description no  ddl_core 
;
     NDB example applications and descriptions of data items in this
category.
;
ndb_category_examples    no  ddl_core 
;
     This category holds the NDB descriptions of each data item.
;
ndb_item_description     no  ddl_core 
;
     Attributes which specify the permitted enumeration of the items.
;
ndb_item_enumeration     no  ddl_core 
;
    Attributes for describing application examples of the data item.
;
ndb_item_examples        no  ddl_core 
# 
loop_
_category_key.id 
_category_key.name 
datablock                '_datablock.id'                         
datablock_methods        '_datablock_methods.method_id'          
datablock_methods        '_datablock_methods.datablock_id'       
category                 '_category.id'                          
category_examples        '_category_examples.id'                 
category_examples        '_category_examples.case'               
category_key             '_category_key.name'                    
category_key             '_category_key.id'                      
category_group           '_category_group.id'                    
category_group           '_category_group.category_id'           
category_group_list      '_category_group_list.id'               
category_methods         '_category_methods.method_id'           
category_methods         '_category_methods.category_id'         
sub_category             '_sub_category.id'                      
sub_category_examples    '_sub_category_examples.id'             
sub_category_examples    '_sub_category_examples.case'           
sub_category_methods     '_sub_category_methods.method_id'       
sub_category_methods     '_sub_category_methods.sub_category_id' 
item                     '_item.name'                            
item_aliases             '_item_aliases.alias_name'              
item_aliases             '_item_aliases.dictionary'              
item_aliases             '_item_aliases.version'                 
item_default             '_item_default.name'                    
item_dependent           '_item_dependent.name'                  
item_dependent           '_item_dependent.dependent_name'        
item_description         '_item_description.name'                
item_description         '_item_description.description'         
item_enumeration         '_item_enumeration.name'                
item_enumeration         '_item_enumeration.value'               
item_examples            '_item_examples.name'                   
item_examples            '_item_examples.case'                   
item_linked              '_item_linked.child_name'               
item_linked              '_item_linked.parent_name'              
item_methods             '_item_methods.method_id'               
item_methods             '_item_methods.name'                    
item_range               '_item_range.name'                      
item_range               '_item_range.minimum'                   
item_range               '_item_range.maximum'                   
item_related             '_item_related.name'                    
item_related             '_item_related.related_name'            
item_related             '_item_related.function_code'           
item_structure           '_item_structure.name'                  
item_structure_list      '_item_structure_list.code'             
item_structure_list      '_item_structure_list.index'            
item_sub_category        '_item_sub_category.id'                 
item_sub_category        '_item_sub_category.name'               
item_type                '_item_type.name'                       
item_type_conditions     '_item_type_conditions.name'            
item_type_list           '_item_type_list.code'                  
item_units               '_item_units.name'                      
item_units_conversion    '_item_units_conversion.from_code'      
item_units_conversion    '_item_units_conversion.to_code'        
item_units_list          '_item_units_list.code'                 
method_list              '_method_list.id'                       
dictionary               '_dictionary.datablock_id'              
dictionary_history       '_dictionary_history.version'           
ndb_category_description '_ndb_category_description.id'          
ndb_category_description '_ndb_category_description.description' 
ndb_category_examples    '_ndb_category_examples.id'             
ndb_category_examples    '_ndb_category_examples.case'           
ndb_item_description     '_ndb_item_description.name'            
ndb_item_description     '_ndb_item_description.description'     
ndb_item_enumeration     '_ndb_item_enumeration.name'            
ndb_item_enumeration     '_ndb_item_enumeration.value'           
ndb_item_examples        '_ndb_item_examples.name'               
ndb_item_examples        '_ndb_item_examples.case'               
# 
loop_
_category_group.id 
_category_group.category_id 
ddl_group          datablock             
datablock_group    datablock             
ddl_group          datablock_methods     
datablock_group    datablock_methods     
ddl_group          category              
category_group     category              
ddl_group          category_key          
category_group     category_key          
ddl_group          category_group        
category_group     category_group        
ddl_group          category_group_list   
category_group     category_group_list   
ddl_group          category_methods      
category_group     category_methods      
ddl_group          sub_category          
sub_category_group sub_category          
ddl_group          sub_category_examples 
sub_category_group sub_category_examples 
ddl_group          sub_category_methods  
sub_category_group sub_category_methods  
ddl_group          item                  
item_group         item                  
ddl_group          item_default          
item_group         item_default          
ddl_group          item_description      
item_group         item_description      
ddl_group          item_enumeration      
item_group         item_enumeration      
ddl_group          item_examples         
item_group         item_examples         
ddl_group          item_linked           
item_group         item_linked           
ddl_group          item_methods          
item_group         item_methods          
ddl_group          item_range            
item_group         item_range            
ddl_group          item_related          
item_group         item_related          
ddl_group          item_structure        
item_group         item_structure        
ddl_group          item_structure_list   
item_group         item_structure_list   
sub_category_group item_sub_category     
item_group         item_sub_category     
ddl_group          item_type             
item_group         item_type             
ddl_group          item_type_conditions  
item_group         item_type_conditions  
compliance_group   item_type_conditions  
ddl_group          item_type_list        
item_group         item_type_list        
ddl_group          item_units            
item_group         item_units            
ddl_group          item_units_conversion 
item_group         item_units_conversion 
ddl_group          item_units_list       
item_group         item_units_list       
ddl_group          method_list           
item_group         method_list           
category_group     method_list           
ddl_group          dictionary            
datablock_group    dictionary            
dictionary_group   dictionary            
ddl_group          dictionary_history    
dictionary_group   dictionary_history    
ddl_group          ndb_item_description  
item_group         ndb_item_description  
ddl_group          ndb_item_enumeration  
item_group         ndb_item_enumeration  
ddl_group          ndb_item_examples     
item_group         ndb_item_examples     
# 
loop_
_item_description.name 
_item_description.description 
'_datablock.id'                         
;
     The identity of the data block. 
;
'_datablock.description'                
;
     Text description of the data block.    
;
'_datablock_methods.datablock_id'       
;
     Identifier of data block.    
;
'_datablock_methods.method_id'          
;
     Unique method identifier associated with a data block.    
;
'_category.id'                          
;
     The identity of the data category. Data items may only be looped
     with items of the same category.
;
'_category.description'                 
;
     Text description of a category.    
;
'_category.implicit_key'                
;
     An identifier that may be used to distinguish the contents of
     like categories between data blocks.  
;
'_category.mandatory_code'              
;
     Whether the category must be specified in a dictionary. 
;
'_category_examples.id'                 
;
     The name of category.
;
'_category_examples.case'               
;
     A case of examples involving items in this category.
;
'_category_examples.detail'             
;
     A description of an example _category_examples.case      
;
'_category_key.name'                    
;
     The name of a data item that serves as a key identifier for the 
     category (eg. a component of  the primary key). 
;
'_category_key.id'                      
;
     The identifier of the category (eg. a component of  the primary key). 
;
'_category_group.id'                    
;
     The name of a category group ...
;
'_category_group.category_id'           
;
     The name of a category  ...
;
'_category_group_list.id'               
;              
     The name of a category group ...
;
'_category_group_list.description'      
;              
     Text description of a category group...
;
'_category_group_list.parent_id'        
;              
     The name of the optional parent category group. 
;
'_category_methods.category_id'         
;              
     The name of the category 
;
'_category_methods.method_id'           
;              
     The name of the method 
;
'_sub_category.id'                      
;
     The identity of the sub-category.
;
'_sub_category.description'             
;
     Description of the sub-category.
;
'_sub_category_examples.id'             
;
     The name for the subcategory.
;
'_sub_category_examples.case'           
;
     An example involving items in this subcategory.
;
'_sub_category_examples.detail'         
;
     A description of an example _sub_category_examples.case    
;
'_sub_category_methods.sub_category_id' 
;              
     The name of the subcategory 
;
'_sub_category_methods.method_id'       
;              
     The name of the method 
;
'_item.name'                            
;
     Data name of the defined item.
;
'_item.mandatory_code'                  
;
     Signals if the defined item is mandatory for the proper description
     of its category.
;
'_item.category_id'                     
;
     This is category id of the item.
;
'_item_aliases.name'                    
;
     Name for the data item.  
;
'_item_aliases.alias_name'              
;
     Alias name for the data item.  
;
'_item_aliases.dictionary'              
;
     The dictionary in which the alias name is defined.  
;
'_item_aliases.version'                 
;
     The version of the dictionary in which the alias name is defined.
;
'_item_default.name'                    
;
     The name of item for which the default value is defined
;
'_item_default.value'                   
;
     The default value for the defined item if it is not specified
     explicitly. If a data value is not declared, the default is
     assumed to be the most likely or natural value.
;
'_item_dependent.name'                  
;
     Item name of a dependent item.
;
'_item_dependent.dependent_name'        
;
     Data name of a dependent item.
;
'_item_description.name'                
;
    Tne name of data item.                              
;
'_item_description.description'         
;
     Text decription of the defined data item.                              
;
'_item_enumeration.name'                
;
     Name of data item.
;
'_item_enumeration.value'               
;
     A permissible value, character or number, for the defined item.
;
'_item_enumeration.detail'              
;
     A description of a permissible value for the defined item.
;
'_item_examples.name'                   
;
     The name of data item for the example.
;
'_item_examples.case'                   
;
     An example application of the defined data item.
;
'_item_examples.detail'                 
;
     A description of an example specified in _item_example.case
;
'_item_linked.child_name'               
;
     Name of the child data item.
;
'_item_linked.parent_name'              
;
     Name of the parent data item.
;
'_item_methods.name'                    
;
     The name of the item
;
'_item_methods.method_id'               
;
     The name of itemthe method
;
'_item_range.name'                      
;
     Name of data item ...
;
'_item_range.minimum'                   
;
     Minimum permissible value of a data item or the lower bound
     of a permissible range.  ( minimum value <  data value)
;
'_item_range.maximum'                   
;
     Maximum permissible value of a data item or the upper bound
     of a permissible range.  ( maximum value >  data value)
;
'_item_related.name'                    
;
     Identifies a defined data item ...
;
'_item_related.related_name'            
;
     Identifies a data item by name which is closely related to the
     defined data item by the manner described by _item_related.function_code
;
'_item_related.function_code'           
;
     The code for the type of relationship of the item identified by
     _item_related.name and the defined item.

      ALTERNATE  indicates that the item identified in 
      _item_related.related_name is an alternative expression in terms 
      of its application and attributes to the item in this definition.

      ALTERNATE_EXCLUSIVE indicates that the item identified in 
      _item_related.related_name is an alternative expression in terms
      of its application and attributes to the item in this definition.
      Only one of the alternative forms may be specified.

      CONVENTION  indicates that the item identified in 
      _item_related.related_name differs from the defined item only
      in terms of a convention in its expression.

      CONVERSION_CONSTANT indicates that the item identified in 
      _item_related.related_name differs from the defined item only
      by a known constant.

      CONVERSION_ARBITRARY indicates that the item identified in 
      _item_related.related_name differs from the defined item only
      by a arbitrary constant.

      REPLACES  indicates that the defined item replaces the item identified 
      in _item_related.related_name.

      REPLACEDBY  indicates that the defined item is replaced by the
      item identified in  _item_related.related_name.

      ASSOCIATED_VALUE indicates that the item identified in 
      _item_related.related_name is meaningful when associated with the
      defined item.  

      ASSOCIATED_ESD indicates that the item identified in 
      _item_related.related_name is the estimated standard deviation of
      of the defined item.
;
'_item_structure.name'                  
;
     The name of data item
;
'_item_structure.code'                  
;
     Provides an indirect reference into the list of structure 
     type definition in category item_structure_list.
;
'_item_structure.organization'          
;
     Identifies if the struct is defined in column or row major order.
     Only the unique elements of symmetric matrices are specified.
;
'_item_structure_list.code'             
;
     The name of the matrix/vector structure declaration.
;
'_item_structure_list.index'            
;
    Identifies the one based index of a row/column of the structure.
;
'_item_structure_list.dimension'        
;
    Identifies the length of this row/column of the structure.
;
'_item_sub_category.name'               
;
    The name of data item
;
'_item_sub_category.id'                 
;
    The identifier of subcategory
;
'_item_type.name'                       
;
    The name of data item
;
'_item_type.code'                       
;
    Data type of defined data item
;
'_item_type_conditions.name'            
;    
     The name of data item
;
'_item_type_conditions.code'            
;    
     Codes defining conditions on the _item_type.code specification.

     'esd' permits a number string to contain an appended standard
           deviation number enclosed within parentheses. E.g. 4.37(5)

     'seq' permits data to be declared as a sequence of values
           separated by a comma <,> or a colon <:>.
           * The sequence v1,v2,v3,. signals that v1, v2, v3, etc.
             are alternative values or the data item.
           * The sequence v1:v2 signals that v1 and v2 are the boundary
             values of a continuous range of values. This mechanism
             was used to specify permitted ranges of an item in 
             previous DDL versions.
      Combinations of alternate and range sequences are permitted.
;
'_item_type_list.code'                  
;
     The codes specifying the nature of the data value.
;
'_item_type_list.primitive_code'        
;
     The codes specifying the primitive type of the data value.
;
'_item_type_list.construct'             
;
    When a data value can be defined as a pre-determined sequence of 
    characters, or optional characters, or data names (for which the
    definition is also available), it is specified as a construction.
    The rules of construction conform to the the regular expression
    (REGEX) specificatiopns detailed in the IEEE document P1003.2
    Draft 11.2 Sept 1991 (ftp file '/doc/POSIX/1003.2/p121-140').
    Resolved data names for which _item_type_list.construct 
    specifications exist are replaced by these constructions, 
    otherwise the data name string is not replaced.
;
'_item_type_list.detail'                
;
     An optional description of the data type
;
'_item_units.name'                      
;
     The name of data item
;
'_item_units.code'                      
;
     The identifier of unit in which the data item is expressed.
;
'_item_units_conversion.from_code'      
;
     The unit system on which the conversion operation is applied
     to produce the unit system specified in _item_units_conversion.to_code.

         <to_code> =  <from_code> <operator> <factor>
;
'_item_units_conversion.to_code'        
;
     The unit system produced after an operation is applied to the unit
     system specified by  _item_units_conversion.from_code.

         <to_code> =  <from_code> <operator> <factor>
;
'_item_units_conversion.operator'       
;
     The arithmetic operator required to convert between the 
     unit systems:
         <to_code> =  <from_code> <operator> <factor>
;
'_item_units_conversion.factor'         
;
     The arithmetic operation required to convert between the 
     unit systems:
         <to_code> =  <from_code> <operator> <factor>
;
'_item_units_list.code'                 
;
     The code specifying the name of the unit of measure.
;
'_item_units_list.detail'               
;
     A description of the unit of measure.
;
'_method_list.id'                       
;
     Identity of method in the list referenced by _method.id
;
'_method_list.detail'                   
;
     Description of application method in _method_list.id           
;
'_method_list.inline'                   
;
     Inline text of a method associated with the data item.
;
'_method_list.code'                     
;
     A code that describes the function of the method.     
;
'_method_list.language'                 
;
     Language in which the method is expressed.
;
''_dictionary.datablock_id'             
;
     The identifier for the data block containing the dictionary.
;
'_dictionary.title'                     
;
     Title identification of the dictionary.                   
;
'_dictionary.version'                   
;
     A unique version identifier for the dictionary.
;
'_dictionary_history.version'           
;
     A unique version identifier for the dictionary revision.
;
'_dictionary_history.update'            
;
     The date that the last dictionary revision took place.
;
'_dictionary_history.revision'          
;
     Text description of the dictionary revision.
;
'_ndb_category_description.description' 
;
     NDB text description of a category.
;
'_ndb_category_examples.case'           
;
     NDB case of examples involving items in this category.
;
'_ndb_category_examples.detail'         
;
     NDB description of an example _category_examples.case
;
'_ndb_item_description.name'            
;
     Data name of the defined item.
;
'_ndb_item_description.description'     
;
     NDB text description of the defined data item.
;
'_ndb_item_enumeration.value'           
;
     A permissible value, character or number, for the defined item.
;
'_ndb_item_enumeration.detail'          
;
     A description of a permissible value for the defined item.
;
'_ndb_item_examples.case'               
;
     NDB example application of the defined data item.
;
'_ndb_item_examples.detail'             
;
     NDB description of an example specified in _ndb_item_example.case
;
# 
loop_
_item.name 
_item.category_id 
_item.mandatory_code 
'_datablock.id'                         datablock                implicit 
'_datablock.description'                datablock                yes      
'_datablock_methods.datablock_id'       datablock_methods        implicit 
'_datablock_methods.method_id'          datablock_methods        yes      
'_category.id'                          category                 yes      
'_category.description'                 category                 yes      
'_category.implicit_key'                category                 implicit 
'_category.mandatory_code'              category                 yes      
'_category_examples.id'                 category_examples        implicit 
'_category_examples.case'               category_examples        yes      
'_category_examples.detail'             category_examples        no       
'_category_key.name'                    category_key             yes      
'_category_key.id'                      category_key             implicit 
'_category_group.id'                    category_group           yes      
'_category_group.category_id'           category_group           implicit 
'_category_group_list.id'               category_group_list      yes      
'_category_group_list.description'      category_group_list      yes      
'_category_group_list.parent_id'        category_group_list      no       
'_category_methods.category_id'         category_methods         implicit 
'_category_methods.method_id'           category_methods         yes      
'_sub_category.id'                      sub_category             yes      
'_sub_category.description'             sub_category             yes      
'_sub_category_examples.id'             sub_category_examples    yes      
'_sub_category_examples.case'           sub_category_examples    yes      
'_sub_category_examples.detail'         sub_category_examples    no       
'_sub_category_methods.sub_category_id' sub_category_methods     yes      
'_sub_category_methods.method_id'       sub_category_methods     yes      
'_item.name'                            item                     implicit 
'_item.mandatory_code'                  item                     yes      
'_item.category_id'                     item                     implicit 
'_item_aliases.name'                    item_aliases             implicit 
'_item_aliases.alias_name'              item_aliases             yes      
'_item_aliases.dictionary'              item_aliases             yes      
'_item_aliases.version'                 item_aliases             yes      
'_item_default.name'                    item_default             implicit 
'_item_default.value'                   item_default             no       
'_item_dependent.name'                  item_dependent           implicit 
'_item_dependent.dependent_name'        item_dependent           yes      
'_item_description.name'                item_description         implicit 
'_item_description.description'         item_description         yes      
'_item_enumeration.name'                item_enumeration         implicit 
'_item_enumeration.value'               item_enumeration         yes      
'_item_enumeration.detail'              item_enumeration         no       
'_item_examples.name'                   item_examples            implicit 
'_item_examples.case'                   item_examples            no       
'_item_examples.detail'                 item_examples            no       
'_item_linked.child_name'               item_linked              yes      
'_item_linked.parent_name'              item_linked              implicit 
'_item_methods.name'                    item_methods             implicit 
'_item_methods.method_id'               item_methods             yes      
'_item_range.name'                      item_range               implicit 
'_item_range.minimum'                   item_range               no       
'_item_range.maximum'                   item_range               no       
'_item_related.name'                    item_related             implicit 
'_item_related.related_name'            item_related             yes      
'_item_related.function_code'           item_related             yes      
'_item_structure.name'                  item_structure           implicit 
'_item_structure.code'                  item_structure           yes      
'_item_structure.organization'          item_structure           yes      
'_item_structure_list.code'             item_structure_list      yes      
'_item_structure_list.index'            item_structure_list      yes      
'_item_structure_list.dimension'        item_structure_list      yes      
'_item_sub_category.name'               item_sub_category        implicit 
'_item_sub_category.id'                 item_sub_category        yes      
'_item_type.name'                       item_type                implicit 
'_item_type.code'                       item_type                yes      
'_item_type_conditions.name'            item_type_conditions     implicit 
'_item_type_conditions.code'            item_type_conditions     yes      
'_item_type_list.code'                  item_type_list           yes      
'_item_type_list.primitive_code'        item_type_list           yes      
'_item_type_list.construct'             item_type_list           no       
'_item_type_list.detail'                item_type_list           no       
'_item_units.name'                      item_units               implicit 
'_item_units.code'                      item_units               yes      
'_item_units_conversion.from_code'      item_units_conversion    yes      
'_item_units_conversion.to_code'        item_units_conversion    yes      
'_item_units_conversion.operator'       item_units_conversion    yes      
'_item_units_conversion.factor'         item_units_conversion    yes      
'_item_units_list.code'                 item_units_list          yes      
'_item_units_list.detail'               item_units_list          no       
'_method_list.id'                       method_list              yes      
'_method_list.detail'                   method_list              no       
'_method_list.inline'                   method_list              yes      
'_method_list.code'                     method_list              yes      
'_method_list.language'                 method_list              yes      
'_dictionary.datablock_id'              dictionary               implicit 
'_dictionary.title'                     dictionary               yes      
'_dictionary.version'                   dictionary               yes      
'_dictionary_history.version'           dictionary_history       yes      
'_dictionary_history.update'            dictionary_history       yes      
'_dictionary_history.revision'          dictionary_history       yes      
'_ndb_category_description.id'          ndb_category_description implicit 
'_ndb_category_description.description' ndb_category_description yes      
'_ndb_category_examples.id'             ndb_category_examples    implicit 
'_ndb_category_examples.case'           ndb_category_examples    yes      
'_ndb_category_examples.detail'         ndb_category_examples    no       
'_ndb_item_description.name'            ndb_item_description     implicit 
'_ndb_item_description.description'     ndb_item_description     yes      
'_ndb_item_enumeration.name'            ndb_item_enumeration     implicit 
'_ndb_item_enumeration.value'           ndb_item_enumeration     yes      
'_ndb_item_enumeration.detail'          ndb_item_enumeration     no       
'_ndb_item_examples.case'               ndb_item_examples        yes      
'_ndb_item_examples.detail'             ndb_item_examples        yes      
'_ndb_item_examples.name'               ndb_item_examples        implicit 
# 
loop_
_item_type.name 
_item_type.code 
'_datablock.id'                         code       
'_datablock.description'                code       
'_datablock_methods.datablock_id'       code       
'_datablock_methods.method_id'          idname     
'_category.id'                          idname     
'_category.description'                 text       
'_category.implicit_key'                code       
'_category.mandatory_code'              code       
'_category_examples.id'                 idname     
'_category_examples.case'               text       
'_category_examples.detail'             text       
'_category_key.name'                    name       
'_category_key.id'                      idname     
'_category_group.id'                    idname     
'_category_group.category_id'           idname     
'_category_group_list.id'               idname     
'_category_group_list.description'      text       
'_category_group_list.parent_id'        idname     
'_category_methods.category_id'         idname     
'_category_methods.method_id'           idname     
'_sub_category.id'                      idname     
'_sub_category.description'             text       
'_sub_category_examples.id'             idname     
'_sub_category_examples.case'           text       
'_sub_category_examples.detail'         text       
'_sub_category_methods.sub_category_id' idname     
'_sub_category_methods.method_id'       idname     
'_item.name'                            name       
'_item.mandatory_code'                  code       
'_item.category_id'                     idname     
'_item_aliases.name'                    name       
'_item_aliases.alias_name'              aliasname  
'_item_aliases.dictionary'              char       
'_item_aliases.version'                 char       
'_item_default.name'                    name       
'_item_default.value'                   any        
'_item_dependent.name'                  name       
'_item_dependent.dependent_name'        name       
'_item_description.name'                name       
'_item_description.description'         text       
'_item_enumeration.name'                name       
'_item_enumeration.value'               any        
'_item_enumeration.detail'              text       
'_item_examples.name'                   name       
'_item_examples.case'                   text       
'_item_examples.detail'                 text       
'_item_linked.child_name'               name       
'_item_linked.parent_name'              name       
'_item_methods.name'                    name       
'_item_methods.method_id'               idname     
'_item_range.name'                      name       
'_item_range.minimum'                   any        
'_item_range.maximum'                   any        
'_item_related.name'                    name       
'_item_related.related_name'            name       
'_item_related.function_code'           code       
'_item_structure.name'                  name       
'_item_structure.code'                  code       
'_item_structure.organization'          code       
'_item_structure_list.code'             code       
'_item_structure_list.index'            int        
'_item_structure_list.dimension'        int        
'_item_sub_category.name'               name       
'_item_sub_category.id'                 idname     
'_item_type.name'                       name       
'_item_type.code'                       code       
'_item_type_conditions.name'            name       
'_item_type_conditions.code'            code       
'_item_type_list.code'                  code       
'_item_type_list.primitive_code'        code       
'_item_type_list.construct'             char       
'_item_type_list.detail'                text       
'_item_units.name'                      name       
'_item_units.code'                      code       
'_item_units_conversion.from_code'      code       
'_item_units_conversion.to_code'        code       
'_item_units_conversion.operator'       code       
'_item_units_conversion.factor'         any        
'_item_units_list.code'                 code       
'_item_units_list.detail'               text       
'_method_list.id'                       idname     
'_method_list.detail'                   text       
'_method_list.inline'                   text       
'_method_list.code'                     code       
'_method_list.language'                 code       
'_dictionary.datablock_id'              code       
'_dictionary.title'                     char       
'_dictionary.version'                   char       
'_dictionary_history.version'           char       
'_dictionary_history.update'            yyyy-mm-dd 
'_dictionary_history.revision'          text       
'_ndb_category_description.id'          idname     
'_ndb_category_description.description' text       
'_ndb_category_examples.id'             idname     
'_ndb_category_examples.case'           text       
'_ndb_category_examples.detail'         text       
'_ndb_item_description.name'            name       
'_ndb_item_description.description'     text       
'_ndb_item_enumeration.name'            name       
'_ndb_item_enumeration.value'           any        
'_ndb_item_enumeration.detail'          text       
'_ndb_item_examples.case'               text       
'_ndb_item_examples.detail'             text       
'_ndb_item_examples.name'               name       
# 
loop_
_item_linked.parent_name 
_item_linked.child_name 
'_datablock.id'               '_datablock_methods.datablock_id'       
'_datablock.id'               '_dictionary.datablock_id'              
'_datablock.id'               '_category.implicit_key'                
'_category.id'                '_category_examples.id'                 
'_category.id'                '_category_group.category_id'           
'_category.id'                '_category_key.id'                      
'_category.id'                '_category_methods.category_id'         
'_category.id'                '_item.category_id'                     
'_category_group_list.id'     '_category_group.id'                    
'_category_group_list.id'     '_category_group_list.parent_id'        
'_sub_category.id'            '_sub_category_examples.id'             
'_sub_category.id'            '_sub_category_methods.sub_category_id' 
'_sub_category.id'            '_item_sub_category.id'                 
'_item.name'                  '_category_key.name'                    
'_item.name'                  '_item_aliases.name'                    
'_item.name'                  '_item_default.name'                    
'_item.name'                  '_item_dependent.name'                  
'_item.name'                  '_item_dependent.dependent_name'        
'_item.name'                  '_item_description.name'                
'_item.name'                  '_item_enumeration.name'                
'_item.name'                  '_item_examples.name'                   
'_item.name'                  '_item_linked.child_name'               
'_item.name'                  '_item_linked.parent_name'              
'_item.name'                  '_item_methods.name'                    
'_item.name'                  '_item_range.name'                      
'_item.name'                  '_item_related.name'                    
'_item.name'                  '_item_related.related_name'            
'_item.name'                  '_item_type.name'                       
'_item.name'                  '_item_type_conditions.name'            
'_item.name'                  '_item_structure.name'                  
'_item.name'                  '_item_sub_category.name'               
'_item.name'                  '_item_units.name'                      
'_item_structure_list.code'   '_item_structure.code'                  
'_item_type_list.code'        '_item_type.code'                       
'_item_units_list.code'       '_item_units.code'                      
'_item_units_list.code'       '_item_units_conversion.from_code'      
'_item_units_list.code'       '_item_units_conversion.to_code'        
'_method_list.id'             '_item_methods.method_id'               
'_method_list.id'             '_category_methods.method_id'           
'_method_list.id'             '_sub_category_methods.method_id'       
'_method_list.id'             '_datablock_methods.method_id'          
'_dictionary_history.version' '_dictionary.version'                   
'_category.id'                '_ndb_category_description.id'          
'_category.id'                '_ndb_category_examples.id'             
'_item.name'                  '_ndb_item_description.name'            
'_item.name'                  '_ndb_item_enumeration.name'            
'_item.name'                  '_ndb_item_examples.name'               
# 
loop_
_item_enumeration.name 
_item_enumeration.value 
_item_enumeration.detail 
'_item.mandatory_code'            yes                  
'required item in this category'                              
'_item.mandatory_code'            no                   
'optional item in this category'                              
'_item.mandatory_code'            implicit             
'required item but may be determined from context'            
'_item_related.function_code'     alternate            
'alternate form of the item'                                  
'_item_related.function_code'     alternate_exclusive  
'mutually exclusive alternate form of the item'               
'_item_related.function_code'     convention           
'depends on defined convention'                               
'_item_related.function_code'     conversion_constant  
'related by a known conversion factor'                        
'_item_related.function_code'     conversion_arbitrary 
'related by a arbitrary conversion factor'                    
'_item_related.function_code'     replaces             
'a replacement definition'                                    
'_item_related.function_code'     replacedby           
'an obsolete definition'                                      
'_item_related.function_code'     associated_value     
'a meaningful value when related to the item'                 
'_item_related.function_code'     associated_esd       
'an estimated standard deviation of the item'                 
'_item_structure.organization'    columnwise           'column major order' 
'_item_structure.organization'    rowwise              'row major order' 
'_item_type_conditions.code'      none                 
'no extra conditions apply to this data item'                 
'_item_type_conditions.code'      esd                  
'numbers may have esd values appended within ()'              
'_item_type_conditions.code'      seq                  
'data may be declared as a comma or colon separated sequence' 
'_item_type_list.primitive_code'  numb                 
'numerically-interpretable string'                            
'_item_type_list.primitive_code'  char                 
'character or text string (case-sensitive)'                   
'_item_type_list.primitive_code'  uchar                
'character or text string (case-insensitive)'                 
'_item_type_list.primitive_code'  null                 
'for dictionary purposes only'                                
'_item_units_conversion.operator' +                    addition 
'_item_units_conversion.operator' -                    subtraction 
'_item_units_conversion.operator' *                    multiplication 
'_item_units_conversion.operator' /                    division 
# 
loop_
_item_range.name 
_item_range.minimum 
_item_range.maximum 
'_item_structure_list.index'     1 1 
'_item_structure_list.index'     1 . 
'_item_structure_list.dimension' 1 1 
'_item_structure_list.dimension' 1 . 
# 
loop_
_item_examples.name 
_item_examples.case 
_item_examples.detail 
'_item_type_list.construct' {_year}-{_month}-{_day} 
'typical construction for _date'     
'_method_list.code'         calculation             
'method to calculate the item '      
'_method_list.code'         verification            
'method to verify the data item '    
'_method_list.code'         cast                    
'method to provide cast conversion ' 
'_method_list.code'         addition                
'method to define item + item '      
'_method_list.code'         division                
'method to define item / item '      
'_method_list.code'         multiplication          
'method to define item * item '      
'_method_list.code'         equivalence             
'method to define item = item '      
'_method_list.code'         other                   'miscellaneous method ' 
'_method_list.language'     BNF                     ? 
'_method_list.language'     C                       ? 
'_method_list.language'     C++                     ? 
'_method_list.language'     FORTRAN                 ? 
'_method_list.language'     LISP                    ? 
'_method_list.language'     PASCAL                  ? 
'_method_list.language'     PEARL                   ? 
'_method_list.language'     TCL                     ? 
'_method_list.language'     OTHER                   ? 
# 
