#\#CIF_2.0
##############################################################################
#                                                                            #
#   TEST DICTIONARY WITH LOOPED CATEGORIES WITH VARIOUS CATEGORY KEYS FOR    #
#                              TESTING PURPOSES                              #
#                                                                            #
##############################################################################
data_FAKE_KEY_DIC

    _dictionary.title            TEST_KEY_DIC
    _dictionary.class            Instance
    _dictionary.version          0.3.0
    _dictionary.date             2023-04-01
    _dictionary.uri              https://www.example.com/test_key.dic
    _dictionary.ddl_conformance  4.1.0
    _dictionary.namespace        SoftwareTest
    _description.text
;
    This dictionary contains fake definitions of looped categories with
    various category keys for validator testing purposes.
;
    loop_
    _dictionary_audit.version
    _dictionary_audit.date
    _dictionary_audit.revision
    0.0.1 2018-03-29
;
  Initial release of the dictionary.
;
    0.1.0 2021-10-28
;
  Added the LOOPED_IMAG_CATEGORY and LOOPED_COMPLEX_CATEGORY categories.
;
    0.2.0 2021-11-08
;
  Added the LOOPED_WORD_CATEGORY category.
;
    0.3.0 2023-04-01
;
  Added the DREL_DEFAULT_ID_CATEGORY category.
;

save_LOOP_PARENT
    _definition.id               LOOP_PARENT
    _definition.scope            Category
    _definition.class            Head
    _definition.update           2018-03-29
    _description.text
;
     This category is parent of all other categories in the FAKE_KEY_DIC
     dictionary.
;
    _name.category_id            FAKE_KEY_DIC
    _name.object_id              LOOP_PARENT
save_

save_LOOPED_INDEX_CATEGORY
    _definition.id               LOOPED_INDEX_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key of the Index type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_INDEX_CATEGORY
    _category.key_id             '_looped_index_category.key'
    _category_key.name           '_looped_index_category.key'
save_

save_looped_index_category.key
    _definition.id               '_looped_index_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A key of the Index type content.
;
    _description.common
;
     A key of the Index type content.
;
    _name.category_id            looped_index_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Index
save_

save_looped_index_category.placeholder_content
    _definition.id               '_looped_index_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_index_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_TEXT_CATEGORY
    _definition.id               LOOPED_TEXT_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key of the Text type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_TEXT_CATEGORY
    _category.key_id             '_looped_text_category.key'
    _category_key.name           '_looped_text_category.key'
save_

save_looped_text_category.key
    _definition.id               '_looped_text_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A key of the Text type content.
;
    _description.common
;
     A key of the Text type content.
;
    _name.category_id            looped_text_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_looped_text_category.placeholder_content
    _definition.id               '_looped_text_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_text_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_WORD_CATEGORY
    _definition.id               LOOPED_WORD_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2021-11-08
    _description.text
;
    A looped category that has a category key of the Word type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_WORD_CATEGORY
    _category.key_id             '_looped_word_category.key'
    _category_key.name           '_looped_word_category.key'
save_

save_looped_word_category.key
    _definition.id               '_looped_word_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2021-11-08
    _description.text
;
     A key of the Word type content.
;
    _description.common
;
     A key of the Word type content.
;
    _name.category_id            looped_word_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Word
save_

save_looped_word_category.placeholder_content
    _definition.id               '_looped_word_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2021-11-08
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_word_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_CODE_CATEGORY
    _definition.id               LOOPED_CODE_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key of the Code type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_CODE_CATEGORY
    _category.key_id             '_looped_code_category.key'
    _category_key.name           '_looped_code_category.key'
save_

save_looped_code_category.key
    _definition.id               '_looped_code_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A key of the Code type content.
;
    _description.common
;
     A key of the Code type content.
;
    _name.category_id            looped_code_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Code
save_

save_looped_code_category.placeholder_content
    _definition.id               '_looped_code_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_code_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_NAME_CATEGORY
    _definition.id               LOOPED_NAME_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key of the Name type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_NAME_CATEGORY
    _category.key_id             '_looped_name_category.key'
    _category_key.name           '_looped_name_category.key'
save_

save_looped_name_category.key
    _definition.id               '_looped_name_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A key of the Name type content.
;
    _description.common
;
     A key of the Name type content.
;
    _name.category_id            looped_name_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Name
save_

save_looped_name_category.placeholder_content
    _definition.id               '_looped_name_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_name_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_REAL_CATEGORY
    _definition.id               LOOPED_REAL_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key of the Real type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_REAL_CATEGORY
    _category.key_id             '_looped_real_category.key'
    _category_key.name           '_looped_real_category.key'
save_

save_looped_real_category.key
    _definition.id               '_looped_real_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A key of the Real type content.
;
    _description.common
;
     A key of the Real type content.
;
    _name.category_id            looped_real_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Real
save_

save_looped_real_category.placeholder_content
    _definition.id               '_looped_real_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_real_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_IMAG_CATEGORY
    _definition.id               LOOPED_IMAG_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2021-10-28
    _description.text
;
    A looped category that has a category key of the Imag type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_IMAG_CATEGORY
    _category.key_id             '_looped_imag_category.key'
    _category_key.name           '_looped_imag_category.key'
save_

save_looped_imag_category.key
    _definition.id               '_looped_imag_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2021-10-28
    _description.text
;
     A key of the Imag type content.
;
    _description.common
;
     A key of the Imag type content.
;
    _name.category_id            looped_imag_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Imag
save_

save_looped_imag_category.placeholder_content
    _definition.id               '_looped_imag_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2021-10-28
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_imag_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_COMPLEX_CATEGORY
    _definition.id               LOOPED_COMPLEX_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2021-10-28
    _description.text
;
    A looped category that has a category key of the Complex type content.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_COMPLEX_CATEGORY
    _category.key_id             '_looped_complex_category.key'
    _category_key.name           '_looped_complex_category.key'
save_

save_looped_complex_category.key
    _definition.id               '_looped_complex_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2021-10-28
    _description.text
;
     A key of the Complex type content.
;
    _description.common
;
     A key of the Complex type content.
;
    _name.category_id            looped_complex_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Complex
save_

save_looped_complex_category.placeholder_content
    _definition.id               '_looped_complex_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2021-10-28
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_complex_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_DREL_CATEGORY
    _definition.id               LOOPED_DREL_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key the value of which can be
    evaluated using dREL methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_DREL_CATEGORY
    _category.key_id             '_looped_drel_category.key'
    loop_
    _category_key.name
    '_looped_drel_category.component_1'
    '_looped_drel_category.component_2'
    '_looped_drel_category.component_3'
save_

save_looped_drel_category.key
    _definition.id               '_looped_drel_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Category key that has a dREL evaluation method.
;
    _description.common
;
     Category key that has a dREL evaluation method.
;
    _name.category_id            looped_drel_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              List
    _type.contents               Integer
    _type.dimension              '[3]'
     loop_
    _method.purpose
    _method.expression
     Evaluation
;
     With l as looped_drel_category
 
         _looped_drel_category.key = 
            [ l.component_1, l.component_2, l.component_3 ]
;
save_

save_looped_drel_category.component_1
    _definition.id               '_looped_drel_category.component_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Meaningful integer value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful integer value that is also used to construct the primary key.
;
    _name.category_id            looped_drel_category
    _name.object_id              component_1
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
save_

save_looped_drel_category.component_2
    _definition.id               '_looped_drel_category.component_2'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Meaningful integer value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful integer value that is also used to construct the primary key.
;
    _name.category_id            looped_drel_category
    _name.object_id              component_2
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
save_

save_looped_drel_category.component_3
    _definition.id               '_looped_drel_category.component_3'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Meaningful integer value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful integer value that is also used to construct the primary key.
;
    _name.category_id            looped_drel_category
    _name.object_id              component_3
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
save_

save_looped_drel_category.placeholder_content
    _definition.id               '_looped_drel_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_drel_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

################################################################################

save_DREL_DEFAULT_ID_KEY

    _definition.id               DREL_DEFAULT_ID_KEY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2023-04-01
    _description.text
;
    A looped category that has a category key the default value of which
    can be evaluated using dREL methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              DREL_DEFAULT_ID_KEY
    _category.key_id             '_drel_default_id_key.id'

save_

save_drel_default_id_key.id

    _definition.id               '_drel_default_id_key.id'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that has a dREL definition method which assigns a default value.
;
    _description.common
;
  Category key that has a dREL definition method which assigns a default value.
;
    _name.category_id            drel_default_id_key
    _name.object_id              id
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     loop_
    _method.purpose
    _method.expression
     Definition
;
    _enumeration.default = Current_row(drel_default_id_key.id)
;

save_

save_drel_default_id_key.item_1

    _definition.id               '_drel_default_id_key.item_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            drel_default_id_key
    _name.object_id              item_1
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text

save_

################################################################################

save_DREL_NO_DEFAULT_ID_KEY

    _definition.id               DREL_NO_DEFAULT_ID_KEY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2023-04-01
    _description.text
;
    A looped category that has a category key the default value of which
    cannot be evaluated using the provided dREL methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              DREL_NO_DEFAULT_ID_KEY
    _category.key_id             '_drel_no_default_id_key.id'

save_

save_drel_no_default_id_key.id

    _definition.id               '_drel_no_default_id_key.id'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that has several dREL methods, none of which assign it a default
  value. Therefore, the item is should not be treated as evaluatable.
;
    _description.common
;
  Category key that has several dREL methods, none of which assign it a default
  value. Therefore, the item is should not be treated as evaluatable.
;
    _name.category_id            drel_no_default_id_key
    _name.object_id              id
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     loop_
    _method.purpose
    _method.expression
     Definition
;
     _units.code = none
;
     Validation
;
     _drel_no_default_id_key.id > 0
;

save_

save_drel_no_default_id_key.item_1

    _definition.id               '_drel_no_default_id_key.item_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            drel_no_default_id_key
    _name.object_id              item_1
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text

save_

################################################################################

save_DREL_DEFAULT_SINGLE_KEY_NAME
    _definition.id               DREL_DEFAULT_SINGLE_KEY_NAME
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2023-04-01
    _description.text
;
    A looped category that has a single category key name the default value
    of which can be evaluated using dREL methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              DREL_DEFAULT_SINGLE_KEY_NAME
    _category_key.name           '_drel_default_single_key_name.id'
save_

save_drel_default_single_key_name.id

    _definition.id               '_drel_default_single_key_name.id'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that has a dREL definition method which assigns a default value.
;
    _description.common
;
  Category key that has a dREL definition method which assigns a default value.
;
    _name.category_id            drel_default_single_key_name
    _name.object_id              id
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     loop_
    _method.purpose
    _method.expression
     Definition
;
    _enumeration.default = Current_row(drel_default_single_key_name.id)
;

save_

save_drel_default_single_key_name.item_1

    _definition.id               '_drel_default_single_key_name.item_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            drel_default_single_key_name
    _name.object_id              item_1
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text

save_

################################################################################

save_DREL_DEFAULT_MULTI_KEY_NAME

    _definition.id               DREL_DEFAULT_MULTI_KEY_NAME
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2023-04-01
    _description.text
;
    A looped category that has a category key which consists of multiple data
    items. The values of some of the data items can be evaluated using dREL
    Evaluation or Definition methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              DREL_DEFAULT_MULTI_KEY_NAME
    loop_
    _category_key.name
        '_drel_default_multi_key_name.id_1'
        '_drel_default_multi_key_name.id_2'
        '_drel_default_multi_key_name.id_3'
        '_drel_default_multi_key_name.id_4'

save_

save_drel_default_multi_key_name.id_1

    _definition.id               '_drel_default_multi_key_name.id_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that has a dREL Evaluation method.
;
    _description.common
;
  Category key that has a dREL Evaluation method.
;
    _name.category_id            drel_default_multi_key_name
    _name.object_id              id_1
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     loop_
    _method.purpose
    _method.expression
     Evaluation
;
    _drel_default_multi_key_name.id_1 = 1;
;

save_

save_drel_default_multi_key_name.id_2

    _definition.id               '_drel_default_multi_key_name.id_2'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that has a dREL Definition method which assigns a default value.
;
    _description.common
;
  Category key that has a dREL Definition method which assigns a default value.
;
    _name.category_id            drel_default_multi_key_name
    _name.object_id              id_2
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     loop_
    _method.purpose
    _method.expression
     Definition
;
    _enumeration.default = Current_row(drel_default_multi_key_name.id_2)
;

save_

save_drel_default_multi_key_name.id_3

    _definition.id               '_drel_default_multi_key_name.id_3'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that has several dREL methods, none of which assign it a default
  value. Therefore, the item is should not be treated as evaluatable.
;
    _description.common
;
  Category key that has several dREL methods, none of which assign it a default
  value. Therefore, the item is should not be treated as evaluatable.
;
    _name.category_id            drel_default_multi_key_name
    _name.object_id              id_3
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     loop_
    _method.purpose
    _method.expression
     Definition
;
    _units.code = none
;
     Validation
;
    drel_default_multi_key_name.id_3 > 0
;

save_

save_drel_default_multi_key_name.id_4

    _definition.id               '_drel_default_multi_key_name.id_4'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
  Category key that does not have any dREL methods.
;
    _description.common
;
  Category key that does not have any dREL methods.
;
    _name.category_id            drel_default_multi_key_name
    _name.object_id              id_4
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer

save_

save_drel_default_multi_key_name.item_1
    _definition.id               '_drel_default_multi_key_name.item_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2023-04-01
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            drel_default_multi_key_name
    _name.object_id              item_1
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

################################################################################

save_LOOPED_COMPOSITE_CATEGORY
    _definition.id               LOOPED_COMPOSITE_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-03-29
    _description.text
;
    A looped category that has a category key the value of which can be
    evaluated using dREL methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_COMPOSITE_CATEGORY
    _category.key_id             '_looped_composite_category.key'
    loop_
    _category_key.name
    '_looped_composite_category.component_1'
    '_looped_composite_category.component_2'
    '_looped_composite_category.component_3'
save_

save_looped_composite_category.key
    _definition.id               '_looped_composite_category.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Category key that has a dREL evaluation method.
;
    _description.common
;
     Category key that has a dREL evaluation method.
;
    _name.category_id            looped_composite_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              List
    _type.contents               Integer
    _type.dimension              '[3]'
     loop_
    _method.purpose
    _method.expression
     Evaluation
;
     With l as looped_composite_category
 
         _looped_drel_category.key = 
            [ l.component_1, l.component_2, l.component_3 ]
;
save_

save_looped_composite_category.component_1
    _definition.id               '_looped_composite_category.component_1'
     loop_
     _alias.definition_id        '_looped_composite_category_component_1'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Meaningful integer value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful integer value that is also used to construct the primary key.
;
    _name.category_id            looped_composite_category
    _name.object_id              component_1
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     _enumeration.default        42
save_

save_looped_composite_category.component_2
    _definition.id               '_looped_composite_category.component_2'
     loop_
     _alias.definition_id        '_looped_composite_category_component_2'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Meaningful code value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful code value that is also used to construct the primary key.
;
    _name.category_id            looped_composite_category
    _name.object_id              component_2
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Code
save_

save_looped_composite_category.component_3
    _definition.id               '_looped_composite_category.component_3'
     loop_
     _alias.definition_id        '_looped_composite_category_component_3'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     Meaningful text value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful text value that is also used to construct the primary key.
;
    _name.category_id            looped_composite_category
    _name.object_id              component_3
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_looped_composite_category.placeholder_content
    _definition.id               '_looped_composite_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-03-29
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_composite_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_TYPED_COMPOSITE_CATEGORY
    _definition.id               LOOPED_TYPED_COMPOSITE_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-04-05
    _description.text
;
    A looped category that has a category key the value of which can be
    evaluated using dREL methods.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_TYPED_COMPOSITE_CATEGORY
    loop_
    _category_key.name
    '_looped_typed_composite_category.integer'
    '_looped_typed_composite_category.code'
    '_looped_typed_composite_category.text'
    '_looped_typed_composite_category.real'
save_

save_looped_typed_composite_category.integer
    _definition.id               '_looped_typed_composite_category.integer'
     loop_
     _alias.definition_id        '_looped_typed_composite_category_integer'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-04-05
    _description.text
;
     Meaningful integer value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful integer value that is also used to construct the primary key.
;
    _name.category_id            looped_typed_composite_category
    _name.object_id              integer
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
     _enumeration.default        42
save_

save_looped_typed_composite_category.code
    _definition.id               '_looped_typed_composite_category.code'
     loop_
     _alias.definition_id        '_looped_typed_composite_category_code'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-04-05
    _description.text
;
     Meaningful code value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful code value that is also used to construct the primary key.
;
    _name.category_id            looped_typed_composite_category
    _name.object_id              code
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Code
save_

save_looped_typed_composite_category.text
    _definition.id               '_looped_typed_composite_category.text'
     loop_
     _alias.definition_id        '_looped_typed_composite_category_text'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-04-05
    _description.text
;
     Meaningful text value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful text value that is also used to construct the primary key.
;
    _name.category_id            looped_typed_composite_category
    _name.object_id              text
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_looped_typed_composite_category.real
    _definition.id               '_looped_typed_composite_category.real'
     loop_
     _alias.definition_id        '_looped_typed_composite_category_real'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-04-05
    _description.text
;
     Meaningful real value that is also used to construct the primary key.
;
    _description.common
;
     Meaningful real value that is also used to construct the primary key.
;
    _name.category_id            looped_typed_composite_category
    _name.object_id              real
    _type.purpose                Measurand
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Real
save_

save_looped_typed_composite_category.placeholder_content
    _definition.id               '_looped_typed_composite_category.placeholder_content'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-04-05
    _description.text
;
     A placeholder data item.
;
    _description.common
;
     A placeholder data item.
;
    _name.category_id            looped_typed_composite_category
    _name.object_id              placeholder_content
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_MAIN_CATEGORY
    _definition.id               LOOPED_MAIN_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-12-25
    _description.text
;
    A looped category that has a looped subcategory.
;
    _name.category_id            LOOP_PARENT
    _name.object_id              LOOPED_MAIN_CATEGORY
    _category.key_id             '_looped_main_category.key'
    _category_key.name           '_looped_main_category.key'
save_

save_looped_main_category.key
    _definition.id               '_looped_main_category.key'
     _alias.definition_id        '_looped_main_category.aliased_key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-12-25
    _description.text
;
     A key of the main looped category.
;
    _description.common
;
     A key of the main looped category.
;
    _name.category_id            looped_main_category
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Index
save_

save_looped_main_category.text_item
    _definition.id               '_looped_main_category.text_item'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-12-25
    _description.text
;
     A main category text field.
;
    _description.common
;
     A main category text field.
;
    _name.category_id            looped_main_category
    _name.object_id              text_item
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_LOOPED_SUB_CATEGORY
    _definition.id               LOOPED_SUB_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-12-25
    _description.text
;
    A looped subcategory that has a looped subsubcategory.
;
    _name.category_id            LOOPED_MAIN_CATEGORY
    _name.object_id              LOOPED_SUB_CATEGORY
    _category.key_id             '_looped_sub_category.key'
    _category_key.name           '_looped_sub_category.key'
save_

save_looped_sub_category.key
    _definition.id               '_looped_sub_category.key'
     _alias.definition_id        '_looped_sub_category.aliased_key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-12-25
    _description.text
;
     A key of the looped subcategory.
;
    _description.common
;
     A key of the looped subcategory.
;
    _name.category_id            looped_sub_category
    _name.object_id              key
    _name.linked_item_id         '_looped_main_category.key'
    _type.purpose                Link
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Index
save_

save_looped_sub_category.text_item
    _definition.id               '_looped_sub_category.text_item'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-12-25
    _description.text
;
     A text field of the subcategory.
;
    _description.common
;
     A text field of the subcategory.
;
    _name.category_id            looped_sub_category
    _name.object_id              text_item
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_

save_looped_sub_category.integer_item
    _definition.id               '_looped_sub_category.integer_item'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2020-02-11
    _description.text
;
     An integer field of the subcategory.
;
    _description.common
;
     Am integer field of the subcategory.
;
    _name.category_id            looped_sub_category
    _name.object_id              integer_item
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
save_

save_LOOPED_SUB_SUB_CATEGORY
    _definition.id               LOOPED_SUB_SUB_CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-12-25
    _description.text
;
    A looped subsubcategory.
;
    _name.category_id            LOOPED_SUB_CATEGORY
    _name.object_id              LOOPED_SUB_SUB_CATEGORY
    _category.key_id             '_looped_sub_sub_category.key'
    _category_key.name           '_looped_sub_sub_category.key'
save_

save_looped_sub_sub_category.key
    _definition.id               '_looped_sub_sub_category.key'
     _alias.definition_id        '_looped_sub_sub_category.aliased_key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-12-25
    _description.text
;
     A key of the looped subsubcategory.
;
    _description.common
;
     A key of the looped subsubcategory.
;
    _name.category_id            looped_sub_sub_category
    _name.object_id              key
    _name.linked_item_id         '_looped_sub_category.key'
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Index
save_

save_looped_sub_sub_category.text_item
    _definition.id               '_looped_sub_sub_category.text_item'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-12-25
    _description.text
;
     A text field of the subsubcategory.
;
    _description.common
;
     A text field of the subsubcategory.
;
    _name.category_id            looped_sub_sub_category
    _name.object_id              text_item
    _type.purpose                Describe
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Text
save_
