Changes for page Part IV. Data and Reference Metadata Namespaces
Last modified by Elena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -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,20 +114,18 @@ 114 114 115 115 Attribute Documentation: 116 116 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. 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.| 120 120 121 121 Element Documentation: 122 122 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. 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.| 129 129 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.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. 131 131 132 132 Derivation: 133 133 ... ... @@ -142,18 +142,16 @@ 142 142 143 143 Attribute Documentation: 144 144 145 -(% style="width:1007.29px" %) 146 -|(% style="width:157px" %)**Name**|(% style="width:291px" %)**Type**|(% style="width:556px" %)**Documentation** 147 -|(% style="width:157px" %)id|(% style="width:291px" %)NCNameIDType|(% style="width:556px" %) 143 +|**Name**|**Type**|**Documentation**| 144 +|id|NCNameIDType| | 148 148 149 149 Element Documentation: 150 150 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" %) 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*| | 155 155 156 - //**ObsType:**//ObsType is the abstract type which defines the structure of a grouped or un-grouped observation. The observation must be provided a key, which is either a value for the dimension 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.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. 157 157 158 158 Derivation: 159 159 ... ... @@ -168,18 +168,16 @@ 168 168 169 169 Attribute Documentation: 170 170 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. 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.| 175 175 176 176 Element Documentation: 177 177 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. 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.| 183 183 184 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. 185 185 ... ... @@ -196,31 +196,29 @@ 196 196 197 197 Attribute Documentation: 198 198 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. 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.| 202 202 203 203 Element Documentation: 204 204 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. 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.| 209 209 210 210 == 2.2 Generic Reference Metadata Namespace == 211 211 212 - [[http:~~/~~/www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>>http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic**]]204 +**http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic**** 213 213 214 214 === 2.2.1 Summary === 215 215 216 216 Referenced Namespaces: 217 217 218 -(% style="width:1037.29px" %) 219 -|(% style="width:516px" %)**Namespace**|(% style="width:518px" %)**Prefix** 220 -|(% style="width:516px" %)http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|(% style="width:518px" %)common 221 -|(% style="width:516px" %)<http:~/~/www.w3.org/2001/XMLSchema>|(% style="width:518px" %)xs 210 +|**Namespace**|**Prefix**| 211 +|http://www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|common| 212 +|<http://www.w3.org/2001/XMLSchema>|xs| 222 222 223 223 Contents: 215 + 224 224 1 Global Element 225 225 3 Complex Types 226 226 ... ... @@ -250,28 +250,26 @@ 250 250 251 251 Attribute Documentation: 252 252 253 -(% style="width:1051.29px" %) 254 -|**Name**|**Type**|(% style="width:669px" %)**Documentation** 255 -|id|IDType|(% style="width:669px" %)The id is the identifier for the object. 256 -|urn|MetadataSetUrnType|(% style="width:669px" %)The urn attribute 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. 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.| 266 266 267 267 Element Documentation: 268 268 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. 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.| 275 275 276 276 **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. 277 277 ... ... @@ -294,36 +294,34 @@ 294 294 295 295 Attribute Documentation: 296 296 297 -(% style="width:1050.29px" %) 298 -|**Name**|**Type**|(% style="width:622px" %)**Documentation** 299 -|id|IDType|(% style="width:622px" %)The id is the identifier for the object. 300 -|urn|MetadataSetUrnType|(% style="width:622px" %)The urn attribute 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). 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).| 314 314 315 315 Element Documentation: 316 316 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<br/>Agreement|(% style="width:185px" %)MetadataProvisionAgree<br/>mentReferenceType|(% style="width:412px" %)Metadataflow provides a reference to the metadata provision agreement the metadata set is being reported against. 324 -|Metadataflow|(% style="width:185px" %)MetadataflowReference<br/>Type|(% style="width:412px" %)Metadataflow provides a reference to the metadataflow the metadata set is being reported against. 325 -|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. 326 -|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. 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.| 327 327 328 328 **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. 329 329 ... ... @@ -340,19 +340,17 @@ 340 340 341 341 Attribute Documentation: 342 342 343 -(% style="width:1037.29px" %) 344 -|(% style="width:113px" %)**Name**|(% style="width:162px" %)**Type**|(% style="width:760px" %)**Documentation** 345 -|(% 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. 331 +|**Name**|**Type**|**Documentation**| 332 +|id|IDType|The id attribute identifies the metadata attribute that the value is being reported for.| 346 346 347 347 Element Documentation: 348 348 349 -(% style="width:1095.29px" %) 350 -|**Name**|**Type**|(% style="width:821px" %)**Documentation** 351 -|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. 352 -|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. 353 -|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. 354 -|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. 355 -|Attribute|AttributeType|(% style="width:821px" %)Att contains the reported metadata attribute values for the child metadata attributes. 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.| 356 356 357 357 = 3 Mapping to Structure-Specific Schemas = 358 358 ... ... @@ -367,10 +367,10 @@ 367 367 In the subsequent sections, the following namespace prefixes are used: 368 368 369 369 |**Namespace**|**Prefix**| 370 -|http: ~/~/www.w3.org/2001/XMLSchema|xs|371 -|http: ~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/common|common|372 -|http: ~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/data/structurespecific|dsd|373 -|<http: ~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>|metadata|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| 374 374 375 375 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: 376 376 ... ... @@ -434,8 +434,8 @@ 434 434 The representation of a component is determined by the following precedence: 435 435 436 436 1. The local representation defined by the component 437 - 1. The core representation defined in the concept from which the component takes its semantic438 - 1. A default representation of an un-faceted text format with a data type of String.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. 439 439 440 440 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). 441 441 ... ... @@ -460,6 +460,7 @@ 460 460 </xs:annotation> 461 461 </xs:enumeration> 462 462 449 + 463 463 === 3.3.5 Representation with Value List Enumeration === 464 464 465 465 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. ... ... @@ -474,61 +474,61 @@ 474 474 475 475 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: 476 476 477 -(% style="width:679.294px" %) 478 -|(% style="width:286px" %)**SDMX Data Type**|(% style="width:390px" %)**XML Schema Data Type** 479 -|(% style="width:286px" %)String|(% style="width:390px" %)xs:string 480 -|(% style="width:286px" %)AlphaNumeric|(% style="width:390px" %)common:AlphaNumericType 481 -|(% style="width:286px" %)Alpha|(% style="width:390px" %)common:AlphaType 482 -|(% style="width:286px" %)Numeric|(% style="width:390px" %)common:NumericType 483 -|(% style="width:286px" %)BigInteger|(% style="width:390px" %)xs:integer 484 -|(% style="width:286px" %)Integer|(% style="width:390px" %)xs:int 485 -|(% style="width:286px" %)Long|(% style="width:390px" %)xs:long 486 -|(% style="width:286px" %)Short|(% style="width:390px" %)xs:short 487 -|(% style="width:286px" %)Decimal|(% style="width:390px" %)xs:decimal 488 -|(% style="width:286px" %)Float|(% style="width:390px" %)xs:float 489 -|(% style="width:286px" %)Double|(% style="width:390px" %)xs:double 490 -|(% style="width:286px" %)Boolean|(% style="width:390px" %)xs:Boolean 491 -|(% style="width:286px" %)URI|(% style="width:390px" %)xs:anyURI 492 -|(% style="width:286px" %)Count|(% style="width:390px" %)xs:integer 493 -|(% style="width:286px" %)InclusiveValueRange|(% style="width:390px" %)xs:decimal 494 -|(% style="width:286px" %)ExclusiveValueRange|(% style="width:390px" %)xs: decimal 495 -|(% style="width:286px" %)Incremental|(% style="width:390px" %)xs: decimal 496 -|(% style="width:286px" %)ObservationalTimePeriod|(% style="width:390px" %)common:ObservationalTimePeriodType 497 -|(% style="width:286px" %)StandardTimePeriod|(% style="width:390px" %)common:StandardTimePeriodType 498 -|(% style="width:286px" %)BasicTimePeriod|(% style="width:390px" %)common:BasicTimePeriodType 499 -|(% style="width:286px" %)GregorianTimePeriod|(% style="width:390px" %)common:GregorianTimePeriodType 500 -|(% style="width:286px" %)GregorianYear|(% style="width:390px" %)xs:gYear 501 -|(% style="width:286px" %)GregorianYearMonth|(% style="width:390px" %)xs:gYearMonth 502 -|(% style="width:286px" %)GregorianDay|(% style="width:390px" %)xs:date 503 -|(% style="width:286px" %)ReportingTimePeriod|(% style="width:390px" %)common:ReportingTimePeriodType 504 -|(% style="width:286px" %)ReportingYear|(% style="width:390px" %)common:ReportingYearType 505 -|(% style="width:286px" %)ReportingSemester|(% style="width:390px" %)common:ReportingSemesterType 506 -|(% style="width:286px" %)ReportingTrimester|(% style="width:390px" %)common:ReportingTrimesterType 507 -|(% style="width:286px" %)ReportingQuarter|(% style="width:390px" %)common:ReportingQuarterType 508 -|(% style="width:286px" %)ReportingMonth|(% style="width:390px" %)common:ReportingMonthType 509 -|(% style="width:286px" %)ReportingWeek|(% style="width:390px" %)common:ReportingWeekType 510 -|(% style="width:286px" %)ReportingDay|(% style="width:390px" %)common:ReportingDayType 511 -|(% style="width:286px" %)DateTime|(% style="width:390px" %)xs:dateTime 512 -|(% style="width:286px" %)TimeRange|(% style="width:390px" %)common:TimeRangeType 513 -|(% style="width:286px" %)Month|(% style="width:390px" %)xs:gMonth 514 -|(% style="width:286px" %)MonthDay|(% style="width:390px" %)xs:gMonthDay 515 -|(% style="width:286px" %)Day|(% style="width:390px" %)xs:gDay 516 -|(% style="width:286px" %)Time|(% style="width:390px" %)xs:time 517 -|(% style="width:286px" %)Duration|(% style="width:390px" %)xs:duration 518 -|(% style="width:286px" %)GeospatialInformation|(% style="width:390px" %)xs:string 519 -|(% style="width:286px" %)XHTML|(% style="width:390px" %)See the following section for complex representations 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| 520 520 521 521 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): 522 522 523 -(% style="width:1007.29px" %) 524 -|(% style="width:267px" %)**SDMX Facet**|(% style="width:729px" %)**XML Schema Facet** 525 -|(% style="width:267px" %)minLength|(% style="width:729px" %)xs:minLength 526 -|(% style="width:267px" %)maxLength|(% style="width:729px" %)xs:maxLength 527 -|(% 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 528 -|(% style="width:267px" %)maxValue^^1^^|(% style="width:729px" %)if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive 529 -|(% style="width:267px" %)decimals^^1^^|(% style="width:729px" %)xs:fractionDigits 530 -|(% style="width:267px" %)pattern|(% style="width:729px" %)xs:pattern 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| 531 531 517 +[^1]: Note that these options only apply to numeric representations and should be ignored if the data type is non-numeric. 518 + 532 532 Any other facets are informational only and will not affect the determined type. 533 533 534 534 === 3.3.7 Representation for Not Applicable Dimensions === ... ... @@ -563,36 +563,35 @@ 563 563 564 564 For convenience the common schema provides the union types for the following data types. 565 565 566 -(% style="width:747.294px" %) 567 -|**SDMX Data Type**|(% style="width:418px" %)**XML Schema Data Type** 568 -|AlphaNumeric|(% style="width:418px" %)common:AlphaNumericOrNotApplicableType 569 -|Alpha|(% style="width:418px" %)common:AlphaOrNotApplicableType 570 -|Numeric|(% style="width:418px" %)common:NumericOrNotApplicableType 571 -|BigInteger|(% style="width:418px" %)common:IntegerOrNotApplicableType 572 -|Integer|(% style="width:418px" %)common:IntOrNotApplicableType 573 -|Long|(% style="width:418px" %)common:LongOrNotApplicableType 574 -|Short|(% style="width:418px" %)common:ShortOrNotApplicableType 575 -|Decimal|(% style="width:418px" %)common:DecimalOrNotApplicableType 576 -|Float|(% style="width:418px" %)common:FloatOrNotApplicableType 577 -|Double|(% style="width:418px" %)common:DoubleOrNotApplicableType 578 -|Boolean|(% style="width:418px" %)common:BooleanOrNotApplicableType 579 -|Count|(% style="width:418px" %)common:IntegerOrNotApplicableType 580 -|InclusiveValueRange|(% style="width:418px" %)common:DecimalOrNotApplicableType 581 -|ExclusiveValueRange|(% style="width:418px" %)common:DecimalOrNotApplicableType 582 -|Incremental|(% style="width:418px" %)common:DecimalOrNotApplicableType 583 -|ObservationalTimePeriod|(% style="width:418px" %)common:ObservationalTimePeriodOrNotApplicableType 584 -|StandardTimePeriod|(% style="width:418px" %)common:StandardTimePeriodOrNotApplicableType 585 -|BasicTimePeriod|(% style="width:418px" %)common:BasicTimePeriodType 586 -|GregorianTimePeriod|(% style="width:418px" %)common:GregorianTimePeriodOrNotApplicableType 587 -|ReportingTimePeriod|(% style="width:418px" %)common:ReportingTimePeriodOrNotApplicableType 588 -|ReportingYear|(% style="width:418px" %)common:ReportingYearOrNotApplicableType 589 -|ReportingSemester|(% style="width:418px" %)common:ReportingSemesterOrNotApplicableType 590 -|ReportingTrimester|(% style="width:418px" %)common:ReportingTrimesterOrNotApplicableType 591 -|ReportingQuarter|(% style="width:418px" %)common:ReportingQuarterOrNotApplicableType 592 -|ReportingMonth|(% style="width:418px" %)common:ReportingMonthOrNotApplicableType 593 -|ReportingWeek|(% style="width:418px" %)common:ReportingWeekOrNotApplicableType 594 -|ReportingDay|(% style="width:418px" %)common:ReportingDayOrNotApplicableType 595 -|TimeRange|(% style="width:418px" %)common:TimeRangeOrNotApplicableType 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| 596 596 597 597 === 3.3.8 Representation for Intentionally Missing Measure and Attribute Values === 598 598 ... ... @@ -631,36 +631,35 @@ 631 631 632 632 For convenience the common schema provides the union types for the following data types. 633 633 634 -(% style="width:804.294px" %) 635 -|(% style="width:279px" %)**SDMX Data Type**|(% style="width:522px" %)**XML Schema Data Type** 636 -|(% style="width:279px" %)AlphaNumeric|(% style="width:522px" %)common:AlphaNumericOrMissingType 637 -|(% style="width:279px" %)Alpha|(% style="width:522px" %)common:AlphaOrMissingType 638 -|(% style="width:279px" %)Numeric|(% style="width:522px" %)common:NumericOrMissingType 639 -|(% style="width:279px" %)BigInteger|(% style="width:522px" %)common:IntegerOrMissingType 640 -|(% style="width:279px" %)Integer|(% style="width:522px" %)common:IntOrMissingType 641 -|(% style="width:279px" %)Long|(% style="width:522px" %)common:LongOrMissingType 642 -|(% style="width:279px" %)Short|(% style="width:522px" %)common:ShortOrMissingType 643 -|(% style="width:279px" %)Decimal|(% style="width:522px" %)common:DecimalOrMissingType 644 -|(% style="width:279px" %)Float|(% style="width:522px" %)common:FloatOrMissingType 645 -|(% style="width:279px" %)Double|(% style="width:522px" %)common:DoubleOrMissingType 646 -|(% style="width:279px" %)Boolean|(% style="width:522px" %)common:BooleanOrMissingType 647 -|(% style="width:279px" %)Count|(% style="width:522px" %)common:IntegerOrMissingType 648 -|(% style="width:279px" %)InclusiveValueRange|(% style="width:522px" %)common:DecimalOrMissingType 649 -|(% style="width:279px" %)ExclusiveValueRange|(% style="width:522px" %)common:DecimalOrMissingType 650 -|(% style="width:279px" %)Incremental|(% style="width:522px" %)common:DecimalOrMissingType 651 -|(% style="width:279px" %)ObservationalTimePeriod|(% style="width:522px" %)common:ObservationalTimePeriodOrMissingType 652 -|(% style="width:279px" %)StandardTimePeriod|(% style="width:522px" %)common:StandardTimePeriodOrMissingType 653 -|(% style="width:279px" %)BasicTimePeriod|(% style="width:522px" %)common:BasicTimePeriodType 654 -|(% style="width:279px" %)GregorianTimePeriod|(% style="width:522px" %)common:GregorianTimePeriodOrMissingType 655 -|(% style="width:279px" %)ReportingTimePeriod|(% style="width:522px" %)common:ReportingTimePeriodOrMissingType 656 -|(% style="width:279px" %)ReportingYear|(% style="width:522px" %)common:ReportingYearOrMissingType 657 -|(% style="width:279px" %)ReportingSemester|(% style="width:522px" %)common:ReportingSemesterOrMissingType 658 -|(% style="width:279px" %)ReportingTrimester|(% style="width:522px" %)common:ReportingTrimesterOrMissingType 659 -|(% style="width:279px" %)ReportingQuarter|(% style="width:522px" %)common:ReportingQuarterOrMissingType 660 -|(% style="width:279px" %)ReportingMonth|(% style="width:522px" %)common:ReportingMonthOrMissingType 661 -|(% style="width:279px" %)ReportingWeek|(% style="width:522px" %)common:ReportingWeekOrMissingType 662 -|(% style="width:279px" %)ReportingDay|(% style="width:522px" %)common:ReportingDayOrMissingType 663 -|(% style="width:279px" %)TimeRange|(% style="width:522px" %)common:TimeRangeOrMissingType 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| 664 664 665 665 === 3.3.9 Representation with Complex Text Format === 666 666 ... ... @@ -717,39 +717,34 @@ 717 717 718 718 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: 719 719 720 -~1. A sequence consisting of: 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 721 721 722 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 723 -* ii A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0 724 -* iii A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of: 725 -** a. A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows) 726 -** 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. 727 -** 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) 728 -** 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) 729 -* 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 730 - 731 731 === 3.4.2 GroupType === 732 732 733 733 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: 734 734 735 -~1. A sequence consisting of: 736 - 737 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 738 -* 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 739 -* 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 740 - 741 -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 742 -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 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 743 743 4. An attribute named type with a type of common:IDType, usage of optional, and a fixed value of the identifier of the group 744 744 745 745 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: 746 746 747 -~1. A sequence consisting of: 748 - 749 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 750 -* 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 751 -* 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 752 - 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 753 753 2. An attribute named type with a type of Group.ID, and a usage of optional 754 754 3. An anyAttribute declaration with a namespace of ##local## 755 755 ... ... @@ -757,14 +757,12 @@ 757 757 758 758 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: 759 759 760 -~1. A sequence consisting of: 761 - 762 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 763 -* 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 764 -* 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 765 - 766 -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 767 -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 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 768 768 4. An attribute named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group 769 769 770 770 === 3.4.3 SeriesType === ... ... @@ -771,46 +771,40 @@ 771 771 772 772 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: 773 773 774 -~1. A sequence consisting of: 775 - 776 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 777 -* 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 778 -* 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) 779 -* 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 780 - 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 781 781 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 782 -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 and type are defined according to the general rules defined in the previous section, and the usage is required783 -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 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 784 784 785 785 === 3.4.4 AttsType === 786 786 787 787 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: 788 788 789 -~1. A sequence consisting of: 790 - 791 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 792 -* 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 793 - 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 794 794 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 795 -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 optional796 -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 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 797 797 798 798 === 3.4.5 ObsType === 799 799 800 800 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: 801 801 802 -~1. A sequence consisting of: 803 - 804 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 805 -* 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 806 -* 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 807 - 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 808 808 2. An attribute named TIME\_PERIOD with a type of common: 809 809 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 810 -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 required811 -4. If the dimension at the observation level is all dimensions, an attribute for each dimension defined by the data structure definition, except for the time dimension (TIME\_PERIOD). The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required 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 optional813 -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 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 814 814 815 815 === 3.4.6 CompType === 816 816 ... ... @@ -841,7 +841,7 @@ 841 841 842 842 === 4.1.2 Replace Action === 843 843 844 -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).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). 845 845 846 846 Only non-dimensional components (measure, attribute or reference metadata values) can be **omitted** (null or absent). Bulk replacing is thus not supported. 847 847 ... ... @@ -849,9 +849,9 @@ 849 849 850 850 Replacing non-existing elements is not resulting in an error. 851 851 852 -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.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. 853 853 854 -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.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. 855 855 856 856 === 4.1.3 Delete Action === 857 857 ... ... @@ -871,59 +871,58 @@ 871 871 872 872 The following convention is used to indicate the state of components in data messages: 873 873 874 -(% style="width:1364.29px" %) 875 -| | |(% style="width:260px" %)**Dimension value is**|(% style="width:391px" %) |(% style="width:383px" %)**Measure, attribute or reference metadata value is**|(% style="width:184px" %) 876 -| | |(% style="width:260px" %)**Omitted**|(% style="width:391px" %)**switched off**|(% style="width:383px" %)**Omitted**|(% style="width:184px" %)**Present** 877 -|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 878 -| |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 879 -| |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 880 -|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" %) 881 -| |JSON|(% style="width:260px" %)\<empty\>|(% style="width:391px" %)““|(% style="width:383px" %)NULL or absent|(% style="width:184px" %)(see above) 882 -| |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" %) 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)| 883 883 884 884 **Important notes:** 885 885 886 -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.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. 887 887 888 -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.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. 889 889 890 -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).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). 891 891 892 -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.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. 893 893 894 -**Recommended {{footnote}}Sofar this is recommended for systems thatdo not require backward-compatibility. Later, with SDMX 4.0, thismay generally be made mandatory{{/footnote}}dataset actions in SDMX web service responses to GET data queries:**865 +**Recommended[^2] dataset actions in SDMX web service responses to GET data queries:** 895 895 896 -~1. Without the //updatedAfter//, //includeHistory//, //detail//, //attributes// or //measures// URL parameters: 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). 897 897 898 -The response message should contain the retrieved data in a //Replace// dataset (instead of the previous *information* dataset). 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). 899 899 900 -2. Without the //updatedAfter// and //includeHistory//, but with //detail//, //attributes// or //measures// URL parameters: 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: 901 901 902 -The response message should contain the retrieved data in a //Merge// dataset (instead of the previous *Information* dataset). 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. 903 903 904 -3. With the //updatedAfter// URL parameter: 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. 905 905 906 -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: 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. 907 907 908 -* 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 909 -a //Replace// dataset for all other changed observations and changed attribute and data-related reference metadata values attached to specific dimension combinations, or 910 -* 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 911 -a //Merge// dataset for all other updated or inserted observation, attribute and data-related reference metadata values. 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. 912 912 913 -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. 914 - 915 -~1. With the *includeHistory* URL parameter: 916 - 917 -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. 918 - 919 -2. With the *asOf* URL parameter: 920 - 921 -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. 922 - 923 923 == 4.2 Reference Metadata Actions == 924 924 925 925 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. 926 926 927 927 The former message header or metadataset property *DataSetAction* is deprecated. To avoid conflicts, it is now ignored if still present. 928 - 929 -{{putFootnotes/}}