##############################################################################
#                                                                            #
#                  DDL1 DATA ITEM MERGE BASE TEST DICTIONARY                 #
#                  -----------------------------------------                 #
#                                                                            #
#  This dictionary should only be used for software testing purposes.        #
##############################################################################

data_on_this_dictionary
_dictionary_name            ddl1_merge_base.dic
_dictionary_version         1.0.0
_dictionary_update          2020-02-19
_dictionary_history
;
 2020-02-19 Created the dictionary. A.V.
;

data_ddl1_merge_base_loop_[]
_name                      '_ddl1_merge_base_loop_[]'
_category                    category_overview
_type                        null
_definition
;
 A looped category that contains data items that are intended to be
 updated when merged with the 'ddl1_merge_update.dic' dictionary.
;

##
# The '_ddl1_merge_base_loop_id' definition data block is intended to be
# updated by the '_ddl1_merge_base_loop_id_update' data block from the
# 'ddl1_merge_base.dic' dictionary. The update adds additional values
# to the '_list_link_child' data item loop. This is an artificial example
# of a situation that is actually present in modern IUCr dictionaries.
#
# For example, the '_atom_site_label_rho' definition data block from
# the 'cif_rho.dic' dictionary updates the definition of the '_atom_site_label'
# data item from the 'cif_core.dic' dictionary.
##
data_ddl1_merge_base_loop_id
_name                      '_ddl1_merge_base_loop_id'
_category                    ddl1_merge_base_loop
_list                        yes
_list_mandatory              yes
_type                        char
loop_
_list_link_child
'_ddl1_merge_base_loop_sub_id'
_definition
;
 Data item that serves as a key of the 'DDL1_MERGE_BASE_LOOP' category.
;

##
# The 'ddl1_merge_base_loop_enumeration' definition data block is intended
# to be updated by the '_ddl1_merge_base_loop_enumeration_update' data block
# from the 'ddl1_merge_base.dic' dictionary. The update adds additional
# _enumeration values.
##
data_ddl1_merge_base_loop_enumeration
_name                      '_ddl1_merge_base_loop_enumeration'
_category                    ddl1_merge_base_loop
_list_reference            '_ddl1_merge_base_loop_id'
_list                        yes
_type                        char
_definition
;
 Data item with enumeration values.
;
loop_
_enumeration
a
B
c
D

##
# The 'ddl1_merge_base_loop_enumeration_with_details' definition data block
# is intended to be updated by the '_ddl1_merge_base_loop_enumeration_with_details_update'
# data block from the 'ddl1_merge_base.dic' dictionary. The update adds additional
# _enumeration and _enumeration_details values.
##
data_ddl1_merge_base_loop_enumeration_with_details
_name                      '_ddl1_merge_base_loop_enumeration_with_details'
_category                    ddl1_merge_base_loop
_list_reference            '_ddl1_merge_base_loop_id'
_list                        yes
_type                        char
_definition
;
 Data item with enumeration values and descriptions.
;
loop_
_enumeration
_enumeration_detail
x1 'The first variable'
x2 'The second variable'
x3 'The third variable'

data_ddl1_merge_base_loop_sub_id
_name                      '_ddl1_merge_base_loop_sub_id'
_category                    ddl1_merge_base_loop
_list_link_parent          '_ddl1_merge_base_loop_id'
_list                        yes
_type                        char
_definition
;
 Data item that serves as a subcategory key of the 'DDL1_MERGE_BASE_LOOP'
 category.
;

data_ddl1_merge_base_loop_sub_item
_name                      '_ddl1_merge_base_loop_sub_item'
_category                    ddl1_merge_base_loop
_list                        yes
_type                        char
_list_reference            '_ddl1_merge_base_loop_sub_id'
_definition
;
 Data item that belongs to the subcategory of the 'DDL1_MERGE_BASE_LOOP'
 category.
;

data_ddl1_merge_base_override_[]
_name                      '_ddl1_merge_base_override_[]'
_category                    category_overview
_type                        null
_definition
;
 A looped category that contains data items with properties that are
 intended to be overriden when merged with the 'ddl1_merge_update.dic'
 dictionary.
;

data_ddl1_merge_base_override_id
_name                      '_ddl1_merge_base_override_id'
_category                    ddl1_merge_base_override
_list                        yes
_list_mandatory              yes
_type                        char
_definition
;
 Data item that serves as a key of the 'DDL1_MERGE_BASE_OVERRIDE' category.
;

data_ddl1_merge_base_override_type
_name                      '_ddl1_merge_base_override_type'
_category                    ddl1_merge_base_override
_list                        yes
_type                        numb
_definition
;
 Data item which should change its type from 'numb' to 'char' when
 merged with the 'ddl1_merge_update.dic' dictionary.
;

data_ddl1_merge_base_override_range
_name                      '_ddl1_merge_base_override_range'
_category                    ddl1_merge_base_override
_list                        yes
_type                        numb
_enumeration_range           -42:13
_definition
;
 Data item which should change its value range from [-42; 13] to [-13; 42]
 when merged with the 'ddl1_merge_update.dic' dictionary.
;
