Last modified by Helena K. on 2026/06/09 17:04

From version 2.4
edited by Helena K.
on 2025/07/02 14:52
Change comment: There is no comment for this version
To version 12.2
edited by Helena K.
on 2026/06/09 16:42
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Part IV. Data
1 +Part IV. Data and Reference Metadata Namespaces
Tags
... ... @@ -1,0 +1,1 @@
1 +Annotation|Artefact|Attachment level|Attribute|Attribute relationship|Code|Code list|Component|Concept scheme|Data consumer|Data set|Data structure definition|Dataflow|Dimension|Facet|Hierarchy|Incremental update|Item scheme|Maintenance agency|Measure|Metadata set|Metadataflow|Provision agreement|Reference metadata|Representation|SDMX Registry|SDMX-ML|Series key|Statistical data and metadata exchange|Structural metadata|isExternalReference
Content
... ... @@ -6,11 +6,11 @@
6 6  
7 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 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.
9 +For data messages, since 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 placed at the observation level.
10 10  
11 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 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.
13 +For metadata messages, since version 3.0, in opposite, only the generic format is maintained, the (metadata-)structure-specific format being deprecated.
14 14  
15 15  = 2 Schema Documentation =
16 16  
... ... @@ -38,7 +38,7 @@
38 38  Derivation:
39 39  
40 40  AnnotableType (extension)
41 - DataSetType
41 + DataSetType
42 42  
43 43  Attributes:
44 44  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
... ... @@ -66,10 +66,10 @@
66 66  |**Name**|**Type**|**Documentation**
67 67  |Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.
68 68  |DataProvider|DataProviderReferenceType|DataProvider contains a reference to the provider for the data set.
69 -|Atts|*AttsType*|Atts contains a set of data or metadata attribute values with an attachment level of none (i.e. data set level) or reported against a partial set of dimension values.
70 -|Group|*GroupType*|Group contains a reference to a defined group in the data structure definition along with its key (if necessary) and values for the attributes which are associated with the group. An attribute is associated to a group by either an explicit group relationship or by a group attachment when the attribute has a relationship with a dimension which is a member of this group.
71 -|Series|*SeriesType*|Series contains a collection of observations that share a common key (set of dimension values). The key of a series is every dimension defined in the data structure definition, save the dimension at the observation level. In addition to the key and observations, the series contains values for data and metadata attributes which have a relationship with any dimension that is part of the series key, so long as the attribute does not specify an attachment group or also has a relationship with the dimension declared to be at the observation level.
72 -|Obs|*ObsType*|Obs is an un-grouped observation. This observation has a key which is a set of values for all dimensions declared in the data structure definition. In addition to the key, the value of the observation can be provided along with values for all data and metadata attributes which have an association with the observation or any dimension (so long as it does not specify a group attachment).
69 +|Atts|//AttsType//|Atts contains a set of data or metadata attribute values with an attachment level of none (i.e. data set level) or reported against a partial set of dimension values.
70 +|Group|//GroupType//|Group contains a reference to a defined group in the data structure definition along with its key (if necessary) and values for the attributes which are associated with the group. An attribute is associated to a group by either an explicit group relationship or by a group attachment when the attribute has a relationship with a dimension which is a member of this group.
71 +|Series|//SeriesType//|Series contains a collection of observations that share a common key (set of dimension values). The key of a series is every dimension defined in the data structure definition, save the dimension at the observation level. In addition to the key and observations, the series contains values for data and metadata attributes which have a relationship with any dimension that is part of the series key, so long as the attribute does not specify an attachment group or also has a relationship with the dimension declared to be at the observation level.
72 +|Obs|//ObsType//|Obs is an un-grouped observation. This observation has a key which is a set of values for all dimensions declared in the data structure definition. In addition to the key, the value of the observation can be provided along with values for all data and metadata attributes which have an association with the observation or any dimension (so long as it does not specify a group attachment).
73 73  |Metadata|MetadataSetType|Allows for attachment of reference metadata against to the data set.
74 74  
75 75  //**GroupType:**// GroupType is the abstract type which defines a structure which is used to communicate attribute values for a group defined in a data structure definition. The group can consist of either a subset of the dimensions defined by the data structure definition, or an association to an attachment constraint, which in turn defines key sets to which attributes can be attached. In the case that the group is based on an attachment 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 constraint and apply the values provided for the attributes appropriately. Data structure definition schemas will drive types based on this for each group defined in the data structure definition. Both the dimension values which make up the key (if applicable) and the attribute values associated with the group will be represented with XML attributes. 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the group dimensions and data or metadata attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
... ... @@ -99,7 +99,7 @@
99 99  |Comp|//CompType//|(% style="width:717px" %)Comp contains the details of group level attributes that have complex representation and cannot be expressed as XML attributes.
100 100  |Metadata|MetadataSetType|(% style="width:717px" %)Allows for attachment of reference metadata against to the group.
101 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 defined in the data structure definition save the dimension declared to be at the observation level for this data set. Note, if the schema is generated against a dataflow with a dimension constraint, they key includes only the dimensions defined in the dimension constraint. In addition to observations, values can be provided for data and metadata attributes which are associated with the dimensions which make up this series key (so long as the attributes do not specify a group attachment or also have a relationship with the observation dimension). It is possible for the series to contain only observations or only attribute values, or both. Data structure definition schemas will derive a type based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. Both the dimension values which make up the key and the attribute values associated with the key dimensions will be represented with XML attributes. 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
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 defined in the data structure definition save the dimension declared to be at the observation level for this data set. Note, if the schema is generated against a dataflow with a dimension constraint, they key includes only the dimensions defined in the dimension constraint. In addition to observations, values can be provided for data and metadata attributes which are associated with the dimensions which make up this series key (so long as the attributes do not specify a group attachment or also have a relationship with the observation dimension). It is possible for the series to contain only observations or only attribute values, or both. Data structure definition schemas will derive a type based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. Both the dimension values which make up the key and the attribute values associated with the key dimensions will be represented with XML attributes. 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
103 103  
104 104  Derivation:
105 105  
... ... @@ -114,18 +114,20 @@
114 114  
115 115  Attribute Documentation:
116 116  
117 -|**Name**|**Type**|**Documentation**|
118 -|TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD attribute is an explict attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type.|
117 +(% style="width:1084.29px" %)
118 +|**Name**|**Type**|**Documentation**
119 +|TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD attribute is an explict attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type.
119 119  
120 120  Element Documentation:
121 121  
122 -|**Name**|**Type**|**Documentation**|
123 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
124 -|Comp|*CompType*|Comp contains the details of series level attributes that have complex representation and cannot be expressed as XML attributes.|
125 -|Obs|*ObsType*| |
126 -|Metadata|MetadataSetType|Allows for attachment of reference metadata against to the series.|
123 +(% style="width:1093.29px" %)
124 +|**Name**|**Type**|**Documentation**
125 +|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. 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 level attributes that have complex representation and cannot be expressed as XML attributes.
127 +|Obs|//ObsType//|
128 +|Metadata|MetadataSetType|Allows for attachment of reference metadata against to the series.
127 127  
128 -***CompType*:** CompType is the abstract base for any component value (e.g. a data or metadata attribute, or a measure) that cannot be represented as an XML attribute. 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. This type is meant to be restricted based on the component to restrict the cardinality and type of its Value element to conform to the component definition. The type of the value element should be restricted to common:SimpleValueType, common:TextValueType, or common:StructuredValueType. In addition, the id attribute should be restricted to be a fixed value with the component identifier. This restricted type based on the component can then be used on Comp elements by using the xsi:type to state the component being expressed and refine the contents of the element to the values allowed by the component.
130 +//**CompType:**// CompType is the abstract base for any component value (e.g. a data or metadata attribute, or a measure) that cannot be represented as an XML attribute. 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. This type is meant to be restricted based on the component to restrict the cardinality and type of its Value element to conform to the component definition. The type of the value element should be restricted to common:SimpleValueType, common:TextValueType, or common:StructuredValueType. In addition, the id attribute should be restricted to be a fixed value with the component identifier. This restricted type based on the component can then be used on Comp elements by using the xsi:type to state the component being expressed and refine the contents of the element to the values allowed by the component.
129 129  
130 130  Derivation:
131 131  
... ... @@ -140,16 +140,18 @@
140 140  
141 141  Attribute Documentation:
142 142  
143 -|**Name**|**Type**|**Documentation**|
144 -|id|NCNameIDType| |
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" %)
145 145  
146 146  Element Documentation:
147 147  
148 -|**Name**|**Type**|**Documentation**|
149 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
150 -|Value|*ValueType*| |
151 +(% style="width:1015.29px" %)
152 +|**Name**|**Type**|(% style="width:684px" %)**Documentation**
153 +|Annotations|AnnotationsType|(% style="width:684px" %)Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.
154 +|Value|//ValueType//|(% style="width:684px" %)
151 151  
152 -***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 which is declared to be at the observation level if the observation is grouped, or a full set of values for all dimensions in the data structure definition 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 value in a series). The observation can contain an observed value and/or attribute values. Data structure definition schemas will derive a type or types based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. The dimension value(s) which make up the key and the data and metadata attribute values associated with the key dimension(s) or the primary measure will be represented with XML attributes. 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attribute(s) will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived observation type be for the observation dimension(s) and attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
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 which is declared to be at the observation level if the observation is grouped, or a full set of values for all dimensions in the data structure definition 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 value in a series). The observation can contain an observed value and/or attribute values. Data structure definition schemas will derive a type or types based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. The dimension value(s) which make up the key and the data and metadata attribute values associated with the key dimension(s) or the primary measure will be represented with XML attributes. 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attribute(s) will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived observation type be for the observation dimension(s) and attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
153 153  
154 154  Derivation:
155 155  
... ... @@ -164,18 +164,20 @@
164 164  
165 165  Attribute Documentation:
166 166  
167 -|**Name**|**Type**|**Documentation**|
168 -|type|IDType|The type attribute is used when the derived format requires that explicit measure be used. In this case, the derived type based on the measure will fix this value to be the identification of the measure 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 are not used, then the derived type will prohibit the use of this attribute.|
169 -|TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD attribute is an explicit attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type.|
171 +(% style="width:1008.29px" %)
172 +|**Name**|**Type**|(% style="width:648px" %)**Documentation**
173 +|type|IDType|(% style="width:648px" %)The type attribute is used when the derived format requires that explicit measure be used. In this case, the derived type based on the measure will fix this value to be the identification of the measure 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 are not used, then the derived type will prohibit the use of this attribute.
174 +|TIME_PERIOD|ObservationalTimePeriodType|(% style="width:648px" %)The TIME_PERIOD attribute is an explicit attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type.
170 170  
171 171  Element Documentation:
172 172  
173 -|**Name**|**Type**|**Documentation**|
174 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
175 -|Comp|*CompType*|Comp contains the details of observation measures or attributes that have complex representation and cannot be expressed as XML attributes.|
176 -|Metadata|MetadataSetType|Allows for attachment of reference metadata against to the observation.|
178 +(% style="width:1020.29px" %)
179 +|**Name**|**Type**|**Documentation**
180 +|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. 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 or attributes that have complex representation and cannot be expressed as XML attributes.
182 +|Metadata|MetadataSetType|Allows for attachment of reference metadata against to the observation.
177 177  
178 -***AttsType*:** AttsType is the abstract type which defines a structure which is used to group a collection of data or metadata attributes which have a key in common. The key for a attribute collection is a subset of the dimension defined in the data structure definition. This is also used for data set level attributes (i.e. those with an attribute relationship of none). In this case, the subset of dimensions is empty. Data structure definition schemas will derive a type based on this that is specific to the data structure definition. The dimension values which make up the key will be represented with local (non-namespace qualified) XML attributes. The metadata attribute values associated with the key dimensions will be expressed as XML local (non-namespace qualified) attributes if they are simple values (e.g. enumerated, dates, numbers) and are not repeatable. Metadata attributes that are repeatable, or do not have simple values (e.g. text) will be expressed using the Comp element. These dimensions and simple attributes 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
184 +//**AttsType:**// AttsType is the abstract type which defines a structure which is used to group a collection of data or metadata attributes which have a key in common. The key for a attribute collection is a subset of the dimension defined in the data structure definition. This is also used for data set level attributes (i.e. those with an attribute relationship of none). In this case, the subset of dimensions is empty. Data structure definition schemas will derive a type based on this that is specific to the data structure definition. The dimension values which make up the key will be represented with local (non-namespace qualified) XML attributes. The metadata attribute values associated with the key dimensions will be expressed as XML local (non-namespace qualified) attributes if they are simple values (e.g. enumerated, dates, numbers) and are not repeatable. Metadata attributes that are repeatable, or do not have simple values (e.g. text) will be expressed using the Comp element. These dimensions and simple attributes 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 are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes 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 dimension or attribute.
179 179  
180 180  Derivation:
181 181  
... ... @@ -190,29 +190,31 @@
190 190  
191 191  Attribute Documentation:
192 192  
193 -|**Name**|**Type**|**Documentation**|
194 -|TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD attribute is an explict attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type.|
199 +(% style="width:1013.29px" %)
200 +|**Name**|**Type**|**Documentation**
201 +|TIME_PERIOD|ObservationalTimePeriodType|The TIME_PERIOD attribute is an explict attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type.
195 195  
196 196  Element Documentation:
197 197  
198 -|**Name**|**Type**|**Documentation**|
199 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
200 -|Comp|*CompType*|Comp contains the details of the data or metadata attributes that have complex representation and cannot be expressed as XML attributes.|
205 +(% style="width:1020.29px" %)
206 +|**Name**|**Type**|**Documentation**
207 +|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. 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 that have complex representation and cannot be expressed as XML attributes.
201 201  
202 202  == 2.2 Generic Reference Metadata Namespace ==
203 203  
204 -**http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic****
212 +[[http:~~/~~/www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>>http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic**]]
205 205  
206 206  === 2.2.1 Summary ===
207 207  
208 208  Referenced Namespaces:
209 209  
210 -|**Namespace**|**Prefix**|
211 -|http://www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|common|
212 -|<http://www.w3.org/2001/XMLSchema>|xs|
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
213 213  
214 214  Contents:
215 -
216 216  1 Global Element
217 217  3 Complex Types
218 218  
... ... @@ -222,7 +222,7 @@
222 222  
223 223  === 2.2.3 Complex Types ===
224 224  
225 -***MetadataSetBaseType*:** MetadataSetBaseType defines the base refinement of the MetadataSetType. Its purpose is to restrict the urn attribute.
233 +//**MetadataSetBaseType:**// MetadataSetBaseType defines the base refinement of the MetadataSetType. Its purpose is to restrict the urn attribute.
226 226  
227 227  Derivation:
228 228  
... ... @@ -242,26 +242,28 @@
242 242  
243 243  Attribute Documentation:
244 244  
245 -|**Name**|**Type**|**Documentation**|
246 -|id|IDType|The id is the identifier for the object.|
247 -|urn|MetadataSetUrnType|The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details).|
248 -|uri|xs:anyURI|The uri attribute 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 message.|
249 -|version|VersionType|This version attribute holds a version number (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned.|
250 -|validFrom|xs:dateTime|The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.|
251 -|validTo|xs:dateTime|The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.|
252 -|agencyID|NestedNCNameIDType|The agencyID must be provided and identifies the maintenance agency of the object.|
253 -|isExternalReference (default: false)|xs:boolean|The isExternalReference attribute, 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 attribute 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.|
254 -|serviceURL|xs:anyURI|The serviceURL attribute indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface.|
255 -|structureURL|xs:anyURI|The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object.|
256 -|isPartialLanguage (default: false)|xs:boolean|The isPartialLanguage attribute, 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.|
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 holds a valid SDMX Registry URN (see SDMX Registry Specification for details).
257 +|uri|xs:anyURI|(% style="width:669px" %)The uri attribute 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 message.
258 +|version|VersionType|(% style="width:669px" %)This version attribute holds a version number (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned.
259 +|validFrom|xs:dateTime|(% style="width:669px" %)The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.
260 +|validTo|xs:dateTime|(% style="width:669px" %)The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.
261 +|agencyID|NestedNCNameIDType|(% style="width:669px" %)The agencyID must be provided and identifies the maintenance agency of the object.
262 +|isExternalReference (default: false)|xs:boolean|(% style="width:669px" %)The isExternalReference attribute, 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 attribute 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 indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface.
264 +|structureURL|xs:anyURI|(% style="width:669px" %)The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object.
265 +|isPartialLanguage (default: false)|xs:boolean|(% style="width:669px" %)The isPartialLanguage attribute, 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.
257 257  
258 258  Element Documentation:
259 259  
260 -|**Name**|**Type**|**Documentation**|
261 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
262 -|Link|LinkType|Allows for the linking of other resources to identifiable objects. For example, if there is reference metadata associated with a structure, a link to the metadata report can be dynamically inserted in the structure metadata.|
263 -|Name|TextType|Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms.|
264 -|Description|TextType|Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms.|
269 +(% style="width:1057.29px" %)
270 +|**Name**|**Type**|**Documentation**
271 +|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. 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 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.
265 265  
266 266  **MetadataSetType:** MetadataSetType describes the structure for a metadata set, 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. 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 is referenced, it is assumed that the metadata provider described in the provision will be the same as the agency for this set.
267 267  
... ... @@ -284,34 +284,39 @@
284 284  
285 285  Attribute Documentation:
286 286  
287 -|**Name**|**Type**|**Documentation**|
288 -|id|IDType|The id is the identifier for the object.|
289 -|urn|MetadataSetUrnType|The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details).|
290 -|uri|xs:anyURI|The uri attribute 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 message.|
291 -|version|VersionType|This version attribute holds a version number (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned.|
292 -|validFrom|xs:dateTime|The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.|
293 -|validTo|xs:dateTime|The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.|
294 -|agencyID|NestedNCNameIDType|The agencyID must be provided and identifies the maintenance agency of the object.|
295 -|isExternalReference (default: false)|xs:boolean|The isExternalReference attribute, 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 attribute 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.|
296 -|serviceURL|xs:anyURI|The serviceURL attribute indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface.|
297 -|structureURL|xs:anyURI|The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object.|
298 -|isPartialLanguage (default: false)|xs:boolean|The isPartialLanguage attribute, 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.|
299 -|reportingBeginDate|BasicTimePeriodType|The reportingBeginDate indicates the inclusive start time of the data reported in the data or metadata set.|
300 -|reportingEndDate|BasicTimePeriodType|The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set.|
301 -|publicationYear|xs:gYear|The publicationYear holds the ISO 8601 four-digit year.|
302 -|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 published on a quarterly basis).|
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 holds a valid SDMX Registry URN (see SDMX Registry Specification for details).
301 +|uri|xs:anyURI|(% style="width:622px" %)The uri attribute 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 message.
302 +|version|VersionType|(% style="width:622px" %)This version attribute holds a version number (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned.
303 +|validFrom|xs:dateTime|(% style="width:622px" %)The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.
304 +|validTo|xs:dateTime|(% style="width:622px" %)The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.
305 +|agencyID|NestedNCNameIDType|(% style="width:622px" %)The agencyID must be provided and identifies the maintenance agency of the object.
306 +|isExternalReference (default: false)|xs:boolean|(% style="width:622px" %)The isExternalReference attribute, 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 attribute 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 indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface.
308 +|structureURL|xs:anyURI|(% style="width:622px" %)The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object.
309 +|isPartialLanguage (default: false)|xs:boolean|(% style="width:622px" %)The isPartialLanguage attribute, 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.
311 +|reportingEndDate|BasicTimePeriodType|(% style="width:622px" %)The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set.
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 published on a quarterly basis).
303 303  
304 304  Element Documentation:
305 305  
306 -|**Name**|**Type**|**Documentation**|
307 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
308 -|Link|LinkType|Allows for the linking of other resources to identifiable objects. For example, if there is reference metadata associated with a structure, a link to the metadata report can be dynamically inserted in the structure metadata.|
309 -|Name|TextType|Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms.|
310 -|Description|TextType|Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms.|
311 -|MetadataProvision<br/>Agreement|MetadataProvisionAgree<br/>mentReferenceType|Metadataflow provides a reference to the metadata provision agreement the metadata set is being reported against.|
312 -|Metadataflow|MetadataflowReference<br/>Type|Metadataflow provides a reference to the metadataflow the metadata set is being reported against.|
313 -|Target|WildcardUrnType|Target references the target structures for which metadata is being reported. These must conform with the constraints defined by the metadata provision agreement and/or the metadataflow.|
314 -|Attribute|AttributeType|Att elements hold the reported metadata attribute values being reported in the metadata set. These conform to the metadata structure definition.|
317 +(% style="width:1054.29px" %)
318 +|**Name**|(% style="width:185px" %)**Type**|(% style="width:412px" %)**Documentation**
319 +|Annotations|(% style="width:185px" %)AnnotationsType|(% style="width:412px" %)Annotations is a reusable element the provides for a collection of annotations. 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 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 provides a reference to the metadata provision agreement the metadata set is being reported against.
326 +|Metadataflow|(% style="width:185px" %)MetadataflowReference
327 +Type|(% style="width:412px" %)Metadataflow provides a reference to the metadataflow the metadata set 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 constraints defined by the metadata provision agreement and/or the metadataflow.
329 +|Attribute|(% style="width:185px" %)AttributeType|(% style="width:412px" %)Att elements hold the reported metadata attribute values being reported in the metadata set. These conform to the metadata structure definition.
315 315  
316 316  **AttributeType:** AttributeType defines the structure for a reported metadata attribute. A value for the attribute 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 are also available if the metadata attribute definition defines nested metadata attributes.
317 317  
... ... @@ -328,17 +328,19 @@
328 328  
329 329  Attribute Documentation:
330 330  
331 -|**Name**|**Type**|**Documentation**|
332 -|id|IDType|The id attribute identifies the metadata attribute that the value is being reported for.|
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 identifies the metadata attribute that the value is being reported for.
333 333  
334 334  Element Documentation:
335 335  
336 -|**Name**|**Type**|**Documentation**|
337 -|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.|
338 -|Value|xs:anySimpleType|Value holds any simple value (enumerated or not) for the metadata attribute. It can be repeated if this metadata attribute allows for multiple values.|
339 -|Text|TextType|Text is used to supply parallel multi-lingual textual values for the reported metadata attribute. This will be used if the text format of the metadata attribute has a type of string, and the multi-lingual value is set to true.|
340 -|StructuredText|XHTMLType|StructuredText is used to supply parallel multi-lingual structured (as XHTML) textual values for the reported metadata attribute. This will be used if the text format of the metadata attribute has a type of XHTML, and the multi-lingual value is set to true.|
341 -|Attribute|AttributeType|Att contains the reported metadata attribute values for the child metadata attributes.|
352 +(% style="width:1095.29px" %)
353 +|**Name**|**Type**|(% style="width:821px" %)**Documentation**
354 +|Annotations|AnnotationsType|(% style="width:821px" %)Annotations is a reusable element the provides for a collection of annotations. 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. It can be repeated if this metadata attribute 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. This will be used if the text format of the metadata attribute 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. This will be used if the text format of the metadata attribute has a type of XHTML, and the multi-lingual value is set to true.
358 +|Attribute|AttributeType|(% style="width:821px" %)Att contains the reported metadata attribute values for the child metadata attributes.
342 342  
343 343  = 3 Mapping to Structure-Specific Schemas =
344 344  
... ... @@ -353,10 +353,10 @@
353 353  In the subsequent sections, the following namespace prefixes are used:
354 354  
355 355  |**Namespace**|**Prefix**|
356 -|http://www.w3.org/2001/XMLSchema|xs|
357 -|http://www.sdmx.org/resources/sdmxml/schemas/v3_1/common|common|
358 -|http://www.sdmx.org/resources/sdmxml/schemas/v3_1/data/structurespecific|dsd|
359 -|<http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>|metadata|
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|
360 360  
361 361  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:
362 362  
... ... @@ -420,8 +420,8 @@
420 420  The representation of a component is determined by the following precedence:
421 421  
422 422  1. The local representation defined by the component
423 -2. The core representation defined in the concept from which the component takes its semantic
424 -3. A default representation of an un-faceted text format with a data type of String.
440 +1. The core representation defined in the concept from which the component takes its semantic
441 +1. A default representation of an un-faceted text format with a data type of String.
425 425  
426 426  The representation 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 ‘’ (tilde).
427 427  
... ... @@ -437,16 +437,14 @@
437 437  
438 438  A representation which defines an enumeration from a codelist or hierarchy will result in a simple type that is a restriction of the common:IDType. The simple type will define enumerations for each code in the codelist or hierarchy, 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:
439 439  
440 -xml
441 - <xs:simpleType name="ESTAT.CL\_COUNTRY.1.0">
442 - <xs:restriction base="common:IDType">
443 - <xs:enumeration value="BE">
444 - <xs:annotation>
445 - <xs:documentation xml:lang="en">Belgium</xs:documentation>
446 - </xs:annotation>
447 - </xs:enumeration>
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>
448 448  
449 -
450 450  === 3.3.5 Representation with Value List Enumeration ===
451 451  
452 452  A representation 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.
... ... @@ -461,61 +461,61 @@
461 461  
462 462  If the representation is not simple, see the rules in the following section for complex text formats. If the representation is simple, the first step is to determine the base type from the text format data type:
463 463  
464 -|**SDMX Data Type**|**XML Schema Data Type**|
465 -|String|xs:string|
466 -|AlphaNumeric|common:AlphaNumericType|
467 -|Alpha|common:AlphaType|
468 -|Numeric|common:NumericType|
469 -|BigInteger|xs:integer|
470 -|Integer|xs:int|
471 -|Long|xs:long|
472 -|Short|xs:short|
473 -|Decimal|xs:decimal|
474 -|Float|xs:float|
475 -|Double|xs:double|
476 -|Boolean|xs:Boolean|
477 -|URI|xs:anyURI|
478 -|Count|xs:integer|
479 -|InclusiveValueRange|xs:decimal|
480 -|ExclusiveValueRange|xs: decimal|
481 -|Incremental|xs: decimal|
482 -|ObservationalTimePeriod|common:ObservationalTimePeriodType|
483 -|StandardTimePeriod|common:StandardTimePeriodType|
484 -|BasicTimePeriod|common:BasicTimePeriodType|
485 -|GregorianTimePeriod|common:GregorianTimePeriodType|
486 -|GregorianYear|xs:gYear|
487 -|GregorianYearMonth|xs:gYearMonth|
488 -|GregorianDay|xs:date|
489 -|ReportingTimePeriod|common:ReportingTimePeriodType|
490 -|ReportingYear|common:ReportingYearType|
491 -|ReportingSemester|common:ReportingSemesterType|
492 -|ReportingTrimester|common:ReportingTrimesterType|
493 -|ReportingQuarter|common:ReportingQuarterType|
494 -|ReportingMonth|common:ReportingMonthType|
495 -|ReportingWeek|common:ReportingWeekType|
496 -|ReportingDay|common:ReportingDayType|
497 -|DateTime|xs:dateTime|
498 -|TimeRange|common:TimeRangeType|
499 -|Month|xs:gMonth|
500 -|MonthDay|xs:gMonthDay|
501 -|Day|xs:gDay|
502 -|Time|xs:time|
503 -|Duration|xs:duration|
504 -|GeospatialInformation|xs:string|
505 -|XHTML|See the following section for complex representations|
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
506 506  
507 507  If the text format does not specify any further facets, 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 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 according to the following table (the values are mapped as is):
508 508  
509 -|**SDMX Facet**|**XML Schema Facet**|
510 -|minLength|xs:minLength|
511 -|maxLength|xs:maxLength|
512 -|minValue[^1]|if ExclusiveValueRange: xs:minExclusives, else: xs:minInclusive|
513 -|maxValue[^1]|if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive|
514 -|decimals[^1]|xs:fractionDigits|
515 -|pattern|xs:pattern|
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
516 516  
517 -[^1]: Note that these options only apply to numeric representations and should be ignored if the data type is non-numeric.
518 -
519 519  Any other facets are informational only and will not affect the determined type.
520 520  
521 521  === 3.3.7 Representation for Not Applicable Dimensions ===
... ... @@ -524,61 +524,59 @@
524 524  
525 525  To support a specific type and allow for a not applicable dimension 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:
526 526  
527 -xml
528 - <xs:simpleType name="DecimalOrNotApplicableType">
529 - <xs:union memberTypes="xs:decimal common:NotApplicableType"/>
530 - </xs:simpleType>
542 +> <xs:simpleType name="DecimalOrNotApplicableType">
543 +> <xs:union memberTypes="xs:decimal common:NotApplicableType"/>
544 +> </xs:simpleType>
531 531  
532 532  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.
533 533  
534 534  Option 1: Augmenting the enumeration with the special value
535 535  
536 -xml
537 - <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
538 - <xs:union memberTypes="CL\_SUBINDICATOR common:NotApplicableType"/>
539 - </xs:simpleType>
550 +> <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
551 +> <xs:union memberTypes="CL\_SUBINDICATOR common:NotApplicableType"/>
552 +> </xs:simpleType>
540 540  
541 541  Option 2: Extending the enumeration with the special value
542 542  
543 -xml
544 - <xs:simpleType name="CL\_ SUBINDICATOR ">
545 - <xs:restriction base="xs:string">
546 - <xs:enumeration value="A"/>
547 - <xs:enumeration value=""/>
548 - <xs:restriction>
549 - </xs:simpleType>
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>
550 550  
551 551  For convenience the common schema provides the union types for the following data types.
552 552  
553 -|**SDMX Data Type**|**XML Schema Data Type**|
554 -|AlphaNumeric|common:AlphaNumericOrNotApplicableType|
555 -|Alpha|common:AlphaOrNotApplicableType|
556 -|Numeric|common:NumericOrNotApplicableType|
557 -|BigInteger|common:IntegerOrNotApplicableType|
558 -|Integer|common:IntOrNotApplicableType|
559 -|Long|common:LongOrNotApplicableType|
560 -|Short|common:ShortOrNotApplicableType|
561 -|Decimal|common:DecimalOrNotApplicableType|
562 -|Float|common:FloatOrNotApplicableType|
563 -|Double|common:DoubleOrNotApplicableType|
564 -|Boolean|common:BooleanOrNotApplicableType|
565 -|Count|common:IntegerOrNotApplicableType|
566 -|InclusiveValueRange|common:DecimalOrNotApplicableType|
567 -|ExclusiveValueRange|common:DecimalOrNotApplicableType|
568 -|Incremental|common:DecimalOrNotApplicableType|
569 -|ObservationalTimePeriod|common:ObservationalTimePeriodOrNotApplicableType|
570 -|StandardTimePeriod|common:StandardTimePeriodOrNotApplicableType|
571 -|BasicTimePeriod|common:BasicTimePeriodType|
572 -|GregorianTimePeriod|common:GregorianTimePeriodOrNotApplicableType|
573 -|ReportingTimePeriod|common:ReportingTimePeriodOrNotApplicableType|
574 -|ReportingYear|common:ReportingYearOrNotApplicableType|
575 -|ReportingSemester|common:ReportingSemesterOrNotApplicableType|
576 -|ReportingTrimester|common:ReportingTrimesterOrNotApplicableType|
577 -|ReportingQuarter|common:ReportingQuarterOrNotApplicableType|
578 -|ReportingMonth|common:ReportingMonthOrNotApplicableType|
579 -|ReportingWeek|common:ReportingWeekOrNotApplicableType|
580 -|ReportingDay|common:ReportingDayOrNotApplicableType|
581 -|TimeRange|common:TimeRangeOrNotApplicableType|
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
582 582  
583 583  === 3.3.8 Representation for Intentionally Missing Measure and Attribute Values ===
584 584  
... ... @@ -591,61 +591,59 @@
591 591  
592 592  This union is as shown in the following example:
593 593  
594 -xml
595 - <xs:simpleType name="DecimalOrMissingType">
596 - <xs:union memberTypes="xs:decimal common:MissingType"/>
597 - </xs:simpleType>
607 +> <xs:simpleType name="DecimalOrMissingType">
608 +> <xs:union memberTypes="xs:decimal common:MissingType"/>
609 +> </xs:simpleType>
598 598  
599 599  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.
600 600  
601 601  Option 1: Augmenting the enumeration with the special value
602 602  
603 -xml
604 - <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
605 - <xs:union memberTypes="CL\_SUBINDICATOR common:MissingType"/>
606 - </xs:simpleType>
615 + > <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
616 + > <xs:union memberTypes="CL\_SUBINDICATOR common:MissingType"/>
617 + > </xs:simpleType>
607 607  
608 608  Option 2: Extending the enumeration with the special value
609 609  
610 -xml
611 - <xs:simpleType name="CL\_ SUBINDICATOR ">
612 - <xs:restriction base="xs:string">
613 - <xs:enumeration value="A"/>
614 - <xs:enumeration value="#N/A"/>
615 - <xs:restriction>
616 - </xs:simpleType>
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>
617 617  
618 618  For convenience the common schema provides the union types for the following data types.
619 619  
620 -|**SDMX Data Type**|**XML Schema Data Type**|
621 -|AlphaNumeric|common:AlphaNumericOrMissingType|
622 -|Alpha|common:AlphaOrMissingType|
623 -|Numeric|common:NumericOrMissingType|
624 -|BigInteger|common:IntegerOrMissingType|
625 -|Integer|common:IntOrMissingType|
626 -|Long|common:LongOrMissingType|
627 -|Short|common:ShortOrMissingType|
628 -|Decimal|common:DecimalOrMissingType|
629 -|Float|common:FloatOrMissingType|
630 -|Double|common:DoubleOrMissingType|
631 -|Boolean|common:BooleanOrMissingType|
632 -|Count|common:IntegerOrMissingType|
633 -|InclusiveValueRange|common:DecimalOrMissingType|
634 -|ExclusiveValueRange|common:DecimalOrMissingType|
635 -|Incremental|common:DecimalOrMissingType|
636 -|ObservationalTimePeriod|common:ObservationalTimePeriodOrMissingType|
637 -|StandardTimePeriod|common:StandardTimePeriodOrMissingType|
638 -|BasicTimePeriod|common:BasicTimePeriodType|
639 -|GregorianTimePeriod|common:GregorianTimePeriodOrMissingType|
640 -|ReportingTimePeriod|common:ReportingTimePeriodOrMissingType|
641 -|ReportingYear|common:ReportingYearOrMissingType|
642 -|ReportingSemester|common:ReportingSemesterOrMissingType|
643 -|ReportingTrimester|common:ReportingTrimesterOrMissingType|
644 -|ReportingQuarter|common:ReportingQuarterOrMissingType|
645 -|ReportingMonth|common:ReportingMonthOrMissingType|
646 -|ReportingWeek|common:ReportingWeekOrMissingType|
647 -|ReportingDay|common:ReportingDayOrMissingType|
648 -|TimeRange|common:TimeRangeOrMissingType|
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
649 649  
650 650  === 3.3.9 Representation with Complex Text Format ===
651 651  
... ... @@ -660,11 +660,11 @@
660 660  * if the text format data type is XHTML, common:StructuredTextValueType can be used; note that this type cannot be further restricted – all other facets are ignored
661 661  * if the text format is multi-lingual, common:TextValueType can be used; note that this type cannot be further restricted – all other facets are ignored
662 662  * if the text format has no additional facets and the data type is:
663 - + Boolean, common:BooleanValueType can be used
664 - + String, common:StringValueType can be used
665 - + Integer, common:IntValueType can be used
666 - + Double, common:DoubleValueType can be used
667 - + ObservationalTimePeriod, common:ObservationalTimePeriodValueType can be used
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
668 668  
669 669  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 as described in the previous section.
670 670  
... ... @@ -674,9 +674,10 @@
674 674  
675 675  * It the type is an enumeration from an item scheme, the recommended name is [Item Scheme Class].[Maintenance Agency].[Item Scheme ID].[Item Scheme Version]
676 676  * If the type is based on a text format of a concept core representation, the recommended name is Concept.[Maintenance Agency].[Concept Scheme ID].[Concept Scheme Version].[Concept ID]
677 -* If the type is based on a text format of a component local representation, and;
678 - + The component id is required to be unique for all components within the scope of the structure which defines it (e.g. a dimension), the recommended name is [Component ID]
679 - + The component id is only required to be unique within the component list and which defines it (e.g. a metadata attribute), the recommend name is [Component List ID].[Parent Component ID]\*.[Component ID]
688 +* If the type is
689 +* based on a text format of a component local representation, and;
690 +** The component id is required to be unique for all components within the scope of the structure which defines it (e.g. a dimension), the recommended name is [Component ID]
691 +** The component id is only required to be unique within the component list and which defines it (e.g. a metadata attribute), the recommend name is [Component List ID].[Parent Component ID]*.[Component ID]
680 680  
681 681  === 3.3.11 Type Reuse ===
682 682  
... ... @@ -702,34 +702,39 @@
702 702  
703 703  A complex type named DataSetType must be created. Its content model will be derived via restriction. The base type of the restriction is dsd:DataSetType. The complex type content model will be as follows:
704 704  
705 -1. A sequence consisting of:
706 -1. An element reference to common:Annotations, with a minimum occurrence of 0
707 - 2. A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0
708 - 3. A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of:
709 -1. A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows)
710 - 2. 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.
711 - 3. If the dimension at the observation 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)
712 - 4. If the dimension at the observation 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)
713 - 4. If any metadata attribute usages defined in the data structure that declares an attribute relationship of dataflow, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurences of 0
717 +~1. A sequence consisting of:
714 714  
719 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
720 +* ii  A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0
721 +* iii A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of:
722 +** a. A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows)
723 +** 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.
724 +** c. If the dimension at the observation 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)
725 +** d. If the dimension at the observation 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)
726 +* iv. If any metadata attribute usages defined in the data structure that declares an attribute relationship of dataflow, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurences of 0
727 +
715 715  === 3.4.2 GroupType ===
716 716  
717 717  If the data structure definition 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:GroupType. The complex type content model will be as follows:
718 718  
719 -1. A sequence consisting of:
720 -1. An element reference to common:Annotations, with a minimum occurrence of 0
721 - 2. If any attributes defined in the data structure that declares an attribute relationship 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:CompType
722 - 3. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
723 -2. An attribute for each dimension referenced by the group. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
724 -3. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the group or specifies the group as an attachment group. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
732 +~1. A sequence consisting of:
733 +
734 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
735 +* ii. If any attributes defined in the data structure that declares an attribute relationship 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:CompType
736 +* iii. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
737 +
738 +2. An attribute for each dimension referenced by the group. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
739 +3. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the group or specifies the group as an attachment group. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
725 725  4. An attribute named type with a type of common:IDType, usage of optional, and a fixed value of the identifier of the group
726 726  
727 727  If the data structure definition 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:GroupType. The complex type content model will be as follows:
728 728  
729 -1. A sequence consisting of:
730 -1. An element reference to common:Annotations, with a minimum occurrence of 0
731 - 2. If any attributes defined in the data structure that declares an attribute relationship 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:CompType
732 - 3. If any metadata attribute usages defined in the data structure that declares an attribute relationship with any group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
744 +~1. A sequence consisting of:
745 +
746 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
747 +* ii. If any attributes defined in the data structure that declares an attribute relationship 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:CompType
748 +* iii. If any metadata attribute usages defined in the data structure that declares an attribute relationship with any group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
749 +
733 733  2. An attribute named type with a type of Group.ID, and a usage of optional
734 734  3. An anyAttribute declaration with a namespace of ##local##
735 735  
... ... @@ -737,12 +737,14 @@
737 737  
738 738  For each group defined in the data structure definition, 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:
739 739  
740 -1. A sequence consisting of:
741 -1. An element reference to common:Annotations, with a minimum occurrence of 0
742 - 2. If any attributes with complex representation defined in the data structure declares an attribute relationship 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:CompType
743 - 3. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
744 -2. An attribute for each dimension referenced by the group. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
745 -3. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the group or specifies the group as an attachment group. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
757 +~1. A sequence consisting of:
758 +
759 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
760 +* ii. If any attributes with complex representation defined in the data structure declares an attribute relationship 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:CompType
761 +* iii. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the group, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
762 +
763 +2. An attribute for each dimension referenced by the group. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
764 +3. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the group or specifies the group as an attachment group. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
746 746  4. An attribute named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group
747 747  
748 748  === 3.4.3 SeriesType ===
... ... @@ -749,48 +749,59 @@
749 749  
750 750  If the dimension at the observation is not AllDimensions, a complex type name SeriesType must be created. Its content model will be derived via restriction of dsd:SeriesType. The complex type content model will be as follows:
751 751  
752 -1. A sequence consisting of:
753 -1. An element reference to common:Annotations, with a minimum occurrence of 0
754 - 2. If any attributes with complex representation defined in the data structure declares an attribute relationship with a dimension that is not at the observation level, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of dsd:CompType
755 - 3. 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)
756 - 4. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the series, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
771 +~1. A sequence consisting of:
772 +
773 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
774 +* ii. If any attributes with complex representation defined in the data structure declares an attribute relationship with a dimension that is not at the observation level, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of dsd:CompType
775 +* 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)
776 +* iv. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the series, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
777 +
757 757  2. An attribute named TIME\_PERIOD with a type of common:ObservationalTimePeriod. If the dimension at the observation level is the time dimension (TIME\_PERIOD) or there is no time dimension defined by the data structure, a usage of prohibited; otherwise, a usage of required
758 -3. An attribute for each dimension defined by the data structure definition, except for the dimension at the observation level and the time dimension (TIME\_PERIOD). The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
759 -4. An attribute for each data attribute defined with simple representation in the data structure that declares an attribute relationship with any dimension outside of the dimension at the observation level (so long as it does not also declare an attachment group). The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
779 +3. An attribute for each dimension defined by the data structure definition, except for the dimension at the observation level and the time dimension (TIME\_PERIOD).
760 760  
781 +The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
782 +4. An attribute for each data attribute defined with simple representation in the data structure that declares an attribute relationship with any dimension outside of the dimension at the observation level (so long as it does not also declare an attachment group). The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
783 +
761 761  === 3.4.4 AttsType ===
762 762  
763 763  A complex type named AttsType must be created. Its content model will be derived via restriction of dsd:AttsType. The complex type content model will be as follows:
764 764  
765 -1. A sequence consisting of:
766 -1. An element reference to common:Annotations, with a minimum occurrence of 0
767 - 2. If any attributes with complex representation 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
788 +~1. A sequence consisting of:
789 +
790 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
791 +* ii. If any attributes with complex representation 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
792 +
768 768  2. If there is no dimension (TIME\_PERIOD) defined by the data structure, an attribute named TIME\_PERIOD with a type of common:ObservationalTimePeriod, and a usage of prohibited
769 -3. An attribute for all dimension defined by the data structure definition. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
770 -4. An attribute for each data attribute defined with simple representation in the data structure. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
794 +3. An attribute for all dimension defined by the data structure definition. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
795 +4. An attribute for each data attribute defined with simple representation in the data structure. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
771 771  
772 772  === 3.4.5 ObsType ===
773 773  
774 774  A complex type name ObsType must be created. Its content model will be derived via restriction of the base type dsd:ObsType. The complex type content model will be as follows:
775 775  
776 -1. A sequence consisting of:
777 -1. An element reference to common:Annotations, with a minimum occurrence of 0
778 - 2. If any measures with complex representations are defined in the data structure, any attributes with complex representation that declare an attribute relationship 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:CompType
779 - 3. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the observation, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
780 -2. An attribute named TIME\_PERIOD with a type of common:
781 - 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
782 -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](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
783 -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](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
784 -5. An attribute for each measure with simple representation defined by the data structure definition. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) is defined according to the general rules defined in the previous section, and the usage is optional
785 -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](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
801 +~1. A sequence consisting of:
786 786  
803 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
804 +* ii. If any measures with complex representations are defined in the data structure, any attributes with complex representation that declare an attribute relationship 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:CompType
805 +* iii. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the observation, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
806 +
807 +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
808 +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
809 +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).
810 +
811 +The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
812 +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
813 +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
814 +
787 787  === 3.4.6 CompType ===
788 788  
789 789  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:
790 790  
791 -1. A sequence consisting of:
792 -1. An element reference to common:Annotations, with a minimum occurrence of 0
793 - 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 +~1. A sequence consisting of:
820 +
821 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
822 +* ii. 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 defined according to the general rules defined in the previous section
823 +
794 794  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
795 795  
796 796  = 4 Data and Reference Metadata Actions =
... ... @@ -799,7 +799,7 @@
799 799  
800 800  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.
801 801  
802 -Note that the former *Append* and *Information* actions are deprecated. When used to update an SDMX storage system, the *Merge* action is assumed.
832 +Note that the former //Append// and //Information// actions are deprecated. When used to update an SDMX storage system, the //Merge// action is assumed.
803 803  
804 804  === 4.1.1 Merge Action ===
805 805  
... ... @@ -809,11 +809,11 @@
809 809  
810 810  Dimension values for higher-level (data-related reference metadata) attributes can be **switched-off** (using ) when those are not attached to these dimensions.
811 811  
812 -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.
842 +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.
813 813  
814 814  === 4.1.2 Replace Action ===
815 815  
816 -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).
846 +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).
817 817  
818 818  Only non-dimensional components (measure, attribute or reference metadata values) can be **omitted** (null or absent). Bulk replacing is thus not supported.
819 819  
... ... @@ -821,9 +821,9 @@
821 821  
822 822  Replacing non-existing elements is not resulting in an error.
823 823  
824 -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.
854 +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.
825 825  
826 -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.
856 +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.
827 827  
828 828  === 4.1.3 Delete Action ===
829 829  
... ... @@ -837,64 +837,66 @@
837 837  
838 838  Deleting non-existing elements or values is not resulting in an error.
839 839  
840 -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.
870 +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.
841 841  
842 842  === 4.1.4 Further Details ===
843 843  
844 844  The following convention is used to indicate the state of components in data messages:
845 845  
846 -| | |**Dimension value is**| |**Measure, attribute or reference metadata value is**| |
847 -| | |**Omitted**|**switched off**|**Omitted**|**Present**|
848 -|Action|Delete|bulk deletion: dimension value doesn't matter|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)|to be deleted only if **all** non-dimension components are omitted|to be deleted|
849 -| |Merge|*bulk merge is not permitted*|(see above)|not to be changed|to be updated/inserted|
850 -| |Replace|*bulk replace is not permitted*|(see above)|at permitted replacement levels: to be deleted, otherwise not to be changed|to be updated/inserted|
851 -|Format|XML|xml element/attribute is absent|~|xml element/attribute is absent|any valid or intentionally missing value|
852 -| |JSON|\<empty\>|““|NULL or absent|(see above)|
853 -| |CSV|\<empty\> cell or column is absent|~|<empty> cell or column is absent|(see above)|
876 +(% style="width:1364.29px" %)
877 +| | |(% style="width:260px" %)**Dimension value is**|(% style="width:391px" %) |(% style="width:383px" %)**Measure, attribute or reference metadata value is**|(% style="width:184px" %)
878 +| | |(% style="width:260px" %)**Omitted**|(% style="width:391px" %)**switched off**|(% style="width:383px" %)**Omitted**|(% style="width:184px" %)**Present**
879 +|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
880 +| |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
881 +| |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
882 +|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" %)
883 +| |JSON|(% style="width:260px" %)\<empty\>|(% style="width:391px" %)““|(% style="width:383px" %)NULL or absent|(% style="width:184px" %)(see above)
884 +| |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" %)
854 854  
855 855  **Important notes:**
856 856  
857 -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.
888 +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.
858 858  
859 -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.
890 +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.
860 860  
861 -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).
892 +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).
862 862  
863 -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.
894 +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.
864 864  
865 -**Recommended[^2] dataset actions in SDMX web service responses to GET data queries:**
896 +**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:**
866 866  
867 -1. Without the *updatedAfter*, *includeHistory*, *detail*, *attributes* or *measures* URL parameters:
868 -
869 - The response message should contain the retrieved data in a *Replace* dataset (instead of the previous *information* dataset).
898 +~1. Without the //updatedAfter//, //includeHistory//, //detail//, //attributes// or //measures// URL parameters:
870 870  
871 -1. Without the *updatedAfter* and *includeHistory*, but with *detail*, *attributes* or *measures* URL parameters:
872 -
873 - The response message should contain the retrieved data in a *Merge* dataset (instead of the previous *Information* dataset).
900 +The response message should contain the retrieved data in a //Replace// dataset (instead of the previous //information// dataset).
874 874  
875 -1. With the *updatedAfter* URL parameter:
876 -
877 - 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:
902 +2. Without the //updatedAfter// and //includeHistory//, but with //detail//, //attributes// or //measures// URL parameters:
878 878  
879 -* 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
880 - a *Replace* dataset for all other changed observations and changed attribute and data-related reference metadata values attached to specific dimension combinations, or 
881 -* 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
882 - a *Merge* dataset for all other updated or inserted observation, attribute and data-related reference metadata values.
883 -
884 - 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.
904 +The response message should contain the retrieved data in a //Merge// dataset (instead of the previous //Information// dataset).
885 885  
886 -1. With the *includeHistory* URL parameter:
887 -
888 - 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.
906 +3. With the //updatedAfter// URL parameter:
889 889  
890 -1. With the *asOf* URL parameter:
891 -
892 - 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.
908 +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:
893 893  
894 -[^2]: So far this is recommended for systems that do not require backward-compatibility. Later, with SDMX 4.0, this may generally be made mandatory.
910 +* 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
911 +a //Replace// dataset for all other changed observations and changed attribute and data-related reference metadata values attached to specific dimension combinations, or
912 +* 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
913 +a //Merge// dataset for all other updated or inserted observation, attribute and data-related reference metadata values.
895 895  
915 +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.
916 +
917 +~1. With the //includeHistory// URL parameter:
918 +
919 +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.
920 +
921 +2. With the //asOf// URL parameter:
922 +
923 +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.
924 +
896 896  == 4.2 Reference Metadata Actions ==
897 897  
898 -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.
927 +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.
899 899  
900 -The former message header or metadataset property *DataSetAction* is deprecated. To avoid conflicts, it is now ignored if still present.
929 +The former message header or metadataset property //DataSetAction// is deprecated. To avoid conflicts, it is now ignored if still present.
930 +
931 +---
932 +{{putFootnotes/}}--
SUZ.Methodology.Code.MethodologyClass[0]
index
... ... @@ -1,1 +1,0 @@
1 -4
SKMS.Methodology.Code.MethodologyClass[0]
Index
... ... @@ -1,0 +1,1 @@
1 +5
© Semantic R&D Group, 2026