#\#CIF_2.0
##############################################################################
#                                                                            #
#                  FAKE DICTIONARY FOR TESTING PURPOSES                      #
#                                                                            #
##############################################################################
data_FAKE_COMPLEX_TYPE_DIC

    _dictionary.title            FAKE_COMPLEX_TYPE_DIC
    _dictionary.class            Reference
    _dictionary.version          0.0.5
    _dictionary.date             2020-05-10
    _dictionary.uri              http://www.fake.org/fakeComplexType.dic
    _dictionary.ddl_conformance  3.11.10
    _dictionary.namespace        FakeComplexType
    _description.text
;
    This dictionary contains definitions with complex content typs used
    mainly for validator testing purposes.
;
    loop_
    _dictionary_audit.version
    _dictionary_audit.date
    _dictionary_audit.revision
    0.0.1 2018-01-04 'Creating the dictionary'
    0.0.2 2019-06-04
;
 Added the _complex_type.list_of_four_element_lists data item.
;
    0.0.3 2019-06-07
;
 Added the _complex_type.matrix_unlimited_size data item.
;
    0.0.4 2020-03-24
;
 Added the _complex_type.three_element_list data item.
;
    0.0.5 2020-05-10
;
 Added the _complex_type.matrix_single_dimension_vector data item.
;

save_PARENT
    _definition.id               PARENT
    _definition.scope            Category
    _definition.class            Head
    _definition.update           2018-01-04
    _description.text
;
     This category is parent of all other categories in the
     FAKE_COMPLEX_TYPE_DIC dictionary.
;
    _name.category_id            FAKE_COMPLEX_TYPE_DIC
    _name.object_id              PARENT
save_

save_COMPLEX_TYPE

    _definition.id               COMPLEX_TYPE
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2017-07-15
    _description.text
;
    Data items in this category cover some of the more complex data types.
;
    _name.category_id            PARENT
    _name.object_id              COMPLEX_TYPE
    _category.key_id             '_complex_type.key'
    loop_
    _category_key.name
                                 '_complex_type.key'
    loop_
    _description_example.case
    _description_example.detail
;
 loop_
 _complex_type.key
 _complex_type.single_type_list
 1 [ 1 2 3 ]
 2 [ 3 4 5 ]
;
;
 An example of the looped category values.
;
save_

save_complex_type.key
    _definition.id               '_complex_type.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2017-07-15
    _description.text
;
 Key of the COMPLEX_TYPE category.
;
    _description.common
;
 Key of the COMPLEX_TYPE category.
;
    _name.category_id            complex_type
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Index
save_

save_complex_type.three_element_list
_definition.id                          '_complex_type.three_element_list'
_definition.scope                       Item
_definition.class                       Attribute
_definition.update                      2020-03-24
_description.text
;
 A list that must contain three elements of the Integer type.
;
    _description.common
;
 A list that must contain three elements of the Integer type.
;
_name.category_id                       complex_type
_name.object_id                         three_element_list
_type.purpose                           Composite
_type.source                            Assigned
_type.container                         List
_type.contents                          Integer
_type.dimension                         '[3]'
save_

save_complex_type.single_type_list
    _definition.id               '_complex_type.single_type_list'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2019-01-23
    _description.text
;
 A list of data items of a single type.
;
    _description.common
;
 A list of data items of a single type.
;
    _name.category_id            complex_type
    _name.object_id              single_type_list
    _type.purpose                Number
    _type.source                 Assigned
    _type.container              List
    _type.contents               Real
save_

save_complex_type.list_of_fixed_length_lists
_definition.id                          '_complex_type.list_of_fixed_length_lists'
loop_
_definition.update                      2019-01-23
_description.text
;
 A list of fixed length lists. The fixed length nested lists consist
 of two real numbers. This data item is most similar in its form
 to the _atom_type_scat.versus_stol_list data item definition from
 the CIF_CORE dictionary.
;
_name.category_id                       complex_type
_name.object_id                         list_of_fixed_length_lists
_type.purpose                           Number
_type.source                            Assigned
_type.container                         List
_type.contents                          'List(Real,Real)'
_type.dimension                         '[]'
_units.code                             none
save_

save_complex_type.list_of_four_element_lists
_definition.id                          '_complex_type.list_of_four_element_lists'
loop_
_definition.update                      2019-06-04
_description.text
;
 A list consisting of 3 four element lists. This data item is most similar
 in its form to the _model_site.adp_eigen_system data item definition from
 the CIF_CORE dictionary.
;
_name.category_id                       complex_type
_name.object_id                         list_of_four_element_lists
_type.purpose                           Number
_type.source                            Assigned
_type.container                         List
_type.contents                          'List(Real,Real,Real,Real)'
_type.dimension                         '[3]'
_units.code                             none
save_

save_complex_type.matrix_3_by_4
_definition.id                          '_complex_type.matrix_3_by_4'
loop_
_definition.update                      2019-01-23
_description.text
;
 A matrix of 3 rows and 4 columns all containing real numbers.
;
_name.category_id                       complex_type
_name.object_id                         matrix_3_by_4
_type.purpose                           Number
_type.source                            Derived
_type.container                         Matrix
_type.contents                          Real
_type.dimension                         '[3,4]'
_units.code                             none
save_

save_complex_type.matrix_unlimited_size
_definition.id                          '_complex_type.matrix_unlimited_size'
loop_
_definition.update                      2019-06-07
_description.text
;
 A matrix that does not have a size limit.
;
_name.category_id                       complex_type
_name.object_id                         matrix_no_explicit_dimension
_type.purpose                           Number
_type.source                            Derived
_type.container                         Matrix
_type.contents                          Real
_type.dimension                         '[]'
_units.code                             none
save_

save_complex_type.matrix_single_dimension_vector
_definition.id                          '_complex_type.matrix_single_dimension_vector'
loop_
_definition.update                      2020-05-10
_description.text
;
 A matrix with a single dimension that should be interpreted as a vector.
;
_name.category_id                       complex_type
_name.object_id                         matrix_single_dimension_vector
_type.purpose                           Number
_type.source                            Derived
_type.container                         Matrix
_type.contents                          Integer
_type.dimension                         '[3]'
_units.code                             none
save_
