Wiki source code of Part IV. Data
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{box title="**Contents**"}} | ||
| 2 | {{toc/}} | ||
| 3 | {{/box}} | ||
| 4 | |||
| 5 | = 1 Introduction = | ||
| 6 | |||
| 7 | The first change in the data and metadata message is one of terminology. In order to foster consistency in the standard, the names and namespaces of the data and metadata message have been changed. The namespaces now have a uniform format of /data/format and /metadata/format. This also applies to the message names as well, where the names follow the pattern of FormatData (e.g. StructuredData and GenericMetadata). | ||
| 8 | |||
| 9 | For data messages, since (% style="color:#e74c3c" %)version(%%) 3.0 only the (data-)structure-specific format is maintained, the generic format being deprecated. The structure-specific data message combines the principles of the former compact and cross-sectional formats into one more generalised format. All data can be exchanged as either an un-grouped collection of observations, each specifying a full key, or it can be exchanged as data grouped into series with any single [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] placed at the observation level. | ||
| 10 | |||
| 11 | A base schema now imposes a strict format for the generated structure-specific schemas. This not only allows performing the required validations, but the messages will also be much simpler to process as the format will always use the same element names. | ||
| 12 | |||
| 13 | For metadata messages, since (% style="color:#e74c3c" %)version(%%) 3.0, in opposite, only the generic format is maintained, the (metadata-)structure-specific format being deprecated. | ||
| 14 | |||
| 15 | = 2 Schema Documentation = | ||
| 16 | |||
| 17 | == 2.1 Structure-Specific Data Namespace == | ||
| 18 | |||
| 19 | http://www.sdmx.org/resources/sdmxml/schemas/v3_1/data/structurespecific | ||
| 20 | |||
| 21 | === 2.1.1 Summary === | ||
| 22 | |||
| 23 | Referenced Namespaces: | ||
| 24 | |||
| 25 | (% style="width:987.294px" %) | ||
| 26 | |(% style="width:593px" %)**Namespace**|(% style="width:391px" %)**Prefix** | ||
| 27 | |(% style="width:593px" %)http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|(% style="width:391px" %)common | ||
| 28 | |(% style="width:593px" %)http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3\_1/metadata/generic|(% style="width:391px" %)metadata | ||
| 29 | |(% style="width:593px" %)http:~/~/www.w3.org/2001/XMLSchema|(% style="width:391px" %)xs | ||
| 30 | |||
| 31 | Contents: | ||
| 32 | 6 Complex Types | ||
| 33 | |||
| 34 | === 2.1.2 Complex Types === | ||
| 35 | |||
| 36 | //**DataSetType:**// DataSetType is the abstract type which defines the base structure for any [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] specific [[data set>>doc:sdmx:Glossary.Data set.WebHome]]. A derived [[data set>>doc:sdmx:Glossary.Data set.WebHome]] type will be created that is specific to a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] and the details of the organisation of the data (i.e. which [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] is the observation [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]). Data is organised into either a collection of series (grouped observations) or a collection of un-grouped observations. The derived [[data set>>doc:sdmx:Glossary.Data set.WebHome]] type will restrict this choice to be either grouped or un-grouped observations. If this [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] is "AllDimensions" then the derived [[data set>>doc:sdmx:Glossary.Data set.WebHome]] type must consist of a collection of un-grouped observations; otherwise, the [[data set>>doc:sdmx:Glossary.Data set.WebHome]] will contain a collection of series with the observations in the series disambiguated by the specified [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%). This [[data set>>doc:sdmx:Glossary.Data set.WebHome]] is capable of containing data (observed values) and/or documentation (data and metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values) and can be used for [[incremental updates>>doc:sdmx:Glossary.Incremental update.WebHome]] and deletions (i.e. only the relevant updates or deletes are exchanged). It is assumed that each series or un-grouped observation will be distinct in its purpose. For example, if series contains both data and documentation, it assumed that each series will have a unique key. If the series contains only data or only documentation, then it is possible that another series with the same key might exist, but with not with the same purpose (i.e. to provide data or documentation) as the first series. This base type is designed such that derived types can be processed in a generic manner; it assures that [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] specific data will have a consistent structure. The group, series, obs, and atts elements are unqualified, meaning that they are not qualified with a namespace in an instance. This means that in the derived [[data set>>doc:sdmx:Glossary.Data set.WebHome]] types, the elements will always be the same, regardless of the target namespace of the schemas which defines these derived types. This allows for consistent processing of the structure without regard to what the namespace might be for the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] specific schema. | ||
| 37 | |||
| 38 | Derivation: | ||
| 39 | |||
| 40 | AnnotableType (extension) | ||
| 41 | DataSetType | ||
| 42 | |||
| 43 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 44 | structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod? | ||
| 45 | |||
| 46 | Content: | ||
| 47 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, DataProvider?, (Atts|Group|Series|Obs)*, Metadata? | ||
| 48 | |||
| 49 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 50 | |||
| 51 | (% style="width:1152.29px" %) | ||
| 52 | |**Name**|**Type**|**Documentation** | ||
| 53 | |structureRef|xs:IDREF|The structureRef contains a reference to a structural specification in the header of a data or [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] message. The structural specification details which structure the data or [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] conforms to, as well as providing additional information such as how the data is structure (e.g. which [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] occurs at the observation (% style="color:#e74c3c" %)level(%%) for a [[data set>>doc:sdmx:Glossary.Data set.WebHome]]). | ||
| 54 | |setID|IDType|The setID provides an identification of the data or metadata set. | ||
| 55 | |action|ActionType|The action [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates whether the file is merging, replacing, or deleting. | ||
| 56 | |reportingBeginDate|BasicTimePeriodType|The reportingBeginDate indicates the inclusive start time of the data reported in the data or metadata set. | ||
| 57 | |reportingEndDate|BasicTimePeriodType|The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set. | ||
| 58 | |validFromDate|xs:dateTime|The validFromDate indicates the inclusive start time indicating the validity of the information in the data or metadata set. | ||
| 59 | |validToDate|xs:dateTime|The validToDate indicates the inclusive end time indicating the validity of the information in the data or metadata set. | ||
| 60 | |publicationYear|xs:gYear|The publicationYear holds the ISO 8601 four-digit year. | ||
| 61 | |publicationPeriod|ObservationalTimePeriodType|The publicationPeriod specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force (i.e., "Q1 2005" if that is the time of publication for a [[data set>>doc:sdmx:Glossary.Data set.WebHome]] published on a quarterly basis). | ||
| 62 | |||
| 63 | Element Documentation: | ||
| 64 | |||
| 65 | (% style="width:1154.29px" %) | ||
| 66 | |**Name**|**Type**|**Documentation** | ||
| 67 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 68 | |DataProvider|DataProviderReferenceType|DataProvider contains a reference to the provider for the [[data set>>doc:sdmx:Glossary.Data set.WebHome]]. | ||
| 69 | |Atts|*AttsType*|Atts contains a set of data or metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values with an [[attachment level>>doc:sdmx:Glossary.Attachment level.WebHome]] of none (i.e. [[data set>>doc:sdmx:Glossary.Data set.WebHome]] (% style="color:#e74c3c" %)level(%%)) or reported against a partial set of [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values. | ||
| 70 | |Group|*GroupType*|Group contains a reference to a defined group in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] along with its key (if necessary) and values for the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] which are associated with the group. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is associated to a group by either an explicit group relationship or by a group attachment when the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] has a relationship with a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] which is a member of this group. | ||
| 71 | |Series|*SeriesType*|Series contains a collection of observations that share a common key (set of [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values). The key of a series is every [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] defined in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]], save the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%). In addition to the key and observations, the series contains values for data and metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] which have a relationship with any [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] that is part of the [[series key>>doc:sdmx:Glossary.Series key.WebHome]], so long as the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] does not specify an attachment group or also has a relationship with the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] declared to be at the observation (% style="color:#e74c3c" %)level(%%). | ||
| 72 | |Obs|*ObsType*|Obs is an un-grouped observation. This observation has a key which is a set of values for all [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] declared in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. In addition to the key, the value of the observation can be provided along with values for all data and metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] which have an association with the observation or any [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (so long as it does not specify a group attachment). | ||
| 73 | |Metadata|MetadataSetType|Allows for attachment of [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] against to the [[data set>>doc:sdmx:Glossary.Data set.WebHome]]. | ||
| 74 | |||
| 75 | //**GroupType:**// GroupType is the abstract type which defines a structure which is used to communicate [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values for a group defined in a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. The group can consist of either a subset of the [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] defined by the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]], or an association to an attachment (% style="color:#e74c3c" %)constraint(%%), which in turn defines key sets to which [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] can be attached. In the case that the group is based on an attachment (% style="color:#e74c3c" %)constraint(%%), only the identification of group is provided. It is expected that a system which is processing this will relate that identifier to the key sets defined in the (% style="color:#e74c3c" %)constraint(%%) and apply the values provided for the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] appropriately. [[Data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] schemas will drive types based on this for each group defined in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. Both the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values which make up the key (if applicable) and the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values associated with the group will be represented with XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived group type will refine this structure so that the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are explicit. The XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be given a name based on the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]'s identifier. These XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be unqualified (meaning they do not have a namespace associated with them). The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be required while the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be optional. To allow for generic processing, it is required that the only unqualified XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] in the derived group type be for the group [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] and data or metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] declared in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. If additional [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 76 | |||
| 77 | Derivation: | ||
| 78 | |||
| 79 | AnnotableType (extension) | ||
| 80 | GroupType | ||
| 81 | |||
| 82 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 83 | type? | ||
| 84 | |||
| 85 | Content: | ||
| 86 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Comp*, Metadata? | ||
| 87 | |||
| 88 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 89 | |||
| 90 | (% style="width:1044.29px" %) | ||
| 91 | |**Name**|**Type**|(% style="width:913px" %)**Documentation** | ||
| 92 | |type|IDType|(% style="width:913px" %)The type [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] reference the identifier of the group as defined in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. This is optional, but derived group types will provide a fixed value for this so that it always available in the post validation information set. This allows the group to be processed in a generic manner. | ||
| 93 | |||
| 94 | Element Documentation: | ||
| 95 | |||
| 96 | (% style="width:1055.29px" %) | ||
| 97 | |**Name**|**Type**|(% style="width:717px" %)**Documentation** | ||
| 98 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|(% style="width:717px" %)[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 99 | |Comp|//CompType//|(% style="width:717px" %)Comp contains the details of group (% style="color:#e74c3c" %)level(%%) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that have complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] and cannot be expressed as XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 100 | |Metadata|MetadataSetType|(% style="width:717px" %)Allows for attachment of [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] against to the group. | ||
| 101 | |||
| 102 | //**SeriesType:**// SeriesType is the abstract type which defines a structure which is used to group a collection of observations which have a key in common. The key for a series is every [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] defined in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] save the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] declared to be at the observation (% style="color:#e74c3c" %)level(%%) for this [[data set>>doc:sdmx:Glossary.Data set.WebHome]]. Note, if the schema is generated against a [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] with a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)constraint(%%), they key includes only the [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] defined in the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)constraint(%%). In addition to observations, values can be provided for data and metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] which are associated with the [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] which make up this [[series key>>doc:sdmx:Glossary.Series key.WebHome]] (so long as the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] do not specify a group attachment or also have a relationship with the observation [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]). It is possible for the series to contain only observations or only [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values, or both. [[Data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] schemas will derive a type based on this that is specific to the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] and the variation of the format being expressed in the schema. Both the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values which make up the key and the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values associated with the key [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] will be represented with XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived series type will refine this structure so that the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are explicit. The XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be given a name based on the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]'s identifier. These XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be unqualified (meaning they do not have a namespace associated with them). The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be required while the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be optional. To allow for generic processing, it is required that the only unqualified XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] in the derived group type be for the series [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] and [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] declared in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. If additional [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 103 | |||
| 104 | Derivation: | ||
| 105 | |||
| 106 | AnnotableType (extension) | ||
| 107 | SeriesType | ||
| 108 | |||
| 109 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 110 | TIME_PERIOD? | ||
| 111 | |||
| 112 | Content: | ||
| 113 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Comp*, Obs*, Metadata? | ||
| 114 | |||
| 115 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 116 | |||
| 117 | (% style="width:1084.29px" %) | ||
| 118 | |**Name**|**Type**|**Documentation** | ||
| 119 | |TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is an explict [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. This is declared in the base schema since it has a fixed identifier and [[representation>>doc:sdmx:Glossary.Representation.WebHome]]. The derived series type will either require or prohibit this [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], depending on whether time is the observation [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. If the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] specifies a more specific [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of time the derived type will restrict the type definition to the appropriate type. | ||
| 120 | |||
| 121 | Element Documentation: | ||
| 122 | |||
| 123 | (% style="width:1093.29px" %) | ||
| 124 | |**Name**|**Type**|**Documentation** | ||
| 125 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 126 | |Comp|//CompType//|Comp contains the details of series (% style="color:#e74c3c" %)level(%%) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that have complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] and cannot be expressed as XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 127 | |Obs|//ObsType//| | ||
| 128 | |Metadata|MetadataSetType|Allows for attachment of [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] against to the series. | ||
| 129 | |||
| 130 | //**CompType:**// CompType is the abstract base for any [[component>>doc:sdmx:Glossary.Component.WebHome]] value (e.g. a data or metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], or a [[measure>>doc:sdmx:Glossary.Measure.WebHome]]) that cannot be represented as an XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. For example, a repeated value, a text value in multiple languages, or a value with structured text (XHTML) cannot be expressed as an XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. This type is meant to be restricted based on the [[component>>doc:sdmx:Glossary.Component.WebHome]] to restrict the cardinality and type of its Value element to conform to the [[component>>doc:sdmx:Glossary.Component.WebHome]] definition. The type of the value element should be restricted to common:SimpleValueType, common:TextValueType, or common:StructuredValueType. In addition, the id [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] should be restricted to be a fixed value with the [[component>>doc:sdmx:Glossary.Component.WebHome]] identifier. This restricted type based on the [[component>>doc:sdmx:Glossary.Component.WebHome]] can then be used on Comp elements by using the xsi:type to state the [[component>>doc:sdmx:Glossary.Component.WebHome]] being expressed and refine the contents of the element to the values allowed by the [[component>>doc:sdmx:Glossary.Component.WebHome]]. | ||
| 131 | |||
| 132 | Derivation: | ||
| 133 | |||
| 134 | AnnotableType (extension) | ||
| 135 | CompType | ||
| 136 | |||
| 137 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 138 | id | ||
| 139 | |||
| 140 | Content: | ||
| 141 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Value | ||
| 142 | |||
| 143 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 144 | |||
| 145 | (% style="width:1007.29px" %) | ||
| 146 | |(% style="width:157px" %)**Name**|(% style="width:291px" %)**Type**|(% style="width:556px" %)**Documentation** | ||
| 147 | |(% style="width:157px" %)id|(% style="width:291px" %)NCNameIDType|(% style="width:556px" %) | ||
| 148 | |||
| 149 | Element Documentation: | ||
| 150 | |||
| 151 | (% style="width:1015.29px" %) | ||
| 152 | |**Name**|**Type**|(% style="width:684px" %)**Documentation** | ||
| 153 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|(% style="width:684px" %)[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 154 | |Value|//ValueType//|(% style="width:684px" %) | ||
| 155 | |||
| 156 | //**ObsType:**// ObsType is the abstract type which defines the structure of a grouped or un-grouped observation. The observation must be provided a key, which is either a value for the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] which is declared to be at the observation (% style="color:#e74c3c" %)level(%%) if the observation is grouped, or a full set of values for all [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] if the observation is un-grouped. This key should disambiguate the observation within the context in which it is defined (e.g. there should not be another observation with the same [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] value in a series). The observation can contain an observed value and/or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values. [[Data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] schemas will derive a type or types based on this that is specific to the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] and the variation of the format being expressed in the schema. The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] value(s) which make up the key and the data and metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values associated with the key [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]](s) or the primary [[measure>>doc:sdmx:Glossary.Measure.WebHome]] will be represented with XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived observation type will refine this structure so that the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are explicit. The XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be given a name based on the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]'s identifier. These XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be unqualified (meaning they do not have a namespace associated with them). The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]](s) will be required while the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be optional. To allow for generic processing, it is required that the only unqualified XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] in the derived observation type be for the observation [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]](s) and [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] declared in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. If additional [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 157 | |||
| 158 | Derivation: | ||
| 159 | |||
| 160 | AnnotableType (extension) | ||
| 161 | ObsType | ||
| 162 | |||
| 163 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 164 | type?, TIME_PERIOD? | ||
| 165 | |||
| 166 | Content: | ||
| 167 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Comp*, Metadata? | ||
| 168 | |||
| 169 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 170 | |||
| 171 | (% style="width:1008.29px" %) | ||
| 172 | |**Name**|**Type**|(% style="width:648px" %)**Documentation** | ||
| 173 | |type|IDType|(% style="width:648px" %)The type [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used when the derived format requires that explicit [[measure>>doc:sdmx:Glossary.Measure.WebHome]] be used. In this case, the derived type based on the [[measure>>doc:sdmx:Glossary.Measure.WebHome]] will fix this value to be the identification of the [[measure>>doc:sdmx:Glossary.Measure.WebHome]] (% style="color:#e74c3c" %)concept(%%). This will not be required, but since it is fixed it will be available in the post validation information set which will allow for generic processing of the data. If explicit [[measures>>doc:sdmx:Glossary.Measure.WebHome]] are not used, then the derived type will prohibit the use of this [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 174 | |TIME_PERIOD|ObservationalTimePeriodType|(% style="width:648px" %)The TIME_PERIOD [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is an explicit [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. This is declared in the base schema since it has a fixed identifier and [[representation>>doc:sdmx:Glossary.Representation.WebHome]]. The derived series type will either require or prohibit this [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], depending on whether time is the observation [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. If the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] specifies a more specific [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of time the derived type will restrict the type definition to the appropriate type. | ||
| 175 | |||
| 176 | Element Documentation: | ||
| 177 | |||
| 178 | (% style="width:1020.29px" %) | ||
| 179 | |**Name**|**Type**|**Documentation** | ||
| 180 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 181 | |Comp|//CompType//|Comp contains the details of observation [[measures>>doc:sdmx:Glossary.Measure.WebHome]] or [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that have complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] and cannot be expressed as XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 182 | |Metadata|MetadataSetType|Allows for attachment of [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] against to the observation. | ||
| 183 | |||
| 184 | ***AttsType*:** AttsType is the abstract type which defines a structure which is used to group a collection of data or metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] which have a key in common. The key for a [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] collection is a subset of the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] defined in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. This is also used for [[data set>>doc:sdmx:Glossary.Data set.WebHome]] (% style="color:#e74c3c" %)level(%%) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] (i.e. those with an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] of none). In this case, the subset of [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] is empty. [[Data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] schemas will derive a type based on this that is specific to the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values which make up the key will be represented with local (non-namespace qualified) XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. The metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values associated with the key [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] will be expressed as XML local (non-namespace qualified) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] if they are simple values (e.g. enumerated, dates, numbers) and are not repeatable. Metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that are repeatable, or do not have simple values (e.g. text) will be expressed using the Comp element. These [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] and simple [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived series type will refine this structure so that the [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are explicit. The XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be given a name based on the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]'s identifier. These XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be unqualified (meaning they do not have a namespace associated with them). The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be required while the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be optional. To allow for generic processing, it is required that the only unqualified XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] in the derived group type be for the series [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] and [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] declared in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. If additional [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 185 | |||
| 186 | Derivation: | ||
| 187 | |||
| 188 | AnnotableType (extension) | ||
| 189 | AttsType | ||
| 190 | |||
| 191 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 192 | TIME_PERIOD? | ||
| 193 | |||
| 194 | Content: | ||
| 195 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Comp | ||
| 196 | |||
| 197 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 198 | |||
| 199 | (% style="width:1013.29px" %) | ||
| 200 | |**Name**|**Type**|**Documentation** | ||
| 201 | |TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is an explict [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. This is declared in the base schema since it has a fixed identifier and [[representation>>doc:sdmx:Glossary.Representation.WebHome]]. The derived series type will either require or prohibit this [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], depending on whether time is the observation [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. If the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] specifies a more specific [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of time the derived type will restrict the type definition to the appropriate type. | ||
| 202 | |||
| 203 | Element Documentation: | ||
| 204 | |||
| 205 | (% style="width:1020.29px" %) | ||
| 206 | |**Name**|**Type**|**Documentation** | ||
| 207 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 208 | |Comp|//CompType//|Comp contains the details of the data or metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that have complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] and cannot be expressed as XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 209 | |||
| 210 | == 2.2 Generic Reference Metadata Namespace == | ||
| 211 | |||
| 212 | [[http:~~/~~/www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>>http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic**]] | ||
| 213 | |||
| 214 | === 2.2.1 Summary === | ||
| 215 | |||
| 216 | Referenced Namespaces: | ||
| 217 | |||
| 218 | (% style="width:1037.29px" %) | ||
| 219 | |(% style="width:516px" %)**Namespace**|(% style="width:518px" %)**Prefix** | ||
| 220 | |(% style="width:516px" %)http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|(% style="width:518px" %)common | ||
| 221 | |(% style="width:516px" %)<http:~/~/www.w3.org/2001/XMLSchema>|(% style="width:518px" %)xs | ||
| 222 | |||
| 223 | Contents: | ||
| 224 | 1 Global Element | ||
| 225 | 3 Complex Types | ||
| 226 | |||
| 227 | === 2.2.2 Global Elements === | ||
| 228 | |||
| 229 | **[[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] (AttributeType):** Att elements hold the reported values for a given metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. These values conform to the definition of the metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] in the metadata structure definition. | ||
| 230 | |||
| 231 | === 2.2.3 Complex Types === | ||
| 232 | |||
| 233 | ***MetadataSetBaseType*:** MetadataSetBaseType defines the base refinement of the MetadataSetType. Its purpose is to restrict the urn [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 234 | |||
| 235 | Derivation: | ||
| 236 | |||
| 237 | AnnotableType (extension) | ||
| 238 | IdentifiableType (extension) | ||
| 239 | NameableType (extension) | ||
| 240 | VersionableType (restriction) | ||
| 241 | MaintainableBaseType (extension) | ||
| 242 | MaintainableType (restriction) | ||
| 243 | MetadataSetBaseType | ||
| 244 | |||
| 245 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 246 | id, urn?, uri?, (% style="color:#e74c3c" %)version(%%)?, validFrom?, validTo?, agencyID, isPartialLanguage?, [[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]]?, serviceURL?, structureURL? | ||
| 247 | |||
| 248 | Content: | ||
| 249 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Link*, Name+, Description | ||
| 250 | |||
| 251 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 252 | |||
| 253 | (% style="width:1051.29px" %) | ||
| 254 | |**Name**|**Type**|(% style="width:669px" %)**Documentation** | ||
| 255 | |id|IDType|(% style="width:669px" %)The id is the identifier for the object. | ||
| 256 | |urn|MetadataSetUrnType|(% style="width:669px" %)The urn [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a valid [[SDMX Registry>>doc:sdmx:Glossary.SDMX Registry.WebHome]] URN (see [[SDMX Registry>>doc:sdmx:Glossary.SDMX Registry.WebHome]] Specification for details). | ||
| 257 | |uri|xs:anyURI|(% style="width:669px" %)The uri [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a URI that contains a link to a resource with additional information about the object, such as a web page. This uri is not a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] message. | ||
| 258 | |(%%)(% style="color:#e74c3c" %)version|VersionType|(% style="width:669px" %)This (% style="color:#e74c3c" %)version(%%) [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a (% style="color:#e74c3c" %)version(%%) number (see common:VersionType definition for details). If not supplied, [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is considered to be un-versioned. | ||
| 259 | |validFrom|xs:dateTime|(% style="width:669px" %)The validFrom [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides the inclusive start date for providing supplemental validity information about the (% style="color:#e74c3c" %)version(%%). | ||
| 260 | |validTo|xs:dateTime|(% style="width:669px" %)The validTo [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides the inclusive end date for providing supplemental validity information about the (% style="color:#e74c3c" %)version(%%). | ||
| 261 | |agencyID|NestedNCNameIDType|(% style="width:669px" %)The agencyID must be provided and identifies the [[maintenance agency>>doc:sdmx:Glossary.Maintenance agency.WebHome]] of the object. | ||
| 262 | |[[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]] (default: false)|xs:boolean|(% style="width:669px" %)The [[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]] [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], if true, indicates that the actual object is not defined the corresponding element, rather its full details are defined elsewhere - indicated by either the registryURL, the repositoryURL, or the structureURL. The purpose of this is so that each structure message does not have to redefine object that are already defined elsewhere. If the [[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]] [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is not set, then it is assumed to be false, and the object should contain the full definition of its contents. If more than one of the registryURL, the repositoryURL, and the structureURL are supplied, then the application processing the object can choose the method it finds best suited to retrieve the details of the object. | ||
| 263 | |serviceURL|xs:anyURI|(% style="width:669px" %)The serviceURL [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates the URL of an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] repository, as they both implement that same web service interface. | ||
| 264 | |structureURL|xs:anyURI|(% style="width:669px" %)The structureURL [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates the URL of a [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] structure message (in the same (% style="color:#e74c3c" %)version(%%) as the source document) in which the externally referenced object is contained. Note that this may be a URL of an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] RESTful web service which will return the referenced object. | ||
| 265 | |isPartialLanguage (default: false)|xs:boolean|(% style="width:669px" %)The isPartialLanguage [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], if true, indicates that the object doesn't contain the complete set of all available languages, e.g., when obtained as a response to a GET query that requested specific languages through the HTTP header Accept-Language. | ||
| 266 | |||
| 267 | Element Documentation: | ||
| 268 | |||
| 269 | (% style="width:1057.29px" %) | ||
| 270 | |**Name**|**Type**|**Documentation** | ||
| 271 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 272 | |Link|LinkType|Allows for the linking of other resources to identifiable objects. For example, if there is [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] associated with a structure, a link to the metadata report can be dynamically inserted in the structure metadata. | ||
| 273 | |Name|TextType|Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms. | ||
| 274 | |Description|TextType|Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms. | ||
| 275 | |||
| 276 | **MetadataSetType:** MetadataSetType describes the structure for a [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]], which contains a collection of reported metadata against a set of targets. The targets should conform to the restrictions described by the metadata provision or the [[metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]. Note that this is maintainable, and as such must specify in agency. In this case, the agency is the metadata provider. If a metadata [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] is referenced, it is assumed that the metadata provider described in the provision will be the same as the agency for this set. | ||
| 277 | |||
| 278 | Derivation: | ||
| 279 | |||
| 280 | AnnotableType (extension) | ||
| 281 | IdentifiableType (extension) | ||
| 282 | NameableType (extension) | ||
| 283 | VersionableType (restriction) | ||
| 284 | MaintainableBaseType (extension) | ||
| 285 | MaintainableType (restriction) | ||
| 286 | MetadataSetBaseType (extension) | ||
| 287 | MetadataSetType | ||
| 288 | |||
| 289 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 290 | id, urn?, uri?, (% style="color:#e74c3c" %)version(%%)?, validFrom?, validTo?, agencyID, isPartialLanguage?, [[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]]?, serviceURL?, structureURL?, reportingBeginDate?, reportingEndDate?, publicationYear?, publicationPeriod? | ||
| 291 | |||
| 292 | Content: | ||
| 293 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, Link*, Name+, Description*, ( (MetadataProvisionAgreement|[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]), Target+, [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]+)? | ||
| 294 | |||
| 295 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 296 | |||
| 297 | (% style="width:1050.29px" %) | ||
| 298 | |**Name**|**Type**|(% style="width:622px" %)**Documentation** | ||
| 299 | |id|IDType|(% style="width:622px" %)The id is the identifier for the object. | ||
| 300 | |urn|MetadataSetUrnType|(% style="width:622px" %)The urn [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a valid [[SDMX Registry>>doc:sdmx:Glossary.SDMX Registry.WebHome]] URN (see [[SDMX Registry>>doc:sdmx:Glossary.SDMX Registry.WebHome]] Specification for details). | ||
| 301 | |uri|xs:anyURI|(% style="width:622px" %)The uri [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a URI that contains a link to a resource with additional information about the object, such as a web page. This uri is not a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] message. | ||
| 302 | |(%%)(% style="color:#e74c3c" %)version|VersionType|(% style="width:622px" %)This (% style="color:#e74c3c" %)version(%%) [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a (% style="color:#e74c3c" %)version(%%) number (see common:VersionType definition for details). If not supplied, [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is considered to be un-versioned. | ||
| 303 | |validFrom|xs:dateTime|(% style="width:622px" %)The validFrom [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides the inclusive start date for providing supplemental validity information about the (% style="color:#e74c3c" %)version(%%). | ||
| 304 | |validTo|xs:dateTime|(% style="width:622px" %)The validTo [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides the inclusive end date for providing supplemental validity information about the (% style="color:#e74c3c" %)version(%%). | ||
| 305 | |agencyID|NestedNCNameIDType|(% style="width:622px" %)The agencyID must be provided and identifies the [[maintenance agency>>doc:sdmx:Glossary.Maintenance agency.WebHome]] of the object. | ||
| 306 | |[[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]] (default: false)|xs:boolean|(% style="width:622px" %)The [[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]] [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], if true, indicates that the actual object is not defined the corresponding element, rather its full details are defined elsewhere - indicated by either the registryURL, the repositoryURL, or the structureURL. The purpose of this is so that each structure message does not have to redefine object that are already defined elsewhere. If the [[isExternalReference>>doc:sdmx:Glossary.isExternalReference.WebHome]] [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is not set, then it is assumed to be false, and the object should contain the full definition of its contents. If more than one of the registryURL, the repositoryURL, and the structureURL are supplied, then the application processing the object can choose the method it finds best suited to retrieve the details of the object. | ||
| 307 | |serviceURL|xs:anyURI|(% style="width:622px" %)The serviceURL [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates the URL of an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] repository, as they both implement that same web service interface. | ||
| 308 | |structureURL|xs:anyURI|(% style="width:622px" %)The structureURL [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates the URL of a [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] structure message (in the same (% style="color:#e74c3c" %)version(%%) as the source document) in which the externally referenced object is contained. Note that this may be a URL of an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] RESTful web service which will return the referenced object. | ||
| 309 | |isPartialLanguage (default: false)|xs:boolean|(% style="width:622px" %)The isPartialLanguage [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], if true, indicates that the object doesn't contain the complete set of all available languages, e.g., when obtained as a response to a GET query that requested specific languages through the HTTP header Accept-Language. | ||
| 310 | |reportingBeginDate|BasicTimePeriodType|(% style="width:622px" %)The reportingBeginDate indicates the inclusive start time of the data reported in the data or [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]]. | ||
| 311 | |reportingEndDate|BasicTimePeriodType|(% style="width:622px" %)The reportingEndDate indicates the inclusive end time of the data reported in the data or [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]]. | ||
| 312 | |publicationYear|xs:gYear|(% style="width:622px" %)The publicationYear holds the ISO 8601 four-digit year. | ||
| 313 | |publicationPeriod|ObservationalTimePeriodType|(% style="width:622px" %)The publicationPeriod specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force (i.e., "Q1 2005" if that is the time of publication for a [[data set>>doc:sdmx:Glossary.Data set.WebHome]] published on a quarterly basis). | ||
| 314 | |||
| 315 | Element Documentation: | ||
| 316 | |||
| 317 | (% style="width:1054.29px" %) | ||
| 318 | |**Name**|(% style="width:185px" %)**Type**|(% style="width:412px" %)**Documentation** | ||
| 319 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|(% style="width:185px" %)AnnotationsType|(% style="width:412px" %)[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 320 | |Link|(% style="width:185px" %)LinkType|(% style="width:412px" %)Allows for the linking of other resources to identifiable objects. For example, if there is [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] associated with a structure, a link to the metadata report can be dynamically inserted in the structure metadata. | ||
| 321 | |Name|(% style="width:185px" %)TextType|(% style="width:412px" %)Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms. | ||
| 322 | |Description|(% style="width:185px" %)TextType|(% style="width:412px" %)Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms. | ||
| 323 | |MetadataProvision | ||
| 324 | Agreement|(% style="width:185px" %)MetadataProvisionAgree | ||
| 325 | mentReferenceType|(% style="width:412px" %)[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] provides a reference to the metadata [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] the [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] is being reported against. | ||
| 326 | |[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]|(% style="width:185px" %)MetadataflowReference | ||
| 327 | Type|(% style="width:412px" %)[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] provides a reference to the [[metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] the [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] is being reported against. | ||
| 328 | |Target|(% style="width:185px" %)WildcardUrnType|(% style="width:412px" %)Target references the target structures for which metadata is being reported. These must conform with the (% style="color:#e74c3c" %)constraints(%%) defined by the metadata [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] and/or the [[metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]. | ||
| 329 | |[[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]|(% style="width:185px" %)AttributeType|(% style="width:412px" %)Att elements hold the reported metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values being reported in the [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]]. These conform to the metadata structure definition. | ||
| 330 | |||
| 331 | **AttributeType:** AttributeType defines the structure for a reported metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. A value for the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] can be supplied as either a single value (enumerated or non-enumerated single value), or multi-lingual text values (either structured or unstructured). Optional child [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are also available if the metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] definition defines nested metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 332 | |||
| 333 | Derivation: | ||
| 334 | |||
| 335 | AnnotableType (extension) | ||
| 336 | AttributeType | ||
| 337 | |||
| 338 | [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]: | ||
| 339 | id | ||
| 340 | |||
| 341 | Content: | ||
| 342 | [[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]?, (Value+|Text+|StructuredText+)?, [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] | ||
| 343 | |||
| 344 | [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation: | ||
| 345 | |||
| 346 | (% style="width:1037.29px" %) | ||
| 347 | |(% style="width:113px" %)**Name**|(% style="width:162px" %)**Type**|(% style="width:760px" %)**Documentation** | ||
| 348 | |(% style="width:113px" %)id|(% style="width:162px" %)IDType|(% style="width:760px" %)The id [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] identifies the metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] that the value is being reported for. | ||
| 349 | |||
| 350 | Element Documentation: | ||
| 351 | |||
| 352 | (% style="width:1095.29px" %) | ||
| 353 | |**Name**|**Type**|(% style="width:821px" %)**Documentation** | ||
| 354 | |[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]]|AnnotationsType|(% style="width:821px" %)[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]] is a reusable element the provides for a collection of [[annotations>>doc:sdmx:Glossary.Annotation.WebHome]]. It has been made global so that restrictions of types that extend AnnotatableType may reference it. | ||
| 355 | |Value|xs:anySimpleType|(% style="width:821px" %)Value holds any simple value (enumerated or not) for the metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. It can be repeated if this metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] allows for multiple values. | ||
| 356 | |Text|TextType|(% style="width:821px" %)Text is used to supply parallel multi-lingual textual values for the reported metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. This will be used if the text format of the metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] has a type of string, and the multi-lingual value is set to true. | ||
| 357 | |StructuredText|XHTMLType|(% style="width:821px" %)StructuredText is used to supply parallel multi-lingual structured (as XHTML) textual values for the reported metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. This will be used if the text format of the metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] has a type of XHTML, and the multi-lingual value is set to true. | ||
| 358 | |[[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]|AttributeType|(% style="width:821px" %)Att contains the reported metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values for the child metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]. | ||
| 359 | |||
| 360 | = 3 Mapping to Structure-Specific Schemas = | ||
| 361 | |||
| 362 | == 3.1 General == | ||
| 363 | |||
| 364 | Data-structure-specific schemas are each based on one single core construct found in the structure-specific namespace: | ||
| 365 | |||
| 366 | Data - http://www.SDMX.org/resources/SDMXML/schemas/v3_1/data/structurespecific | ||
| 367 | |||
| 368 | === 3.1.1 Basic Terminology === | ||
| 369 | |||
| 370 | In the subsequent sections, the following namespace prefixes are used: | ||
| 371 | |||
| 372 | |**Namespace**|**Prefix**| | ||
| 373 | |http:~/~/www.w3.org/2001/XMLSchema|xs| | ||
| 374 | |http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/common|common| | ||
| 375 | |http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/data/structurespecific|dsd| | ||
| 376 | |<http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>|metadata| | ||
| 377 | |||
| 378 | It is assumed that in order to use this guide, the reader is familiar with schema terminology. However, for convenience the following is list of the terminology used here: | ||
| 379 | |||
| 380 | **Schema:** Refers to the format specific schema in general, and in particular the root xs:schema element of that schema file. | ||
| 381 | |||
| 382 | **Global Element:** Refers to an element definition at the top (% style="color:#e74c3c" %)level(%%) of the schema (i.e. an xs:element element in the root xs:schema element). It will define a name and type (name and type [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]) and possibly a substitution group (substitutionGroup [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 383 | |||
| 384 | **Local Element:** Refers to an element definition within a complex type (i.e. an xs:element element contained within a xs:sequence element that is contained in a xs:complexType element). A local element must define a name and type (name and type [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]) and may also specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 385 | |||
| 386 | **Qualified/Unqualified Element:** A qualified element is an element that must be referred to by the namespace in which it was defined. An unqualified element does not have a namespace associated with it. The structure-specific schemas make use of unqualified elements to that the structure-specific schemas can restrict the base content to meet the specific needs of the structure, while maintaining as much of the original document structure as possible. | ||
| 387 | |||
| 388 | **Element Reference:** Refers to an element definition within a complex type that is a reference to a global element (i.e. an xs:element element contained within a xs:sequence element that is contained in a xs:complexType element). An element reference must reference a global element (via its ref [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and may also specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 389 | |||
| 390 | **Complex Type:** Refers to a complex type definition. In this context, all complex type definitions occur at the top (% style="color:#e74c3c" %)level(%%) of the schema (i.e. an xs:complexType element in the root xs:schema element). A complex type must define a name (name [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and may be made abstract (via the abstract [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]’s boolean value). | ||
| 391 | |||
| 392 | **Simple Type:** Refers to a simple type definition. In this context, all simple type definitions occur at the top (% style="color:#e74c3c" %)level(%%) of the schema (i.e. an xs:simpleType element in the root xs:schema element). In this context, a simple type will always be defined via a restriction (an xs:restriction element in the xs:simpleType element). The restriction will reference a base type. | ||
| 393 | |||
| 394 | **Anonymous Type:** A complex or simple type definition which occurs within an element definition. The method is sometimes referred to a the "Russian-doll" technique as it creates nested constructs. Anonymous types are not given names and cannot be abstract. The can however, be derived from other types. | ||
| 395 | |||
| 396 | **Content Group:** A group which defines a content model for reuse. This is contained in the xs:group element and is defined at the root of the schema. It allows for a common sequence or choice of elements to be reused across multiple types without having to redefine the sequence or choice in each type. | ||
| 397 | |||
| 398 | **Uniqueness (% style="color:#e74c3c" %)Constraint(%%):** A uniqueness (% style="color:#e74c3c" %)constraint(%%) is defined within an element and is used to force descendent elements to be unique based on some criteria of it fields (elements or [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]). This is defined in an \<xs:unique\> element and has content of an \<xs:selector\> and multiple \<xs:field\> elements. The selector designates the descendants that must be unique (with an xpath [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and the field specifies which property of the selected element must be unique (also with an xpath [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) | ||
| 399 | |||
| 400 | **Extension:** Refers to the definition of a complex type that is an extension of another complex type. The extension will always make a reference to a base. In the schema, this is defined within the xs:complexType element as a child xs:complexContent element containing an xs:extension element (with a base [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 401 | |||
| 402 | **Restriction:** Refers to the definition of a simple or complex type that is a restriction of another type of the same variety. The restriction will always make a reference to a base. In the schema, this is defined with an xs:restriction element (with a base [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 403 | |||
| 404 | **Sequence:** Refers to a sequence of elements that may be defined as the root of a complex type content model, or as part of the content of a choice or another sequence. This is defined as an xs:sequence element. The sequence may specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 405 | |||
| 406 | **Choice:** Refers to a choice of elements that may be defined as the root of a complex type content model, or as part of the content of a sequence or another choice. This is defined as an xs:choice element. The sequence may specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 407 | |||
| 408 | **[[Facet>>doc:sdmx:Glossary.Facet.WebHome]]:** Refers to a single detail of a simple type restriction. This is represented by elements such as xs:minInclusive, xs:totalDigits, xs:minLength, and is contained in the xs:restriction element of a simple type definition. The value of the [[facet>>doc:sdmx:Glossary.Facet.WebHome]] is contained in a value [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the particular element. | ||
| 409 | |||
| 410 | **Enumeration:** Refers to an enumerated value of a simple type definition. It is represented by an xs:enumeration element contained within an xs:restriction element of a simple type definition. An enumeration defines a value (in the value [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and documentation (in xs:documentation elements contained in an xs:[[annotation>>doc:sdmx:Glossary.Annotation.WebHome]] element). | ||
| 411 | |||
| 412 | **XML [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]:** Refers to the definition of an XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for a complex type (i.e. and xs:[[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] element in a xs:complexType element). An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] must define a name and type (name and type [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]) and may also specify a usage (use [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). | ||
| 413 | |||
| 414 | == 3.2 Namespace Rules == | ||
| 415 | |||
| 416 | Each format specific schema will specify its namespace in the target namespace of the schema (the targetNamespace [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the schema). This document also assumes that the root namespace (that which is defined by the xmlns [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) of the schema will be the same as the target namespace. Therefore, any types or global elements referenced in these descriptions without a namespace prefix are assumed to be in the format specific namespace. | ||
| 417 | |||
| 418 | The format specific schemas will incorporate the core format namespace and the common namespace by importing the schemas (via the xs:import element). If necessary, additional namespaces may be imported and referenced. | ||
| 419 | |||
| 420 | For the purpose of the descriptions here, the default element form for the schema (as specified in the elementFormDefault [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the schema) is "qualified", and the default [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] form (as specified in the attributeFormDefault [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the schema) is "unqualified". | ||
| 421 | |||
| 422 | == 3.3 General Rules == | ||
| 423 | |||
| 424 | The following section details the general rules which apply to all structure-specific schema creation. | ||
| 425 | |||
| 426 | === 3.3.1 Component Name Determination === | ||
| 427 | |||
| 428 | When required to create an XML element or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], the name for a [[component>>doc:sdmx:Glossary.Component.WebHome]] is always its identifier. However, the identifier may be inherited. Therefore, the general rules are as follows: | ||
| 429 | |||
| 430 | 1. If the [[component>>doc:sdmx:Glossary.Component.WebHome]] defines an identifier, the element or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name is the value of that identifier | ||
| 431 | 2. Otherwise, the element or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name is the identifier of the (% style="color:#e74c3c" %)concept(%%) from which it takes its semantic (Note that this is technically the [[component>>doc:sdmx:Glossary.Component.WebHome]] identifier). | ||
| 432 | |||
| 433 | === 3.3.2 Representation Determination === | ||
| 434 | |||
| 435 | Every [[component>>doc:sdmx:Glossary.Component.WebHome]] has a [[representation>>doc:sdmx:Glossary.Representation.WebHome]] associated with it, whether it is defined as a local [[representation>>doc:sdmx:Glossary.Representation.WebHome]] in the [[component>>doc:sdmx:Glossary.Component.WebHome]] definition, or it is inherited from the (% style="color:#e74c3c" %)concept(%%) from which the [[component>>doc:sdmx:Glossary.Component.WebHome]] takes it semantic (as defined in the (% style="color:#e74c3c" %)concept(%%) identity of the [[component>>doc:sdmx:Glossary.Component.WebHome]]). | ||
| 436 | |||
| 437 | The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of a [[component>>doc:sdmx:Glossary.Component.WebHome]] is determined by the following precedence: | ||
| 438 | |||
| 439 | 1. The local [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined by the [[component>>doc:sdmx:Glossary.Component.WebHome]] | ||
| 440 | 1. The core [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined in the (% style="color:#e74c3c" %)concept(%%) from which the [[component>>doc:sdmx:Glossary.Component.WebHome]] takes its semantic | ||
| 441 | 1. A default [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of an un-faceted text format with a data type of String. | ||
| 442 | |||
| 443 | The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] will either define a text format, an enumeration with an enumeration format, or a union of the former with the value of a irrelevant [[representation>>doc:sdmx:Glossary.Representation.WebHome]] ‘’ (tilde). | ||
| 444 | |||
| 445 | A text format consists of a data type and an optional collection of [[facets>>doc:sdmx:Glossary.Facet.WebHome]]. It is the combination of these which determine the exact nature of the [[component>>doc:sdmx:Glossary.Component.WebHome]] [[representation>>doc:sdmx:Glossary.Representation.WebHome]]. An enumeration consists of a reference to a [[codelist>>doc:sdmx:Glossary.Code list.WebHome]], [[hierarchy>>doc:sdmx:Glossary.Hierarchy.WebHome]], or value list, for which an enumerated list of possible values can be created. | ||
| 446 | |||
| 447 | === 3.3.3 Simple / Primitive Type Determination === | ||
| 448 | |||
| 449 | For any given [[representation>>doc:sdmx:Glossary.Representation.WebHome]], there exist rules for determining the simple or primitive type which should be used to validate the value. There are no specific requirements to how a simple type is named or if it is referenced or used as an anonymous type. This section simply serves to state the requirements of the type for a [[component>>doc:sdmx:Glossary.Component.WebHome]] based on its [determined [[representation>>doc:sdmx:Glossary.Representation.WebHome]]](#332-[[Representation>>doc:sdmx:Glossary.Representation.WebHome]]-Determination). | ||
| 450 | |||
| 451 | For example, a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] may inherit its [[representation>>doc:sdmx:Glossary.Representation.WebHome]] for a (% style="color:#e74c3c" %)concept(%%), and the data type of a [[representation>>doc:sdmx:Glossary.Representation.WebHome]] data type may be a String. The simplest solution would be to use the xs:string primitive type. However, an implementer may have chosen to generate simple types for all (% style="color:#e74c3c" %)concepts(%%) to avoid having to look up the (% style="color:#e74c3c" %)concept(%%) core [[representation>>doc:sdmx:Glossary.Representation.WebHome]] for very [[component>>doc:sdmx:Glossary.Component.WebHome]]. In this case, the type may be given a name based on the (% style="color:#e74c3c" %)concept(%%) and be a simple derivation from the xs:string type that places no further restrictions. The result would be that the type that is actually used for the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]], although named after the (% style="color:#e74c3c" %)concept(%%), is effectively the required xs:string. These rules are meant to allow such flexibility in how types are created. The only requirement is that the type meet the requirements stated here. | ||
| 452 | |||
| 453 | === 3.3.4 Representation with Codelist Enumeration === | ||
| 454 | |||
| 455 | A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines an enumeration from a [[codelist>>doc:sdmx:Glossary.Code list.WebHome]] or [[hierarchy>>doc:sdmx:Glossary.Hierarchy.WebHome]] will result in a simple type that is a restriction of the common:IDType. The simple type will define enumerations for each [[code>>doc:sdmx:Glossary.Code.WebHome]] in the [[codelist>>doc:sdmx:Glossary.Code list.WebHome]] or [[hierarchy>>doc:sdmx:Glossary.Hierarchy.WebHome]], accounting for extensions. The value for these enumerations will be identifier of the item. If desired, the names of the item may be placed in the documentation of the enumeration, but this is not required. Example: | ||
| 456 | |||
| 457 | > <xs:simpleType name="ESTAT.CL\_COUNTRY.1.0"> | ||
| 458 | > <xs:restriction base="common:IDType"> | ||
| 459 | > <xs:enumeration value="BE"> | ||
| 460 | > <xs:annotation> | ||
| 461 | > <xs:documentation xml:lang="en">Belgium</xs:documentation> | ||
| 462 | > </xs:annotation> | ||
| 463 | > </xs:enumeration> | ||
| 464 | |||
| 465 | === 3.3.5 Representation with Value List Enumeration === | ||
| 466 | |||
| 467 | A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines an enumeration from a value list will result in a simple type that is a restriction of the xs:string data type. The simple type will define enumerations for each value item in the value list. The value for these enumerations will be identifier of the item. If desired, the names of the item may be placed in the documentation of the enumeration, but this is not required. | ||
| 468 | |||
| 469 | === 3.3.6 Representation with Simple Text Format === | ||
| 470 | |||
| 471 | A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines a simple text format will result in a simple type or primitive type. The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is simple if none of the following conditions are true: | ||
| 472 | |||
| 473 | * [[representation>>doc:sdmx:Glossary.Representation.WebHome]] max occurs is greater than 1 | ||
| 474 | * text format data type is XHMTL | ||
| 475 | * text format is multi-lingual | ||
| 476 | |||
| 477 | If the [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is not simple, see the rules in the following section for complex text formats. If the [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is simple, the first step is to determine the base type from the text format data type: | ||
| 478 | |||
| 479 | (% style="width:679.294px" %) | ||
| 480 | |(% style="width:286px" %)**SDMX Data Type**|(% style="width:390px" %)**XML Schema Data Type** | ||
| 481 | |(% style="width:286px" %)String|(% style="width:390px" %)xs:string | ||
| 482 | |(% style="width:286px" %)AlphaNumeric|(% style="width:390px" %)common:AlphaNumericType | ||
| 483 | |(% style="width:286px" %)Alpha|(% style="width:390px" %)common:AlphaType | ||
| 484 | |(% style="width:286px" %)Numeric|(% style="width:390px" %)common:NumericType | ||
| 485 | |(% style="width:286px" %)BigInteger|(% style="width:390px" %)xs:integer | ||
| 486 | |(% style="width:286px" %)Integer|(% style="width:390px" %)xs:int | ||
| 487 | |(% style="width:286px" %)Long|(% style="width:390px" %)xs:long | ||
| 488 | |(% style="width:286px" %)Short|(% style="width:390px" %)xs:short | ||
| 489 | |(% style="width:286px" %)Decimal|(% style="width:390px" %)xs:decimal | ||
| 490 | |(% style="width:286px" %)Float|(% style="width:390px" %)xs:float | ||
| 491 | |(% style="width:286px" %)Double|(% style="width:390px" %)xs:double | ||
| 492 | |(% style="width:286px" %)Boolean|(% style="width:390px" %)xs:Boolean | ||
| 493 | |(% style="width:286px" %)URI|(% style="width:390px" %)xs:anyURI | ||
| 494 | |(% style="width:286px" %)Count|(% style="width:390px" %)xs:integer | ||
| 495 | |(% style="width:286px" %)InclusiveValueRange|(% style="width:390px" %)xs:decimal | ||
| 496 | |(% style="width:286px" %)ExclusiveValueRange|(% style="width:390px" %)xs: decimal | ||
| 497 | |(% style="width:286px" %)Incremental|(% style="width:390px" %)xs: decimal | ||
| 498 | |(% style="width:286px" %)ObservationalTimePeriod|(% style="width:390px" %)common:ObservationalTimePeriodType | ||
| 499 | |(% style="width:286px" %)StandardTimePeriod|(% style="width:390px" %)common:StandardTimePeriodType | ||
| 500 | |(% style="width:286px" %)BasicTimePeriod|(% style="width:390px" %)common:BasicTimePeriodType | ||
| 501 | |(% style="width:286px" %)GregorianTimePeriod|(% style="width:390px" %)common:GregorianTimePeriodType | ||
| 502 | |(% style="width:286px" %)GregorianYear|(% style="width:390px" %)xs:gYear | ||
| 503 | |(% style="width:286px" %)GregorianYearMonth|(% style="width:390px" %)xs:gYearMonth | ||
| 504 | |(% style="width:286px" %)GregorianDay|(% style="width:390px" %)xs:date | ||
| 505 | |(% style="width:286px" %)ReportingTimePeriod|(% style="width:390px" %)common:ReportingTimePeriodType | ||
| 506 | |(% style="width:286px" %)ReportingYear|(% style="width:390px" %)common:ReportingYearType | ||
| 507 | |(% style="width:286px" %)ReportingSemester|(% style="width:390px" %)common:ReportingSemesterType | ||
| 508 | |(% style="width:286px" %)ReportingTrimester|(% style="width:390px" %)common:ReportingTrimesterType | ||
| 509 | |(% style="width:286px" %)ReportingQuarter|(% style="width:390px" %)common:ReportingQuarterType | ||
| 510 | |(% style="width:286px" %)ReportingMonth|(% style="width:390px" %)common:ReportingMonthType | ||
| 511 | |(% style="width:286px" %)ReportingWeek|(% style="width:390px" %)common:ReportingWeekType | ||
| 512 | |(% style="width:286px" %)ReportingDay|(% style="width:390px" %)common:ReportingDayType | ||
| 513 | |(% style="width:286px" %)DateTime|(% style="width:390px" %)xs:dateTime | ||
| 514 | |(% style="width:286px" %)TimeRange|(% style="width:390px" %)common:TimeRangeType | ||
| 515 | |(% style="width:286px" %)Month|(% style="width:390px" %)xs:gMonth | ||
| 516 | |(% style="width:286px" %)MonthDay|(% style="width:390px" %)xs:gMonthDay | ||
| 517 | |(% style="width:286px" %)Day|(% style="width:390px" %)xs:gDay | ||
| 518 | |(% style="width:286px" %)Time|(% style="width:390px" %)xs:time | ||
| 519 | |(% style="width:286px" %)Duration|(% style="width:390px" %)xs:duration | ||
| 520 | |(% style="width:286px" %)GeospatialInformation|(% style="width:390px" %)xs:string | ||
| 521 | |(% style="width:286px" %)XHTML|(% style="width:390px" %)See the following section for complex representations | ||
| 522 | |||
| 523 | If the text format does not specify any further [[facets>>doc:sdmx:Glossary.Facet.WebHome]], then the determined type is the listed type or a type which derives from the listed type without placing any addition restrictions on it. However, if one or more [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are specified, then a simple type based on the listed type is necessary. The simple type derives via restriction from the listed type and adds [[facets>>doc:sdmx:Glossary.Facet.WebHome]] according to the following table (the values are (% style="color:#e74c3c" %)mapped(%%) as is): | ||
| 524 | |||
| 525 | (% style="width:1007.29px" %) | ||
| 526 | |(% style="width:267px" %)**SDMX Facet**|(% style="width:729px" %)**XML Schema Facet** | ||
| 527 | |(% style="width:267px" %)minLength|(% style="width:729px" %)xs:minLength | ||
| 528 | |(% style="width:267px" %)maxLength|(% style="width:729px" %)xs:maxLength | ||
| 529 | |(% style="width:267px" %)minValue{{footnote}}Note that these options only apply to numeric representations and should be ignored if the data type is non-numeric.{{/footnote}}|(% style="width:729px" %)if ExclusiveValueRange: xs:minExclusives, else: xs:minInclusive | ||
| 530 | |(% style="width:267px" %)maxValue^^1^^|(% style="width:729px" %)if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive | ||
| 531 | |(% style="width:267px" %)decimals^^1^^|(% style="width:729px" %)xs:fractionDigits | ||
| 532 | |(% style="width:267px" %)pattern|(% style="width:729px" %)xs:pattern | ||
| 533 | |||
| 534 | Any other [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are informational only and will not affect the determined type. | ||
| 535 | |||
| 536 | === 3.3.7 Representation for Not Applicable Dimensions === | ||
| 537 | |||
| 538 | Not applicable [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]], i.e., when reported [[measures>>doc:sdmx:Glossary.Measure.WebHome]] or [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are not attached to those [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]], take as value the tilde ‘’ character. This is required for [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] defined by a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] that has the ‘evolving structure’ property set to true and that includes data from [[dataflows>>doc:sdmx:Glossary.Dataflow.WebHome]], which only use a subset of [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] as defined by a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)constraint(%%). This is also required for data-related higher-(% style="color:#e74c3c" %)level(%%) (i.e., attached to [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] or partial list of [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]) [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that don’t have a fixed pre-defined attachment. | ||
| 539 | |||
| 540 | To support a specific type and allow for a not applicable [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] value, the structure-specific schema must union the type with the common:NotApplicableType, which enumerates the tilde ‘’ character. This is as shown in the following example: | ||
| 541 | |||
| 542 | > <xs:simpleType name="DecimalOrNotApplicableType"> | ||
| 543 | > <xs:union memberTypes="xs:decimal common:NotApplicableType"/> | ||
| 544 | > </xs:simpleType> | ||
| 545 | |||
| 546 | For enumerated types, the generated structure-specific schema can include the special value in the enumeration or create a union between the enumerated type and the common:NotApplicableType. | ||
| 547 | |||
| 548 | Option 1: Augmenting the enumeration with the special value | ||
| 549 | |||
| 550 | > <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE"> | ||
| 551 | > <xs:union memberTypes="CL\_SUBINDICATOR common:NotApplicableType"/> | ||
| 552 | > </xs:simpleType> | ||
| 553 | |||
| 554 | Option 2: Extending the enumeration with the special value | ||
| 555 | |||
| 556 | > <xs:simpleType name="CL\_ SUBINDICATOR "> | ||
| 557 | > <xs:restriction base="xs:string"> | ||
| 558 | > <xs:enumeration value="A"/> | ||
| 559 | > <xs:enumeration value=""/> | ||
| 560 | > <xs:restriction> | ||
| 561 | > </xs:simpleType> | ||
| 562 | |||
| 563 | For convenience the common schema provides the union types for the following data types. | ||
| 564 | |||
| 565 | (% style="width:747.294px" %) | ||
| 566 | |**SDMX Data Type**|(% style="width:418px" %)**XML Schema Data Type** | ||
| 567 | |AlphaNumeric|(% style="width:418px" %)common:AlphaNumericOrNotApplicableType | ||
| 568 | |Alpha|(% style="width:418px" %)common:AlphaOrNotApplicableType | ||
| 569 | |Numeric|(% style="width:418px" %)common:NumericOrNotApplicableType | ||
| 570 | |BigInteger|(% style="width:418px" %)common:IntegerOrNotApplicableType | ||
| 571 | |Integer|(% style="width:418px" %)common:IntOrNotApplicableType | ||
| 572 | |Long|(% style="width:418px" %)common:LongOrNotApplicableType | ||
| 573 | |Short|(% style="width:418px" %)common:ShortOrNotApplicableType | ||
| 574 | |Decimal|(% style="width:418px" %)common:DecimalOrNotApplicableType | ||
| 575 | |Float|(% style="width:418px" %)common:FloatOrNotApplicableType | ||
| 576 | |Double|(% style="width:418px" %)common:DoubleOrNotApplicableType | ||
| 577 | |Boolean|(% style="width:418px" %)common:BooleanOrNotApplicableType | ||
| 578 | |Count|(% style="width:418px" %)common:IntegerOrNotApplicableType | ||
| 579 | |InclusiveValueRange|(% style="width:418px" %)common:DecimalOrNotApplicableType | ||
| 580 | |ExclusiveValueRange|(% style="width:418px" %)common:DecimalOrNotApplicableType | ||
| 581 | |Incremental|(% style="width:418px" %)common:DecimalOrNotApplicableType | ||
| 582 | |ObservationalTimePeriod|(% style="width:418px" %)common:ObservationalTimePeriodOrNotApplicableType | ||
| 583 | |StandardTimePeriod|(% style="width:418px" %)common:StandardTimePeriodOrNotApplicableType | ||
| 584 | |BasicTimePeriod|(% style="width:418px" %)common:BasicTimePeriodType | ||
| 585 | |GregorianTimePeriod|(% style="width:418px" %)common:GregorianTimePeriodOrNotApplicableType | ||
| 586 | |ReportingTimePeriod|(% style="width:418px" %)common:ReportingTimePeriodOrNotApplicableType | ||
| 587 | |ReportingYear|(% style="width:418px" %)common:ReportingYearOrNotApplicableType | ||
| 588 | |ReportingSemester|(% style="width:418px" %)common:ReportingSemesterOrNotApplicableType | ||
| 589 | |ReportingTrimester|(% style="width:418px" %)common:ReportingTrimesterOrNotApplicableType | ||
| 590 | |ReportingQuarter|(% style="width:418px" %)common:ReportingQuarterOrNotApplicableType | ||
| 591 | |ReportingMonth|(% style="width:418px" %)common:ReportingMonthOrNotApplicableType | ||
| 592 | |ReportingWeek|(% style="width:418px" %)common:ReportingWeekOrNotApplicableType | ||
| 593 | |ReportingDay|(% style="width:418px" %)common:ReportingDayOrNotApplicableType | ||
| 594 | |TimeRange|(% style="width:418px" %)common:TimeRangeOrNotApplicableType | ||
| 595 | |||
| 596 | === 3.3.8 Representation for Intentionally Missing Measure and Attribute Values === | ||
| 597 | |||
| 598 | For intentionally missing [[measure>>doc:sdmx:Glossary.Measure.WebHome]] and [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values, even if mandatory, the following special values can be used: | ||
| 599 | |||
| 600 | * NaN for all numeric types (float, double) | ||
| 601 | * #N/A for all other types | ||
| 602 | |||
| 603 | To support a specific type and allow for an intentionally missing [[measure>>doc:sdmx:Glossary.Measure.WebHome]] or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] value, the structure-specific schema must union the type with the common:MissingType, which enumerates the #N/A string. Note that XML natively already supports NaN for float and double values. | ||
| 604 | |||
| 605 | This union is as shown in the following example: | ||
| 606 | |||
| 607 | > <xs:simpleType name="DecimalOrMissingType"> | ||
| 608 | > <xs:union memberTypes="xs:decimal common:MissingType"/> | ||
| 609 | > </xs:simpleType> | ||
| 610 | |||
| 611 | For enumerated types, the generated structure-specific schema can include the special value in the enumeration or create a union between the enumerated type and the common:MissingType. | ||
| 612 | |||
| 613 | Option 1: Augmenting the enumeration with the special value | ||
| 614 | |||
| 615 | > <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE"> | ||
| 616 | > <xs:union memberTypes="CL\_SUBINDICATOR common:MissingType"/> | ||
| 617 | > </xs:simpleType> | ||
| 618 | |||
| 619 | Option 2: Extending the enumeration with the special value | ||
| 620 | |||
| 621 | > <xs:simpleType name="CL\_ SUBINDICATOR "> | ||
| 622 | > <xs:restriction base="xs:string"> | ||
| 623 | > <xs:enumeration value="A"/> | ||
| 624 | > <xs:enumeration value="#N/A"/> | ||
| 625 | > <xs:restriction> | ||
| 626 | > </xs:simpleType> | ||
| 627 | |||
| 628 | For convenience the common schema provides the union types for the following data types. | ||
| 629 | |||
| 630 | (% style="width:804.294px" %) | ||
| 631 | |(% style="width:279px" %)**SDMX Data Type**|(% style="width:522px" %)**XML Schema Data Type** | ||
| 632 | |(% style="width:279px" %)AlphaNumeric|(% style="width:522px" %)common:AlphaNumericOrMissingType | ||
| 633 | |(% style="width:279px" %)Alpha|(% style="width:522px" %)common:AlphaOrMissingType | ||
| 634 | |(% style="width:279px" %)Numeric|(% style="width:522px" %)common:NumericOrMissingType | ||
| 635 | |(% style="width:279px" %)BigInteger|(% style="width:522px" %)common:IntegerOrMissingType | ||
| 636 | |(% style="width:279px" %)Integer|(% style="width:522px" %)common:IntOrMissingType | ||
| 637 | |(% style="width:279px" %)Long|(% style="width:522px" %)common:LongOrMissingType | ||
| 638 | |(% style="width:279px" %)Short|(% style="width:522px" %)common:ShortOrMissingType | ||
| 639 | |(% style="width:279px" %)Decimal|(% style="width:522px" %)common:DecimalOrMissingType | ||
| 640 | |(% style="width:279px" %)Float|(% style="width:522px" %)common:FloatOrMissingType | ||
| 641 | |(% style="width:279px" %)Double|(% style="width:522px" %)common:DoubleOrMissingType | ||
| 642 | |(% style="width:279px" %)Boolean|(% style="width:522px" %)common:BooleanOrMissingType | ||
| 643 | |(% style="width:279px" %)Count|(% style="width:522px" %)common:IntegerOrMissingType | ||
| 644 | |(% style="width:279px" %)InclusiveValueRange|(% style="width:522px" %)common:DecimalOrMissingType | ||
| 645 | |(% style="width:279px" %)ExclusiveValueRange|(% style="width:522px" %)common:DecimalOrMissingType | ||
| 646 | |(% style="width:279px" %)Incremental|(% style="width:522px" %)common:DecimalOrMissingType | ||
| 647 | |(% style="width:279px" %)ObservationalTimePeriod|(% style="width:522px" %)common:ObservationalTimePeriodOrMissingType | ||
| 648 | |(% style="width:279px" %)StandardTimePeriod|(% style="width:522px" %)common:StandardTimePeriodOrMissingType | ||
| 649 | |(% style="width:279px" %)BasicTimePeriod|(% style="width:522px" %)common:BasicTimePeriodType | ||
| 650 | |(% style="width:279px" %)GregorianTimePeriod|(% style="width:522px" %)common:GregorianTimePeriodOrMissingType | ||
| 651 | |(% style="width:279px" %)ReportingTimePeriod|(% style="width:522px" %)common:ReportingTimePeriodOrMissingType | ||
| 652 | |(% style="width:279px" %)ReportingYear|(% style="width:522px" %)common:ReportingYearOrMissingType | ||
| 653 | |(% style="width:279px" %)ReportingSemester|(% style="width:522px" %)common:ReportingSemesterOrMissingType | ||
| 654 | |(% style="width:279px" %)ReportingTrimester|(% style="width:522px" %)common:ReportingTrimesterOrMissingType | ||
| 655 | |(% style="width:279px" %)ReportingQuarter|(% style="width:522px" %)common:ReportingQuarterOrMissingType | ||
| 656 | |(% style="width:279px" %)ReportingMonth|(% style="width:522px" %)common:ReportingMonthOrMissingType | ||
| 657 | |(% style="width:279px" %)ReportingWeek|(% style="width:522px" %)common:ReportingWeekOrMissingType | ||
| 658 | |(% style="width:279px" %)ReportingDay|(% style="width:522px" %)common:ReportingDayOrMissingType | ||
| 659 | |(% style="width:279px" %)TimeRange|(% style="width:522px" %)common:TimeRangeOrMissingType | ||
| 660 | |||
| 661 | === 3.3.9 Representation with Complex Text Format === | ||
| 662 | |||
| 663 | A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines a complex text format will result in a complex type. The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is complex if any of the following conditions are true: | ||
| 664 | |||
| 665 | * [[representation>>doc:sdmx:Glossary.Representation.WebHome]] max occurs is greater than 1 | ||
| 666 | * text format data type is XHMTL | ||
| 667 | * text format is multi-lingual | ||
| 668 | |||
| 669 | The resulting complex type will be derived via restriction of the common:ValueType. In simple cases, there are pre-defined types that can be used: | ||
| 670 | |||
| 671 | * if the text format data type is XHTML, common:StructuredTextValueType can be used; note that this type cannot be further restricted – all other [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are ignored | ||
| 672 | * if the text format is multi-lingual, common:TextValueType can be used; note that this type cannot be further restricted – all other [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are ignored | ||
| 673 | * if the text format has no additional [[facets>>doc:sdmx:Glossary.Facet.WebHome]] and the data type is: | ||
| 674 | ** Boolean, common:BooleanValueType can be used | ||
| 675 | ** String, common:StringValueType can be used | ||
| 676 | ** Integer, common:IntValueType can be used | ||
| 677 | ** Double, common:DoubleValueType can be used | ||
| 678 | ** ObservationalTimePeriod, common:ObservationalTimePeriodValueType can be used | ||
| 679 | |||
| 680 | If a pre-defined type cannot be used, one will have to be created. The complex type must define a simple content restriction of the common:ValueType. The restriction should define an anonymous simple type based on the text format data type and [[facets>>doc:sdmx:Glossary.Facet.WebHome]] as described in the previous section. | ||
| 681 | |||
| 682 | === 3.3.10 Type Names === | ||
| 683 | |||
| 684 | These rules will only dictate type names where absolutely necessary. In all other cases, it is the decision of the implementer as to how to name or use the type. It is also the implementer's requirement to ensure that any type name is properly unique within its scope. To assist in this, the following recommendations are offered for naming types such that they are unique. | ||
| 685 | |||
| 686 | * It the type is an enumeration from an [[item scheme>>doc:sdmx:Glossary.Item scheme.WebHome]], the recommended name is ~[[[Item Scheme>>doc:sdmx:Glossary.Item scheme.WebHome]] Class].[Maintenance Agency].~[[[Item Scheme>>doc:sdmx:Glossary.Item scheme.WebHome]] ID].~[[[Item Scheme>>doc:sdmx:Glossary.Item scheme.WebHome]] Version] | ||
| 687 | * If the type is based on a text format of a (% style="color:#e74c3c" %)concept(%%) core [[representation>>doc:sdmx:Glossary.Representation.WebHome]], the recommended name is (% style="color:#e74c3c" %)Concept(%%).[Maintenance Agency].[(% style="color:#e74c3c" %)Concept(%%) Scheme ID].[(% style="color:#e74c3c" %)Concept(%%) Scheme Version].[(% style="color:#e74c3c" %)Concept(%%) ID] | ||
| 688 | * If the type is based on a text format of a [[component>>doc:sdmx:Glossary.Component.WebHome]] local [[representation>>doc:sdmx:Glossary.Representation.WebHome]], and; | ||
| 689 | ** The [[component>>doc:sdmx:Glossary.Component.WebHome]] id is required to be unique for all [[components>>doc:sdmx:Glossary.Component.WebHome]] within the scope of the structure which defines it (e.g. a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]), the recommended name is ~[[[Component>>doc:sdmx:Glossary.Component.WebHome]] ID] | ||
| 690 | ** The [[component>>doc:sdmx:Glossary.Component.WebHome]] id is only required to be unique within the [[component>>doc:sdmx:Glossary.Component.WebHome]] list and which defines it (e.g. a metadata attribute), the recommend name is [Component List ID].[Parent Component ID]\*.[Component ID] | ||
| 691 | |||
| 692 | === 3.3.11 Type Reuse === | ||
| 693 | |||
| 694 | It is possible that organisations that manage a large number of structure-specific schemas my wish to take advantage of the reuse of previously defined type in order to simply the structure-specific schema creation and lessen the number of schema elements which are created. The structure-specific formats are designed in such a way that this would be allowed without any adverse affects. | ||
| 695 | |||
| 696 | For example, an organisation my create predefined types for all of [[codelists>>doc:sdmx:Glossary.Code list.WebHome]] and [[concept schemes>>doc:sdmx:Glossary.Concept scheme.WebHome]] which their structures utilize. These could be contained in a common schema with any namespace deemed appropriate. This would allow the structure-specific schemas generation process to recognize the reused [[components>>doc:sdmx:Glossary.Component.WebHome]] and not be concerned with regenerating types. The logical flow for setting the [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of a [[component>>doc:sdmx:Glossary.Component.WebHome]] might be as follows: | ||
| 697 | |||
| 698 | Does the component define a local type? | ||
| 699 | Yes: Is that type enumerated? | ||
| 700 | Yes: Type is the qualified type name for the item scheme | ||
| 701 | No: Generate simple type for text format | ||
| 702 | No: Type is the qualified name for the concept from which the component takes its semantic. | ||
| 703 | |||
| 704 | Only the constructs that will be detailed in the data and metadata structure-specific rules below are required to be in the specified target namespace of the structure-specific schema. So long as any other generated type conforms to the rules specified, it may exist in any namespace. | ||
| 705 | |||
| 706 | == 3.4 Data-Structure-Specific Schema == | ||
| 707 | |||
| 708 | Separate schemas will be created for the data structure depending on which [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] occurs at the observation (% style="color:#e74c3c" %)level(%%). The recommended target namespace of the data structured specific schema is: [Data Structure URN]:ObsLevelDim:[Observation Dimensions]. | ||
| 709 | |||
| 710 | The rules for generating the data-structure-specific-schema are broken into sections based on the (% style="color:#e74c3c" %)level(%%) within the structure (i.e. [[data set>>doc:sdmx:Glossary.Data set.WebHome]], group, series, [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]], observation). Each section will state the rules for each variation of the structure-specific format. | ||
| 711 | |||
| 712 | === 3.4.1 DataSetType === | ||
| 713 | |||
| 714 | A complex type named DataSetType must be created. Its content model will be derived via restriction. The base type of the restriction is [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:DataSetType. The complex type content model will be as follows: | ||
| 715 | |||
| 716 | ~1. A sequence consisting of: | ||
| 717 | |||
| 718 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 719 | * ii A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0 | ||
| 720 | * iii A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of: | ||
| 721 | ** a. A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows) | ||
| 722 | ** b. If the data structure defines groups, a local element named Group with a form of unqualified. The type of this element should be the type that is described in the GroupType section which follows. | ||
| 723 | ** c. If the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) is not AllDimensions, a local element named Series with a form of unqualified and a type of SeriesType (as defined in the SeriesType section which follows) | ||
| 724 | ** d. If the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) is AllDimensions, a local element named Obs with a form of unqualified and a type of ObsType (as defined in the ObsType section which follows) | ||
| 725 | * iv. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] of [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurences of 0 | ||
| 726 | |||
| 727 | === 3.4.2 GroupType === | ||
| 728 | |||
| 729 | If the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] defines only one group, a complex type with its name taken from the identifier of the lone group must be defined. This type is used for the Group element in the DataSetType. Its content model will be derived via restriction of the [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:GroupType. The complex type content model will be as follows: | ||
| 730 | |||
| 731 | ~1. A sequence consisting of: | ||
| 732 | |||
| 733 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 734 | * ii. If any [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the group, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:CompType | ||
| 735 | * iii. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0 | ||
| 736 | |||
| 737 | 2. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] referenced by the group. The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is required | ||
| 738 | 3. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each data [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] with simple [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the group or specifies the group as an attachment group. The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is optional | ||
| 739 | 4. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] named type with a type of common:IDType, usage of optional, and a fixed value of the identifier of the group | ||
| 740 | |||
| 741 | If the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] defines more than one group, an abstract complex type with name GroupType must be created. This type is used for the Group element in the DataSetType. Its content model will be derived via restriction of the [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:GroupType. The complex type content model will be as follows: | ||
| 742 | |||
| 743 | ~1. A sequence consisting of: | ||
| 744 | |||
| 745 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 746 | * ii. If any [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with a group, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:CompType | ||
| 747 | * iii. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with any group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0 | ||
| 748 | |||
| 749 | 2. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] named type with a type of Group.ID, and a usage of optional | ||
| 750 | 3. An anyAttribute declaration with a namespace of ##local## | ||
| 751 | |||
| 752 | A simple type named Group.ID must be created. This should restrict the common:IDType. For each group defined by the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]], an enumeration will be created within the restriction with a value of the group identifier. | ||
| 753 | |||
| 754 | For each group defined in the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]], a complex type with its name taken from the group identifier is defined. Its content model will be derived via restriction of the previously defined GroupType. The complex type content model will be as follows: | ||
| 755 | |||
| 756 | ~1. A sequence consisting of: | ||
| 757 | |||
| 758 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 759 | * ii. If any [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] with complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined in the data structure declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the group, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:CompType | ||
| 760 | * iii. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0 | ||
| 761 | |||
| 762 | 2. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] referenced by the group. The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is required | ||
| 763 | 3. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each data [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] with simple [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the group or specifies the group as an attachment group. The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is optional | ||
| 764 | 4. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group | ||
| 765 | |||
| 766 | === 3.4.3 SeriesType === | ||
| 767 | |||
| 768 | If the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation is not AllDimensions, a complex type name SeriesType must be created. Its content model will be derived via restriction of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:SeriesType. The complex type content model will be as follows: | ||
| 769 | |||
| 770 | ~1. A sequence consisting of: | ||
| 771 | |||
| 772 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 773 | * ii. If any [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] with complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined in the data structure declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] that is not at the observation (% style="color:#e74c3c" %)level(%%), a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:CompType | ||
| 774 | * iii. A local element named Obs with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of ObsType (as defined in the ObsType section which follows) | ||
| 775 | * iv. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the series, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0 | ||
| 776 | |||
| 777 | 2. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] named TIME\_PERIOD with a type of common:ObservationalTimePeriod. If the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) is the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (TIME\_PERIOD) or there is no time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] defined by the data structure, a usage of prohibited; otherwise, a usage of required | ||
| 778 | 3. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] defined by the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]], except for the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) and the time [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (TIME\_PERIOD). | ||
| 779 | |||
| 780 | The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is required | ||
| 781 | 4. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each data [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] defined with simple [[representation>>doc:sdmx:Glossary.Representation.WebHome]] in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with any [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] outside of the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) (so long as it does not also declare an attachment group). The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is optional | ||
| 782 | |||
| 783 | === 3.4.4 AttsType === | ||
| 784 | |||
| 785 | A complex type named AttsType must be created. Its content model will be derived via restriction of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:AttsType. The complex type content model will be as follows: | ||
| 786 | |||
| 787 | ~1. A sequence consisting of: | ||
| 788 | |||
| 789 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 790 | * ii. If any [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] with complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] are defined in the data structure, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of dsd:CompType | ||
| 791 | |||
| 792 | 2. If there is no [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (TIME\_PERIOD) defined by the data structure, an [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] named TIME\_PERIOD with a type of common:ObservationalTimePeriod, and a usage of prohibited | ||
| 793 | 3. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for all [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] defined by the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is optional | ||
| 794 | 4. An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each data [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] defined with simple [[representation>>doc:sdmx:Glossary.Representation.WebHome]] in the data structure. The XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name and type are defined according to the general rules defined in the previous section, and the usage is optional | ||
| 795 | |||
| 796 | === 3.4.5 ObsType === | ||
| 797 | |||
| 798 | A complex type name ObsType must be created. Its content model will be derived via restriction of the base type [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:ObsType. The complex type content model will be as follows: | ||
| 799 | |||
| 800 | ~1. A sequence consisting of: | ||
| 801 | |||
| 802 | * i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 | ||
| 803 | * ii. If any [[measures>>doc:sdmx:Glossary.Measure.WebHome]] with complex [[representations>>doc:sdmx:Glossary.Representation.WebHome]] are defined in the data structure, any [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] with complex [[representation>>doc:sdmx:Glossary.Representation.WebHome]] that declare an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the observation, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:CompType | ||
| 804 | * iii. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] with the observation, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0 | ||
| 805 | |||
| 806 | 2. An attribute named TIME\_PERIOD with a type of common: ObservationalTimePeriodValueType. If the dimension at the observation level is the time dimension (TIME\_PERIOD) or all dimensions and the time dimension is defined by the data structure, a usage of required; otherwise, a usage of prohibited | ||
| 807 | 3. If the dimension at the observation level is not all dimensions or the time dimension (TIME\_PERIOD), an attribute for the dimension at the observation level. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required | ||
| 808 | 4. If the dimension at the observation level is all dimensions, an attribute for each dimension defined by the data structure definition, except for the time dimension (TIME\_PERIOD). The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required | ||
| 809 | 5. An attribute for each measure with simple representation defined by the data structure definition. The XML attribute name and type is defined according to the general rules defined in the previous section, and the usage is optional | ||
| 810 | 6. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the observation. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional | ||
| 811 | |||
| 812 | === 3.4.6 CompType === | ||
| 813 | |||
| 814 | For every measure and data attribute with complex representation defined by the data structure definition, a complex type must be derived from the restriction of the dsd:CompType. The complex type content model will be as follows: | ||
| 815 | |||
| 816 | 1. A sequence consisting of: | ||
| 817 | 1. An element reference to common:Annotations, with a minimum occurrence of 0 | ||
| 818 | 2. A Value element with a form of unqualified, with a minimum occurrence of 0, a maximum occurrence defined by the representation, and a type based on the [complex representation type](#339-Representation-with-Complex-Text-Format) defined according to the general rules defined in the previous section | ||
| 819 | 2. An attribute named id with a type of common: NCNameIDType, usage of required, and a fixed value of the identifier of the measure or attribute | ||
| 820 | |||
| 821 | = 4 Data and Reference Metadata Actions = | ||
| 822 | |||
| 823 | == 4.1 Data Actions == | ||
| 824 | |||
| 825 | Data messages allow indicating intended actions when used to update an SDMX storage system. This purpose is noted in the action of the data set, which is either inherited from the header of the data message or explicitly stated at the data set level. | ||
| 826 | |||
| 827 | Note that the former *Append* and *Information* actions are deprecated. When used to update an SDMX storage system, the *Merge* action is assumed. | ||
| 828 | |||
| 829 | === 4.1.1 Merge Action === | ||
| 830 | |||
| 831 | Data or data-related reference metadata is to be merged, through either update or insertion depending on already existing information. This operation does not allow deleting any component values. Updating individual values in multi-valued measure, attribute or data-related reference metadata values is not supported either. The complete multi-valued value is to be provided. | ||
| 832 | |||
| 833 | Only non-dimensional components (measure, attribute or data-related reference metadata values) can be **omitted** (null or absent) as long as at least one of those components is present. Bulk merges are thus not supported. Only the provided values are merged. | ||
| 834 | |||
| 835 | Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions. | ||
| 836 | |||
| 837 | All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the *Merge* action change their time stamp when used to update an SDMX storage system. | ||
| 838 | |||
| 839 | === 4.1.2 Replace Action === | ||
| 840 | |||
| 841 | Data or data-related reference metadata is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “//replacement levels//”: for entire observations and for any specific dimension combination for data-related reference metadata attributes. Within these “replacement levels” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other attributes (those above the observation level) are merged (see //Merge// action). | ||
| 842 | |||
| 843 | Only non-dimensional components (measure, attribute or reference metadata values) can be **omitted** (null or absent). Bulk replacing is thus not supported. | ||
| 844 | |||
| 845 | Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions. | ||
| 846 | |||
| 847 | Replacing non-existing elements is not resulting in an error. | ||
| 848 | |||
| 849 | All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the //Replace// action change their time stamp when used to update an SDMX storage system. | ||
| 850 | |||
| 851 | Because the //replace// action always takes place at specific levels, it cannot be used to replace a whole dataset or a whole series. However, a //“replace all”// effect can be achieved by combining a //Delete// dataset containing a completely wildcarded key (where all dimension values are omitted) with a //Merge// or //Replace// dataset within the same data message. Similarly, to replace a whole series, a message can combine a //delete// dataset containing only the partial key of the series (where the not used dimension values are omitted) with a //Merge// or //Replace// dataset for that series. | ||
| 852 | |||
| 853 | === 4.1.3 Delete Action === | ||
| 854 | |||
| 855 | Data or data-related reference metadata is to be deleted. Deletion is hereby assumed to take place at the lowest level of detail provided in the message. | ||
| 856 | |||
| 857 | Any component (including dimensions) can be **omitted** (dimensions: empty, others: null or absent). Omitting dimension values allows for bulk deletions. Partially omitting non-dimension component values allows restricting the deletion of measure, attribute or data-related reference metadata values to the ones being present. Instead of real values for non-dimensional components, it is sufficient to use any valid value. | ||
| 858 | |||
| 859 | With this, whole datasets, any slices of observations for dimension groups such as time series, observations or individual measure, attribute and data-related reference metadata attributes values can be deleted. | ||
| 860 | |||
| 861 | Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions. | ||
| 862 | |||
| 863 | Deleting non-existing elements or values is not resulting in an error. | ||
| 864 | |||
| 865 | All observations as well as the sets of attributes and data-related reference metadata at higher partial keys impacted by the *Delete* action change their time stamp when used to update an SDMX storage system. | ||
| 866 | |||
| 867 | === 4.1.4 Further Details === | ||
| 868 | |||
| 869 | The following convention is used to indicate the state of components in data messages: | ||
| 870 | |||
| 871 | (% style="width:1364.29px" %) | ||
| 872 | | | |(% style="width:260px" %)**Dimension value is**|(% style="width:391px" %) |(% style="width:383px" %)**Measure, attribute or reference metadata value is**|(% style="width:184px" %) | ||
| 873 | | | |(% style="width:260px" %)**Omitted**|(% style="width:391px" %)**switched off**|(% style="width:383px" %)**Omitted**|(% style="width:184px" %)**Present** | ||
| 874 | |Action|Delete|(% style="width:260px" %)bulk deletion: dimension value doesn't matter|(% style="width:391px" %)only for irrelevant dimensions:1) higher-level (reference metadata) attributes not attached to this dimension(incl. TIME\_PERIOD)2) measures and attributes not attached to this dimension if the DSD allows for an ‘evolving structure’ (excl. TIME\_PERIOD)|(% style="width:383px" %)to be deleted only if **all** non-dimension components are omitted|(% style="width:184px" %)to be deleted | ||
| 875 | | |Merge|(% style="width:260px" %)//bulk merge is not permitted//|(% style="width:391px" %)(see above)|(% style="width:383px" %)not to be changed|(% style="width:184px" %)to be updated/inserted | ||
| 876 | | |Replace|(% style="width:260px" %)//bulk replace is not permitted//|(% style="width:391px" %)(see above)|(% style="width:383px" %)at permitted replacement levels: to be deleted, otherwise not to be changed|(% style="width:184px" %)to be updated/inserted | ||
| 877 | |Format|XML|(% style="width:260px" %)xml element/attribute is absent|(% style="width:391px" %)~|xml element/attribute is absent|(% style="width:383px" %)any valid or intentionally missing value|(% style="width:184px" %) | ||
| 878 | | |JSON|(% style="width:260px" %)\<empty\>|(% style="width:391px" %)““|(% style="width:383px" %)NULL or absent|(% style="width:184px" %)(see above) | ||
| 879 | | |CSV|(% style="width:260px" %)\<empty\> cell or column is absent|(% style="width:391px" %)~|<empty> cell or column is absent|(% style="width:383px" %)(see above)|(% style="width:184px" %) | ||
| 880 | |||
| 881 | **Important notes:** | ||
| 882 | |||
| 883 | The terms “//delete//”, “//merge//” and “//replace//” do **not** imply a physical replacement or deletion of values in the underlying database. To minimize the physical resource requirements, SDMX web service implementations that do not support the //includeHistory// and //asOf// URL parameters might physically replace the existing values in the database. SDMX web services that neither support the *updatedAfter* URL parameter might also implement physical deletions. However, SDMX web services that support these parameters (or other time-machine features), would not overwrite or delete the physical values. | ||
| 884 | |||
| 885 | SDMX web services that support the //includeHistory// or //asOf// URL parameters should never allow deleting their **historic** data content because this would interfere with the interests of data consumers, such as data aggregators. Therefore, a specific feature to physically delete previous (outdated) content is intentionally not added to the SDMX standard syntax. If such a feature is required by an organisation, then it needs to be implemented as a custom feature outside the SDMX standard. | ||
| 886 | |||
| 887 | Likewise, all SDMX-compliant systems that do (or are configured to) support the //updatedAfter// URL parameter need to systematically retain the information about deleted data (or data-related reference metadata). | ||
| 888 | |||
| 889 | All datasets – even with varying actions – within a single data message have always to be treated as **ACID transaction** to guarantee “transactional safety” (full data consistency and validity despite errors, power failures, and other mishaps). These datasets are to be processed in the order of appearance in the message. The advantage of such data messages is thus the ability to bundle separate //delete// and //replace// or //merge// actions into one transactional data message. | ||
| 890 | |||
| 891 | **Recommended{{footnote}}So far this is recommended for systems that do not require backward-compatibility. Later, with SDMX 4.0, this may generally be made mandatory{{/footnote}} dataset actions in SDMX web service responses to GET data queries:** | ||
| 892 | |||
| 893 | ~1. Without the //updatedAfter//, //includeHistory//, //detail//, //attributes// or //measures// URL parameters: | ||
| 894 | |||
| 895 | The response message should contain the retrieved data in a //Replace// dataset (instead of the previous *information* dataset). | ||
| 896 | |||
| 897 | 2. Without the //updatedAfter// and //includeHistory//, but with //detail//, //attributes// or //measures// URL parameters: | ||
| 898 | |||
| 899 | The response message should contain the retrieved data in a //Merge// dataset (instead of the previous *Information* dataset). | ||
| 900 | |||
| 901 | 3. With the //updatedAfter// URL parameter: | ||
| 902 | |||
| 903 | The response must include the information of all previously updated, inserted and deleted data or data-related reference metadata, even if bulk deletions have been used. One of the two approaches are possible: | ||
| 904 | |||
| 905 | * a //Delete// dataset for entirely deleted observations and for entirely deleted sets of (data-related reference metadata) attribute values attached to specific dimension combinations and | ||
| 906 | a //Replace// dataset for all other changed observations and changed attribute and data-related reference metadata values attached to specific dimension combinations, or | ||
| 907 | * a //Delete// dataset for entirely deleted observations, for entirely deleted sets of (data-related reference metadata) attribute values attached to specific dimension combinations and for individually deleted mesure, attribute and reference metadata values and | ||
| 908 | a //Merge// dataset for all other updated or inserted observation, attribute and data-related reference metadata values. | ||
| 909 | |||
| 910 | The DB synchronization use case requires that the generated response must always allow achieving to replicate the exact same punctual data content as currently stored in the queried data source. | ||
| 911 | |||
| 912 | ~1. With the *includeHistory* URL parameter: | ||
| 913 | |||
| 914 | Using a number of datasets with *Delete*, *Replace* or *Merge* actions and limited in their validity time span that allow achieving to replicate the exact same punctual data contents as previously stored in the queried data source. | ||
| 915 | |||
| 916 | 2. With the *asOf* URL parameter: | ||
| 917 | |||
| 918 | The recommendations of 1 and 2 apply depending on the other parameters. In addition, the returned dataset should have its validity time span limited to the point in time requested in the *asOf* parameter. | ||
| 919 | |||
| 920 | == 4.2 Reference Metadata Actions == | ||
| 921 | |||
| 922 | Reference metadata defined by a Metadataflow or a MetadataProvisionAgreement are exchanged within reference metadatasets, which are maintainable and thus for actions behave like structural metadata (artefacts): When interacting with SDMX Rest web services, the HTTP action verbs GET, PUT and POST are used to indicate the intended action per web request. Consequently, different actions cannot be bundled and executed with “transactional ACIDity”. Note that metadatasets retrieved using the HTTP header “Accept-Language” may contain only partial languages, and thus should be marked with its *isPartialLanguage* property set to true. Submitting such a partial metadataset to update an SDMX storage system will only add or update the included languages but not change other languages. | ||
| 923 | |||
| 924 | The former message header or metadataset property *DataSetAction* is deprecated. To avoid conflicts, it is now ignored if still present. | ||
| 925 | |||
| 926 | {{putFootnotes/}} |