# -----------------------------------------------------------------------------
#         
#               Relational Data Description Language for 
#                     Macromolecular Structure
#         -----------------------------------------------------------        
#                              RDDL  1.3                                 
#                                                                            
# -----------------------------------------------------------------------------

data_rddl13

global_            
    _dictionary.name            	RDDL
    _dictionary.version         	1.4
    _dictionary.update          	1994-09-12
    _dictionary.dataPrefixCharacter     '_'
    _dictionary.dataJoinCharacter       '.'
    _dictionary.history
;
  1994-07-25 DDL 1.1 from Syd Hall et. al.
  1994-07-26 Initial version of the DDL extensions  J. Westbrook
  1994-08-26 Revisions after initial review by Phil Bourne and 
             Weider Chang,  and some limited prototyping at Rutgers
  1994-09-12 First truly relation version of the DDL.. J. Westbrook
;

#
#                                                                            
# -----------------------------------------------------------------------------
#              RDDL Description of relation = 'Relation'
#

relation_Relation
    _Relation.relationName              'Relation'
    _Relation.cardinality               'multi-valued'
    _Relation.relationDescription
;
   A table which defines the properties of each relation including:
   the relation name, the definition of the relation, cardinality
   restrictions, and ...
;
  

attribute_Relation.relationName
    loop_
        _RelationMembers.relationName
        _RelationMembers.attributeName
        _RelationMembers.attributeType
        _RelationMembers.mandatoryAttribute
                     'Relation'     'relationName'  'primary'    'yes'
             'RelationExamples'     'relationName'  'primary'    'yes'
             'RelationExamples'     'relationName'  'reference'  'yes'
              'RelationMembers'     'relationName'  'primary'    'yes'
              'RelationMembers'     'relationName'  'reference'  'yes'
          'AttributeDefinition'     'relationName'  'primary'    'yes'
          'AttributeDefinition'     'relationName'  'reference'  'yes'
         'AttributeEnumeration'     'relationName'  'primary'    'yes'
         'AttributeEnumeration'     'relationName'  'reference'  'yes'
                  'Subrelation'     'relationName'  'primary'    'yes'
                  'Subrelation'     'relationName'  'reference'  'yes'
          'ReferenceAttributes'     'relationName'  'primary'    'yes'
          'ReferenceAttributes'     'relationName'  'reference'  'yes'
            'AttributeExamples'     'relationName'  'primary'    'yes'
            'AttributeExamples'     'relationName'  'reference'  'yes'
    _AttributeDefinition.relationName       'relation'
    _AttributeDefinition.attributeName      'relationName'
    _AttributeDefinition.definition	
;      The name of the relation or table.
;
    loop_
        _ReferenceAttributes.relationName         
        _ReferenceAttributes.attributeName        
        _ReferenceAttributes.referencedRelation   
        _ReferenceAttributes.referencedAttribute  
        _ReferenceAttributes.nullPolicy  
        _ReferenceAttributes.deleteAction  
        _ReferenceAttributes.updateAction
            'RelationExamples' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'
             'RelationMembers' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'
         'AttributeDefinition' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'
                 'Subrelation' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'
         'ReferenceAttributes' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'
           'AttributeExamples' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'
        'AttributeEnumeration' 'relationName' 'Relation'  'relationName'  'allow' 'cascade' 'cascade'


attribute_Relation.description
    _RelationMembers.relationName              'Relation'
    _RelationMembers.attributeName             'description'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'
    _AttributeDefinition.relationName          'Relation'
    _AttributeDefinition.attributeName         'description'
    _AttributeDefinition.definition
;        The text description of the relation.
;

attribute_Relation.cardinality
    _RelationMembers.relationName              'Relation'
    _RelationMembers.attributeName             'cardinality'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'yes'
    _AttributeConstraints.relationName	       'Relation'
    _AttributeConstraints.attributeName	       'cardinality'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'no'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
        'Relation' 'cardinality'  'multi-valued'  'The cardinality of this relation may exceed 1'
        'Relation' 'cardinality'  'single-valued' 'The cardinality of this relation may not exceed 1'
    _AttributeDefinition.relationName         'Relation'
    _AttributeDefinition.attributeName	      'cardinality'
    _AttributeDefinition.definition
;        The cardinality of the relation specifies the whether the relation
         may have a single or muliple tuples.
;

attribute_Relation.mandatoryRelation
    _RelationMembers.relationName              'Relation'
    _RelationMembers.attributeName             'mandatoryRelation'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'yes'
    _AttributeConstraints.relationName	       'Relation'
    _AttributeConstraints.attributeName	       'mandatoryRelation'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'no'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
        'Relation' 'mandatoryRelation'  'yes'  'The relation is mandatory'
        'Relation' 'mandatoryRelation'  'no'   'The relation is optional'
    _AttributeDefinition.relationName         'Relation'
    _AttributeDefinition.attributeName	      'mandatoryRelation'
    _AttributeDefinition.definition
;        This attribute specifies the whether the relation must be present.
;


#
# -----------------------------------------------------------------------------
#              RDDL Description of relation = 'Subrelation'
#

relation_Subrelation
    _Relation.relationName	             'Subrelation'
    _Relation.cardinality                    'multi-valued'
    _Relation.relationDescription
;
   A table which defines the properties of each subrelation including:
   the subrelation name and the description the subrelation.
;
  
attribute_Subrelation.subrelationName
    loop_
        _RelationMembers.relationName
        _RelationMembers.attributeName
        _RelationMembers.attributeType
        _RelationMembers.mandatoryAttribute
          'Subrelation'       'subrelationName' 'primary'   'yes'
          'RelationMembers'   'subrelationName' 'reference' 'yes'
    _ReferenceAttributes.relationName         'Subrelation'
    _ReferenceAttributes.attributeName        'subrelationName'
    _ReferenceAttributes.referencedRelation   'Relation'
    _ReferenceAttributes.referencedAttribute  'relationName'
    _AttributeDefinition.relationName         'Subrelation'
    _AttributeDefinition.attributeName	      'subrelationName'
    _AttributeDefinition.definition
;   The name of the subrelation.
;


attribute_Subrelation.description
    _RelationMembers.relationName             'Subrelation'
    _RelationMembers.attributeName            'description'
    _RelationMembers.attributeType            'property'
    _RelationMembers.mandatoryAttribute       'no'
    _AttributeDefinition.relationName         'Subrelation'
    _AttributeDefinition.attributeName        'description'
    _AttributeDefinition.definition
;        The text description of the subrelation.
;

    
#
# -----------------------------------------------------------------------------
#           RDDL description of relation = 'RelationExamples'
#    

relation_RelationExamples
    _Relation.relationName	            'RelationExamples'
    _Relation.cardinality                   'multi-valued'
    _Relation.relationDescription
;
   A table of examples which pertain to the entire relation.
;


attribute_RelationExamples.example
    _RelationMembers.relationName           'RelationExamples'
    _RelationMembers.attributeName          'example'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'no'
    _AttributeDefinition.relationName       'RelationExamples'
    _AttributeDefinition.attributeName	    'example'
    _AttributeDefinition.definition
;              Text of the example for the relation.
;

attribute_RelationExamples.exampleDescription
    _RelationMembers.relationName           'RelationExamples'
    _RelationMembers.attributeName          'exampleDescription'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'no'
    _AttributeDefinition.relationName       'RelationExamples'
    _AttributeDefinition.attributeName	    'exampleDescription'
    _AttributeDefinition.definition
;              A description associated with the example text.
;

#
# -----------------------------------------------------------------------------
#             RDDL description of relation = 'RelationMembers'
#

relation_RelationMembers
    _Relation.relationName	       'RelationMembers'
    _Relation.cardinality              'multi-valued'
    _Relation.mandatoryRelation        'yes'
    _Relation.relationDescription
;
   A table which specifies the attribute members in a relation as well as
   key properties of the attributes.
;


attribute_RelationMembers.attributeName
    loop_
        _RelationMembers.relationName
        _RelationMembers.attributeName
        _RelationMembers.attributeType
        _RelationMembers.mandatoryAttribute
         'RelationMembers'      'attributeName' 'primary'    'yes'
         'Subrelation'          'attributeName' 'primary'    'yes'
         'Subrelation'          'attributeName' 'reference'  'yes'
         'ReferenceAttributes'  'attributeName' 'primary'    'yes'
         'ReferenceAttributes'  'attributeName' 'reference'  'yes'
         'AttributeExamples'    'attributeName' 'primary'    'yes'
         'AttributeExamples'    'attributeName' 'reference'  'yes'
         'AttributeConstraints' 'attributeName' 'primary'    'yes'
         'AttributeConstraints' 'attributeName' 'reference'  'yes'
         'AttributeDefinition'  'attributeName' 'primary'    'yes'
         'AttributeDefinition'  'attributeName' 'reference'  'yes'
         'AttributeEnumeration' 'attributeName' 'primary'    'yes'
         'AttributeEnumeration' 'attributeName' 'reference'  'yes'
    _AttributeDefinition.relationName          'RelationMembers'
    _AttributeDefinition.attributeName	       'attributeName'
    _AttributeDefinition.definition
;        The name assigned to the attribute within the relation.
;
    loop_
        _ReferenceAttributes.relationName         
        _ReferenceAttributes.attributeName        
        _ReferenceAttributes.referencedRelation   
        _ReferenceAttributes.referencedAttribute  
        _ReferenceAttributes.nullPolicy  
        _ReferenceAttributes.deleteAction  
        _ReferenceAttributes.updateAction
         'Subrelation'          'attributeName' 'RelationMembers' 'attributeName' 'allow' 'cascade' 'cascade'
         'ReferenceAttributes'  'attributeName' 'RelationMembers' 'attributeName' 'allow' 'cascade' 'cascade'
         'AttributeExamples'    'attributeName' 'RelationMembers' 'attributeName' 'allow' 'cascade' 'cascade'
         'AttributeConstraints' 'attributeName' 'RelationMembers' 'attributeName' 'allow' 'cascade' 'cascade'
         'AttributeDefinition'  'attributeName' 'RelationMembers' 'attributeName' 'allow' 'cascade' 'cascade'
         'AttributeEnumeration' 'attributeName' 'RelationMembers' 'attributeName' 'allow' 'cascade' 'cascade'


attribute_RelationMembers.attributeType
    loop_
        _RelationMembers.relationName
        _RelationMembers.attributeName
        _RelationMembers.attributeType
        _RelationMembers.mandatoryAttribute
	 'RelationMembers' 'relationName' 'primary'  'yes'
    _AttributeConstraints.relationName	       'RelationMembers'
    _AttributeConstraints.attributeName	       'attributeType'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'none'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
         'RelationMembers' 'attributeType'  'primary'  
;
  The attribute is a primary key in this relation.
;
         'RelationMembers' 'attributeType'  'reference' 
;
  The attribute is a reference key in this relation which references
  a primary key in another relation. 
;
	 'RelationMembers' 'attributeType'  'property'  
;
  The attribute expresses a property that depends on the 
  primary key of the relation.
;
    _AttributeDefinition.relationName         'RelationMembers'
    _AttributeDefinition.attributeName	      'attributeType'
    _AttributeDefinition.definition
;        The attribute type defines the role of this attribute in 
         determining the uniqueness of any tuple in the relation
         as well as any dependencies amoung key attributes.
;

attribute_RelationMembers.mandatoryAttribute
    _RelationMembers.relationName              'RelationMembers'
    _RelationMembers.attributeName             'mandatory'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'yes'
    _AttributeConstraints.relationName	       'RelationMembers'
    _AttributeConstraints.attributeName	       'mandatory'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'no'
    loop_
        _AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
         'RelationMembers' 'mandatory'  'yes'  'The attribute is mandatory in the category'
         'RelationMembers' 'mandatory'  'no'   'The attribute is optional  in the category'
    _AttributeDefinition.relationName         'RelationMembers'
    _AttributeDefinition.attributeName	      'mandatory'
    _AttributeDefinition.definition
;        The mandatory attribute specifies whether this attribute must have
         a non null value in any tuple in the relation.  This attribute 
         applies to both key and property attributes although it is 
         understood that the primary key is always mandatory.
;


#
# -----------------------------------------------------------------------------
#             RDDL description of relation =  'ReferenceAttributes'
#

relation_ReferenceAttributes
    _Relation.relationName	       'ReferenceAttributes'
    _Relation.cardinality              'multi-valued'
    _Relation.relationDescription
;
   A table of the characteristics of each reference key attribute
   in the RelationMembers table.
;


attribute_ReferenceAttributes.referencedRelation
    loop_
        _RelationMembers.relationName
        _RelationMembers.attributeName
        _RelationMembers.attributeType
        _RelationMembers.mandatoryAttribute
         'ReferenceAttributes'  'referencedRelation'  'primary'    'yes' 
         'ReferenceAttributes'  'referencedRelation'  'reference'  'yes' 
    _AttributeDefinition.relationName         'ReferenceAttributes'
    _AttributeDefinition.attributeName	      'referencedRelation'
    _AttributeDefinition.definition
;     The name of the target relation referenced by this attribute.
;
    _ReferenceAttributes.relationName         'ReferenceAttributes'
    _ReferenceAttributes.attributeName        'referencedRelation'
    _ReferenceAttributes.referencedRelation   'Relation'
    _ReferenceAttributes.referencedAttribute  'relationName'
    _ReferenceAttributes.nullPolicy           'disallow'
    _ReferenceAttributes.deleteAction         'cascade'
    _ReferenceAttributes.updateAction         'cascade'

attribute_ReferenceAttributes.referencedAttribute
    loop_
        _RelationMembers.relationName
        _RelationMembers.attributeName
        _RelationMembers.attributeType
        _RelationMembers.mandatoryAttribute
         'ReferenceAttributes'  'referencedAttribute'  'primary'    'yes' 
         'ReferenceAttributes'  'referencedAttribute'  'reference'  'yes' 
    _AttributeDefinition.relationName          'ReferenceAttributes'
    _AttributeDefinition.attributeName	       'referencedAttribute'
    _AttributeDefinition.definition
;     The name of the target attribute referenced by this attribute.
;
    _ReferenceAttributes.relationName          'ReferenceAttributes'
    _ReferenceAttributes.attributeName         'referencedAttribute'
    _ReferenceAttributes.referencedRelation    'RelationMembers'
    _ReferenceAttributes.referencedAttribute   'attributeName'
    _ReferenceAttributes.nullPolicy            'disallow'
    _ReferenceAttributes.deleteAction          'cascade'
    _ReferenceAttributes.updateAction          'cascade'

attribute_ReferenceAttributes.nullPolicy
    _RelationMembers.relationName	       'ReferenceAttributes'
    _RelationMembers.attributeName             'nullPolicy'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'
    _AttributeConstraints.relationName	       'ReferenceAttributes'
    _AttributeConstraints.attributeName	       'nullPolicy'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'disallow'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
         'ReferenceAttributes' 'nullPolicy'  'allow'      'The reference key may accept a null value'
         'ReferenceAttributes' 'nullPolicy'  'disallow'   'The reference key may not accept a null value'
    _AttributeDefinition.relationName          'ReferenceAttributes'
    _AttributeDefinition.attributeName	       'nullPolicy'
    _AttributeDefinition.definition
;     This attribute specifies if the reference attribute can accept null values.
;

attribute_ReferenceAttributes.updateAction
    _RelationMembers.relationName	       'ReferenceAttributes'
    _RelationMembers.attributeName             'updateAction'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'
    _AttributeConstraints.relationName	       'ReferenceAttributes'
    _AttributeConstraints.attributeName	       'updateAction'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'cascade'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
         'ReferenceAttributes' 'updateAction'  'no action' 
;              The update operation on the target of this foreign key 
               is rejected if there is any matching value of the foreign
               key in this relation.  
;
         'ReferenceAttributes' 'updateAction'  'cascade'    
;              The update operation on the target of this foreign key 
               causes a cascading update in all tuples with matching foreign keys.
;
         'ReferenceAttributes' 'updateAction'  'set null'   
;              The update operation on the target of this foreign key 
               causes the matching foreign keys in all tuples to set 
               to null is this is permitted.
;
    _AttributeDefinition.relationName         'ReferenceAttributes'
    _AttributeDefinition.attributeName        'updateAction'
    _AttributeDefinition.definition
;     This attribute specifies the action that will be taken on an attempt to 
      update the target attribute of this attribute.
;

attibute_ReferenceAttributes.deleteAction
    _RelationMembers.relationName	       'ReferenceAttributes'
    _RelationMembers.attributeName             'deleteAction'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'

    _AttributeConstraints.attributeName	       'deleteAction'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'cascade'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
         'ReferenceAttributes' 'deleteAction'  'no action' 
;              The  delete operation on the target of this foreign key 
               is rejected if there is any matching value of the foreign
               key in this relation.  
;
         'ReferenceAttributes' 'deleteAction'  'cascade'    
;              The delete operation on the target of this foreign key 
               causes a cascading delete of all tuples with matching foreign keys.
;
         'ReferenceAttributes' 'deleteAction'  'set null'   
;              The delete operation on the target of this foreign key 
               causes the matching foreign keys in all tuples to set 
               to null is this is permitted.
;
    _AttributeDefinition.relationName         'ReferenceAttributes'
    _AttributeDefinition.attributeName	      'deleteAction'
    _AttributeDefinition.definition
;     This attribute specifies the action that will be taken on an attempt to 
      delete the target attribute of this attribute.
;

#
# -----------------------------------------------------------------------------
#          RDDL description of relation =  'AttributeExamples'
#    

relation_AttributeExamples
    _Relation.relationName                  'AttributeExamples'
    _Relation.cardinality                   'multi-valued'
    _Relation.relationDescription
;
   A table of examples which pertain to an attribute.
;


attribute_AttributeExamples.example
    _RelationMembers.relationName           'AttributeExamples'
    _RelationMembers.attributeName          'example'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'no'
    _AttributeDefinition.relationName       'AttributeExamples'
    _AttributeDefinition.attributeName	    'example'
    _AttributeDefinition.definition
;     The text of the example for this attribute.
;

attribute_AttributeExamples.exampleDescription
    _RelationMembers.relationName           'AttributeExamples'
    _RelationMembers.attributeName          'exampleDescription'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'no'
    _AttributeDefinition.relationName       'AttributeExamples'
    _AttributeDefinition.attributeName      'exampleDescription'
    _AttributeDefinition.definition
;              A description associated with the attribute example text.
;

#
# -----------------------------------------------------------------------------
#            RDDL description of relation = 'AttributeConstraints'
#

relation_AttributeConstraints 
    _Relation.relationName                     'AttributeConstraints'
    _Relation.cardinality                      'single-valued'
    _Relation.relationDescription
;
   A table of identifying value constraints for attributes ... 
;

attribute_AttributeConstraints.defaultValue
    _RelationMembers.relationName              'AttributeConstraints'
    _RelationMembers.attributeName             'defaultValue'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'
    _AttributeConstraints.attributeName	       'defaultValue'
    _AttributeConstraints.defaultValue          ?
    _AttributeDefinition.relationName          'AttributeConstraints'
    _AttributeDefinition.attributeName         'defaultValue'
    _AttributeDefinition.definition
;              The default value for the attribute if it is not specified
               explicitly.  
;

attribute_attributeConstraints.attributeRange
    _RelationMembers.relationName              'AttributeConstraints'
    _RelationMembers.attributeName             'attributeRange'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'
    _AttributeDefinition.relationName          'AttributeConstraints'
    _AttributeDefinition.attributeName         'attributeRange'
    _AttributeDefinition.definition
    _AttributeDefinition.definition
;              The range of values permitted for a defined numerical item. 
               The construction is 'min:max'. If 'max' is omitted then the 
               item can have any value greater than 'min'.  
               min:max where min=max implies min is an acceptable value.
               Looped ranges are treated consecutively using logical OR.
;

attribute_AttributeConstraints.enumeratedAttribute
    _RelationMembers.relationName              'AttributeConstraints'
    _RelationMembers.attributeName             'enumeratedAttribute'
    _RelationMembers.attributeType             'property'
    _RelationMembers.mandatoryAttribute        'no'
    _AttributeConstraints.attributeName	       'enumeratedAttribute'
    _AttributeConstraints.enumeratedAttribute  'yes'
    _AttributeConstraints.defaultValue         'no'
    loop_
	_AttributeEnumeration.relationName
	_AttributeEnumeration.attributeName
	_AttributeEnumeration.enumerationValue
        _AttributeEnumeration.enumerationDescription
         'AttributeConstraints' 'enumeratedAttribute'  'yes'  'This attribute is enumerated'
         'AttributeConstraints' 'enumeratedAttribute'  'no'   'This attribute is not enumerated'
    _AttributeDefinition.relationName       'AttributeConstraints'
    _AttributeDefinition.attributeName      'enumeratedAttribute'
    _AttributeDefinition.definition
;              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.
;
    


#
# -----------------------------------------------------------------------------
#          RDDL description of relation =  'AttributeDefintion'
#    
relation_AttributeDefinition
    _Relation.relationName                  'AttributeDefinition'
    _Relation.cardinality                   'multi-valued'
    _Relation.relationDescription
;
   A table of definitions for attributes or each relation/attribute
   combinations.
;

attribute_AttributeDefinition.definition
    _RelationMembers.relationName           'AttributeDefinition'
    _RelationMembers.attributeName          'definition'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'yes'
    _AttributeDefinition.relationName       'AttributeDefinition'
    _AttributeDefinition.attributeName      'definition'
    _AttributeDefinition.definition
;              Text of the attribute definition
;


#
# -----------------------------------------------------------------------------
#            RDDL description of relation = 'AttributeEnumeration'

relation_AttributeEnumeration 
    _Relation.relationName                  'AttributeEnumeration'
    _Relation.cardinality                   'multi-valued'
    _Relation.relationDescription
;
   A table of permissible values or range of values for an attribute.
;

attribute_AttributeEnumeration.enumerationValue
    _RelationMembers.relationName           'AttributeEnumeration'
    _RelationMembers.attributeName          'enumerationValue'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'no'
    _AttributeDefinition.relationName       'AttributeEnumeration'
    _AttributeDefinition.attributeName      'enumerationValue'
    _AttributeDefinition.definition
;
       A permissible value, character or number, for the defined item.
;

attribute_AttributeEnumeration.enumerationDescription
    _RelationMembers.relationName           'AttributeEnumeration'
    _RelationMembers.attributeName          'enumerationDescription'
    _RelationMembers.attributeType          'property'
    _RelationMembers.mandatoryAttribute     'no'
    _AttributeDefinition.relationName       'AttributeEnumeration'
    _AttributeDefinition.attributeName      'enumerationDescription'
    _AttributeDefinition.definition
;              A description of a permissible value for the defined item, as
               identified by the enumeration.
;



#----------------------------------------------------------------------------




****************************************************************************
*  John Westbrook                       Ph:  (908) 445-5156                *
*  Department of Chemistry              Fax: (908) 445-5958                *
*  Rutgers University                                                      *
*  PO Box 939                        e-mail: jwest@rutchem.rutgers.edu     *
*  Piscataway, NJ 08855-0939                                               *
****************************************************************************



