SDMX Metadata Structure Structure Module The Metadata Structure structure module defines the structure of metadata structure definition constructs. MetadataStructureType is used to describe a metadata structure definition, which is defined as a collection of metadata concepts, their structure and usage when used to collect or disseminate reference metadata. MetadataStructureComponents defines the grouping of the sets of the components that make up the metadata structure definition. MetadataStructureComponentsBaseType is an abstract base type that forms the basis for the MetadataStructureComponentsType. MetadataStructureComponentsType describes the structure of the grouping of the sets of the components that make up the metadata structure definition. MetadataAttributeList defines the set of metadata attributes that can be defined as a hierarchy, for reporting reference metadata about a target object. The identification of metadata attributes must be unique at any given level of the metadata structure. Although there are XML schema constraints to help enforce this, these only apply to explicitly assigned identifiers. Identifiers inherited from a concept from which a metadata attribute takes its identity cannot be validated against this constraint. Therefore, systems processing metadata structure definitions will have to perform this check outside of the XML validation. MetadataAttributeListType describes the structure of a meta data attribute list. It comprises a set of metadata attributes that can be defined as a hierarchy. The id attribute is provided in this case for completeness. However, its value is fixed to MetadataAttributeDescriptor. MetadataAttribute defines the a metadata attribute, which is the value of an attribute, such as the instance of a coded or uncoded attribute in a metadata structure definition. MetadataAttributeBaseType is an abstract base type the serves as the basis for the MetadataAttributeType. MetadataAttributeType describes the structure of a metadata attribute. The metadata attribute takes its semantic, and in some cases it representation, from its concept identity. A metadata attribute may be coded (via the local representation), uncoded (via the text format), or take no value. In addition to this value, the metadata attribute may also specify subordinate metadata attributes. If a metadata attribute only serves the purpose of containing subordinate metadata attributes, then the isPresentational attribute should be used. Otherwise, it is assumed to also take a value. If the metadata attribute does take a value, and a representation is not defined, it will be inherited from the concept it takes its semantic from. The optional id on the metadata attribute uniquely identifies it within the metadata structured definition. If this id is not supplied, its value is assumed to be that of the concept referenced from the concept identity. Note that a metadata attribute (as identified by the id attribute) definition must be unique across the entire metadata structure definition. The minOccurs attribute indicates the minimum number of times this metadata attribute must occur within its parent object. The maxOccurs attribute indicates the maximum number of times this metadata attribute can occur within its parent object. The isPresentational attribute indicates whether the metadata attribute should allow for a value. A value of true, meaning the metadata attribute is presentational means that the attribute only contains child metadata attributes, and does not contain a value. If this attribute is not set to true, and a representation (coded or uncoded) is not defined, then the representation of the metadata attribute will be inherited from the concept from which it takes its identity. MetadataAttributeRepresentationType defines the possible local representations of a metadata attribute.