next up previous contents
Next: An Example of Up: DDL Definitions Describing Previous: ITEM_TYPE_CONDITIONS

ITEM_TYPE_LIST

 

The item_type_list category holds the list of item data type definitions. The key item in this category is _item_type_list.code. Data types are associated with data items by references to this key from the item_type category. One of the data type codes defined in this category must be assigned to each data item.

The definition of a data type consists of the specification of the item's primitive type and a regular expression [1] which defines the pattern that must be matched by any occurrence of the item. The primitive type code, _item_type_list.primitive_code, can assume values of char, numb, and null. This code is provided for backward compatibility with STAR and CIF applications that employ loose data typing. The data item _item_type_list.construct holds the regular expression that must be matched by the data type. Simple regular expressions can be used to define character fields of restricted width, floating point and integer formats.

MIF [6] applications have extended the notion of the regular expression to include data item components. This permits the construction of complex data items from one or more component data items using regular expression algebra. These extended regular expressions are defined in category item_type_conditions.

The DDL for the item_type_list category is given in the following section.

save_ITEM_TYPE_LIST

    _category.description
;
     Attributes which define each type code.
;
    _category.id                         item_type_list
    _category.mandatory_code             no
    _category_key.name                 '_item_type_list.code'
     loop_
    _category_group.id                  'ddl_group'
                                        'item_group'
     save_

save__item_type_list.code

    _item_description.description
;
     The codes specifying the nature of the data value.
;
     loop_
    _item.name
    _item.category_id                                
    _item.mandatory_code              
         '_item_type_list.code'   item_type_list  yes
         '_item_type.code'        item_type       yes

    _item_type.code                              code
    _item_linked.child_name                    '_item_type.code'
    _item_linked.parent_name                   '_item_type_list.code'
     save_


save__item_type_list.primitive_code

    _item_description.description
;
     The codes specifying the primitive type of the data value.
;
    _item.name                         '_item_type_list.primitive_code'
    _item.category_id                    item_type_list                     
    _item.mandatory_code                 yes 
    _item_type.code                      code
     loop_
    _item_enumeration.value
    _item_enumeration.detail
                        numb  'numerically-interpretable string'
                        char  'character or text string (case-sensitive)'
                        uchar 'character or text string (case-insensitive)'
                        null  'for dictionary purposes only'
     save_

save__item_type_list.construct

    _item_description.description
;
    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.name                         '_item_type_list.construct'
    _item.category_id                    item_type_list                     
    _item.mandatory_code                 no            
    _item_type.code                      char 
    _item_examples.case                '{_year}-{_month}-{_day}'
    _item_examples.detail              'typical construction for _date'
     save_

save__item_type_list.detail

    _item_description.description
;
     An optional description of the data type
;
    _item.name                         '_item_type_list.detail'
    _item.category_id                    item_type_list                     
    _item.mandatory_code                 no
    _item_type.code                      text
     save_



John Westbrook
Thu Apr 11 06:25:55 EDT 1996