Last modified by Elena on 2025/09/10 11:19

From version 2.6
edited by Helena
on 2025/07/02 14:55
Change comment: There is no comment for this version
To version 2.30
edited by Helena
on 2025/07/02 15:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -215,12 +215,12 @@
215 215  
216 216  Referenced Namespaces:
217 217  
218 -|**Namespace**|**Prefix**|
219 -|http://www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|common|
220 -|<http://www.w3.org/2001/XMLSchema>|xs|
218 +(% style="width:1037.29px" %)
219 +|(% style="width:516px" %)**Namespace**|(% style="width:518px" %)**Prefix**
220 +|(% style="width:516px" %)http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3\_1/common|(% style="width:518px" %)common
221 +|(% style="width:516px" %)<http:~/~/www.w3.org/2001/XMLSchema>|(% style="width:518px" %)xs
221 221  
222 222  Contents:
223 -
224 224  1 Global Element
225 225  3 Complex Types
226 226  
... ... @@ -250,26 +250,28 @@
250 250  
251 251  Attribute Documentation:
252 252  
253 -|**Name**|**Type**|**Documentation**|
254 -|id|IDType|The id is the identifier for the object.|
255 -|urn|MetadataSetUrnType|The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details).|
256 -|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.|
257 -|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.|
258 -|validFrom|xs:dateTime|The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.|
259 -|validTo|xs:dateTime|The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.|
260 -|agencyID|NestedNCNameIDType|The agencyID must be provided and identifies the maintenance agency of the object.|
261 -|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.|
262 -|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.|
263 -|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.|
264 -|isPartialLanguage (default: false)|xs:boolean|The isPartialLanguage attribute, if true, indicates that the object doesn't contain the complete set of all available languages, e.g., when obtained as a response to a GET query that requested specific languages through the HTTP header Accept-Language.|
253 +(% style="width:1051.29px" %)
254 +|**Name**|**Type**|(% style="width:669px" %)**Documentation**
255 +|id|IDType|(% style="width:669px" %)The id is the identifier for the object.
256 +|urn|MetadataSetUrnType|(% style="width:669px" %)The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details).
257 +|uri|xs:anyURI|(% style="width:669px" %)The uri attribute holds a URI that contains a link to a resource with additional information about the object, such as a web page. This uri is not a SDMX message.
258 +|version|VersionType|(% style="width:669px" %)This version attribute holds a version number (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned.
259 +|validFrom|xs:dateTime|(% style="width:669px" %)The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.
260 +|validTo|xs:dateTime|(% style="width:669px" %)The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.
261 +|agencyID|NestedNCNameIDType|(% style="width:669px" %)The agencyID must be provided and identifies the maintenance agency of the object.
262 +|isExternalReference (default: false)|xs:boolean|(% style="width:669px" %)The isExternalReference attribute, if true, indicates that the actual object is not defined the corresponding element, rather its full details are defined elsewhere - indicated by either the registryURL, the repositoryURL, or the structureURL. The purpose of this is so that each structure message does not have to redefine object that are already defined elsewhere. If the isExternalReference attribute is not set, then it is assumed to be false, and the object should contain the full definition of its contents. If more than one of the registryURL, the repositoryURL, and the structureURL are supplied, then the application processing the object can choose the method it finds best suited to retrieve the details of the object.
263 +|serviceURL|xs:anyURI|(% style="width:669px" %)The serviceURL attribute indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface.
264 +|structureURL|xs:anyURI|(% style="width:669px" %)The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object.
265 +|isPartialLanguage (default: false)|xs:boolean|(% style="width:669px" %)The isPartialLanguage attribute, if true, indicates that the object doesn't contain the complete set of all available languages, e.g., when obtained as a response to a GET query that requested specific languages through the HTTP header Accept-Language.
265 265  
266 266  Element Documentation:
267 267  
268 -|**Name**|**Type**|**Documentation**|
269 -|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.|
270 -|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.|
271 -|Name|TextType|Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms.|
272 -|Description|TextType|Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms.|
269 +(% style="width:1057.29px" %)
270 +|**Name**|**Type**|**Documentation**
271 +|Annotations|AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.
272 +|Link|LinkType|Allows for the linking of other resources to identifiable objects. For example, if there is reference metadata associated with a structure, a link to the metadata report can be dynamically inserted in the structure metadata.
273 +|Name|TextType|Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms.
274 +|Description|TextType|Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms.
273 273  
274 274  **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.
275 275  
... ... @@ -292,34 +292,36 @@
292 292  
293 293  Attribute Documentation:
294 294  
295 -|**Name**|**Type**|**Documentation**|
296 -|id|IDType|The id is the identifier for the object.|
297 -|urn|MetadataSetUrnType|The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details).|
298 -|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.|
299 -|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.|
300 -|validFrom|xs:dateTime|The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.|
301 -|validTo|xs:dateTime|The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.|
302 -|agencyID|NestedNCNameIDType|The agencyID must be provided and identifies the maintenance agency of the object.|
303 -|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.|
304 -|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.|
305 -|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.|
306 -|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.|
307 -|reportingBeginDate|BasicTimePeriodType|The reportingBeginDate indicates the inclusive start time of the data reported in the data or metadata set.|
308 -|reportingEndDate|BasicTimePeriodType|The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set.|
309 -|publicationYear|xs:gYear|The publicationYear holds the ISO 8601 four-digit year.|
310 -|publicationPeriod|ObservationalTimePeriodType|The publicationPeriod specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force (i.e., "Q1 2005" if that is the time of publication for a data set published on a quarterly basis).|
297 +(% style="width:1050.29px" %)
298 +|**Name**|**Type**|(% style="width:622px" %)**Documentation**
299 +|id|IDType|(% style="width:622px" %)The id is the identifier for the object.
300 +|urn|MetadataSetUrnType|(% style="width:622px" %)The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details).
301 +|uri|xs:anyURI|(% style="width:622px" %)The uri attribute holds a URI that contains a link to a resource with additional information about the object, such as a web page. This uri is not a SDMX message.
302 +|version|VersionType|(% style="width:622px" %)This version attribute holds a version number (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned.
303 +|validFrom|xs:dateTime|(% style="width:622px" %)The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version.
304 +|validTo|xs:dateTime|(% style="width:622px" %)The validTo attribute provides the inclusive end date for providing supplemental validity information about the version.
305 +|agencyID|NestedNCNameIDType|(% style="width:622px" %)The agencyID must be provided and identifies the maintenance agency of the object.
306 +|isExternalReference (default: false)|xs:boolean|(% style="width:622px" %)The isExternalReference attribute, if true, indicates that the actual object is not defined the corresponding element, rather its full details are defined elsewhere - indicated by either the registryURL, the repositoryURL, or the structureURL. The purpose of this is so that each structure message does not have to redefine object that are already defined elsewhere. If the isExternalReference attribute is not set, then it is assumed to be false, and the object should contain the full definition of its contents. If more than one of the registryURL, the repositoryURL, and the structureURL are supplied, then the application processing the object can choose the method it finds best suited to retrieve the details of the object.
307 +|serviceURL|xs:anyURI|(% style="width:622px" %)The serviceURL attribute indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface.
308 +|structureURL|xs:anyURI|(% style="width:622px" %)The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object.
309 +|isPartialLanguage (default: false)|xs:boolean|(% style="width:622px" %)The isPartialLanguage attribute, if true, indicates that the object doesn't contain the complete set of all available languages, e.g., when obtained as a response to a GET query that requested specific languages through the HTTP header Accept-Language.
310 +|reportingBeginDate|BasicTimePeriodType|(% style="width:622px" %)The reportingBeginDate indicates the inclusive start time of the data reported in the data or metadata set.
311 +|reportingEndDate|BasicTimePeriodType|(% style="width:622px" %)The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set.
312 +|publicationYear|xs:gYear|(% style="width:622px" %)The publicationYear holds the ISO 8601 four-digit year.
313 +|publicationPeriod|ObservationalTimePeriodType|(% style="width:622px" %)The publicationPeriod specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force (i.e., "Q1 2005" if that is the time of publication for a data set published on a quarterly basis).
311 311  
312 312  Element Documentation:
313 313  
314 -|**Name**|**Type**|**Documentation**|
315 -|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.|
316 -|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.|
317 -|Name|TextType|Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms.|
318 -|Description|TextType|Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms.|
319 -|MetadataProvision<br/>Agreement|MetadataProvisionAgree<br/>mentReferenceType|Metadataflow provides a reference to the metadata provision agreement the metadata set is being reported against.|
320 -|Metadataflow|MetadataflowReference<br/>Type|Metadataflow provides a reference to the metadataflow the metadata set is being reported against.|
321 -|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.|
322 -|Attribute|AttributeType|Att elements hold the reported metadata attribute values being reported in the metadata set. These conform to the metadata structure definition.|
317 +(% style="width:1054.29px" %)
318 +|**Name**|(% style="width:185px" %)**Type**|(% style="width:412px" %)**Documentation**
319 +|Annotations|(% style="width:185px" %)AnnotationsType|(% style="width:412px" %)Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it.
320 +|Link|(% style="width:185px" %)LinkType|(% style="width:412px" %)Allows for the linking of other resources to identifiable objects. For example, if there is reference metadata associated with a structure, a link to the metadata report can be dynamically inserted in the structure metadata.
321 +|Name|(% style="width:185px" %)TextType|(% style="width:412px" %)Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms.
322 +|Description|(% style="width:185px" %)TextType|(% style="width:412px" %)Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms.
323 +|MetadataProvision<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.
323 323  
324 324  **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.
325 325  
... ... @@ -336,17 +336,19 @@
336 336  
337 337  Attribute Documentation:
338 338  
339 -|**Name**|**Type**|**Documentation**|
340 -|id|IDType|The id attribute identifies the metadata attribute that the value is being reported for.|
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.
341 341  
342 342  Element Documentation:
343 343  
344 -|**Name**|**Type**|**Documentation**|
345 -|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.|
346 -|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.|
347 -|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.|
348 -|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.|
349 -|Attribute|AttributeType|Att contains the reported metadata attribute values for the child metadata attributes.|
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.
350 350  
351 351  = 3 Mapping to Structure-Specific Schemas =
352 352  
... ... @@ -361,10 +361,10 @@
361 361  In the subsequent sections, the following namespace prefixes are used:
362 362  
363 363  |**Namespace**|**Prefix**|
364 -|http://www.w3.org/2001/XMLSchema|xs|
365 -|http://www.sdmx.org/resources/sdmxml/schemas/v3_1/common|common|
366 -|http://www.sdmx.org/resources/sdmxml/schemas/v3_1/data/structurespecific|dsd|
367 -|<http://www.sdmx.org/resources/sdmxml/schemas/v3_1/metadata/generic>|metadata|
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|
368 368  
369 369  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:
370 370  
... ... @@ -428,8 +428,8 @@
428 428  The representation of a component is determined by the following precedence:
429 429  
430 430  1. The local representation defined by the component
431 -2. The core representation defined in the concept from which the component takes its semantic
432 -3. A default representation of an un-faceted text format with a data type of String.
437 +1. The core representation defined in the concept from which the component takes its semantic
438 +1. A default representation of an un-faceted text format with a data type of String.
433 433  
434 434  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).
435 435  
... ... @@ -454,7 +454,6 @@
454 454   </xs:annotation>
455 455   </xs:enumeration>
456 456  
457 -
458 458  === 3.3.5 Representation with Value List Enumeration ===
459 459  
460 460  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.
... ... @@ -469,58 +469,60 @@
469 469  
470 470  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:
471 471  
472 -|**SDMX Data Type**|**XML Schema Data Type**|
473 -|String|xs:string|
474 -|AlphaNumeric|common:AlphaNumericType|
475 -|Alpha|common:AlphaType|
476 -|Numeric|common:NumericType|
477 -|BigInteger|xs:integer|
478 -|Integer|xs:int|
479 -|Long|xs:long|
480 -|Short|xs:short|
481 -|Decimal|xs:decimal|
482 -|Float|xs:float|
483 -|Double|xs:double|
484 -|Boolean|xs:Boolean|
485 -|URI|xs:anyURI|
486 -|Count|xs:integer|
487 -|InclusiveValueRange|xs:decimal|
488 -|ExclusiveValueRange|xs: decimal|
489 -|Incremental|xs: decimal|
490 -|ObservationalTimePeriod|common:ObservationalTimePeriodType|
491 -|StandardTimePeriod|common:StandardTimePeriodType|
492 -|BasicTimePeriod|common:BasicTimePeriodType|
493 -|GregorianTimePeriod|common:GregorianTimePeriodType|
494 -|GregorianYear|xs:gYear|
495 -|GregorianYearMonth|xs:gYearMonth|
496 -|GregorianDay|xs:date|
497 -|ReportingTimePeriod|common:ReportingTimePeriodType|
498 -|ReportingYear|common:ReportingYearType|
499 -|ReportingSemester|common:ReportingSemesterType|
500 -|ReportingTrimester|common:ReportingTrimesterType|
501 -|ReportingQuarter|common:ReportingQuarterType|
502 -|ReportingMonth|common:ReportingMonthType|
503 -|ReportingWeek|common:ReportingWeekType|
504 -|ReportingDay|common:ReportingDayType|
505 -|DateTime|xs:dateTime|
506 -|TimeRange|common:TimeRangeType|
507 -|Month|xs:gMonth|
508 -|MonthDay|xs:gMonthDay|
509 -|Day|xs:gDay|
510 -|Time|xs:time|
511 -|Duration|xs:duration|
512 -|GeospatialInformation|xs:string|
513 -|XHTML|See the following section for complex representations|
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
514 514  
515 515  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):
516 516  
517 -|**SDMX Facet**|**XML Schema Facet**|
518 -|minLength|xs:minLength|
519 -|maxLength|xs:maxLength|
520 -|minValue[^1]|if ExclusiveValueRange: xs:minExclusives, else: xs:minInclusive|
521 -|maxValue[^1]|if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive|
522 -|decimals[^1]|xs:fractionDigits|
523 -|pattern|xs:pattern|
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[^1]|(% 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
524 524  
525 525  [^1]: Note that these options only apply to numeric representations and should be ignored if the data type is non-numeric.
526 526  
... ... @@ -558,35 +558,36 @@
558 558  
559 559  For convenience the common schema provides the union types for the following data types.
560 560  
561 -|**SDMX Data Type**|**XML Schema Data Type**|
562 -|AlphaNumeric|common:AlphaNumericOrNotApplicableType|
563 -|Alpha|common:AlphaOrNotApplicableType|
564 -|Numeric|common:NumericOrNotApplicableType|
565 -|BigInteger|common:IntegerOrNotApplicableType|
566 -|Integer|common:IntOrNotApplicableType|
567 -|Long|common:LongOrNotApplicableType|
568 -|Short|common:ShortOrNotApplicableType|
569 -|Decimal|common:DecimalOrNotApplicableType|
570 -|Float|common:FloatOrNotApplicableType|
571 -|Double|common:DoubleOrNotApplicableType|
572 -|Boolean|common:BooleanOrNotApplicableType|
573 -|Count|common:IntegerOrNotApplicableType|
574 -|InclusiveValueRange|common:DecimalOrNotApplicableType|
575 -|ExclusiveValueRange|common:DecimalOrNotApplicableType|
576 -|Incremental|common:DecimalOrNotApplicableType|
577 -|ObservationalTimePeriod|common:ObservationalTimePeriodOrNotApplicableType|
578 -|StandardTimePeriod|common:StandardTimePeriodOrNotApplicableType|
579 -|BasicTimePeriod|common:BasicTimePeriodType|
580 -|GregorianTimePeriod|common:GregorianTimePeriodOrNotApplicableType|
581 -|ReportingTimePeriod|common:ReportingTimePeriodOrNotApplicableType|
582 -|ReportingYear|common:ReportingYearOrNotApplicableType|
583 -|ReportingSemester|common:ReportingSemesterOrNotApplicableType|
584 -|ReportingTrimester|common:ReportingTrimesterOrNotApplicableType|
585 -|ReportingQuarter|common:ReportingQuarterOrNotApplicableType|
586 -|ReportingMonth|common:ReportingMonthOrNotApplicableType|
587 -|ReportingWeek|common:ReportingWeekOrNotApplicableType|
588 -|ReportingDay|common:ReportingDayOrNotApplicableType|
589 -|TimeRange|common:TimeRangeOrNotApplicableType|
568 +(% style="width:747.294px" %)
569 +|**SDMX Data Type**|(% style="width:418px" %)**XML Schema Data Type**
570 +|AlphaNumeric|(% style="width:418px" %)common:AlphaNumericOrNotApplicableType
571 +|Alpha|(% style="width:418px" %)common:AlphaOrNotApplicableType
572 +|Numeric|(% style="width:418px" %)common:NumericOrNotApplicableType
573 +|BigInteger|(% style="width:418px" %)common:IntegerOrNotApplicableType
574 +|Integer|(% style="width:418px" %)common:IntOrNotApplicableType
575 +|Long|(% style="width:418px" %)common:LongOrNotApplicableType
576 +|Short|(% style="width:418px" %)common:ShortOrNotApplicableType
577 +|Decimal|(% style="width:418px" %)common:DecimalOrNotApplicableType
578 +|Float|(% style="width:418px" %)common:FloatOrNotApplicableType
579 +|Double|(% style="width:418px" %)common:DoubleOrNotApplicableType
580 +|Boolean|(% style="width:418px" %)common:BooleanOrNotApplicableType
581 +|Count|(% style="width:418px" %)common:IntegerOrNotApplicableType
582 +|InclusiveValueRange|(% style="width:418px" %)common:DecimalOrNotApplicableType
583 +|ExclusiveValueRange|(% style="width:418px" %)common:DecimalOrNotApplicableType
584 +|Incremental|(% style="width:418px" %)common:DecimalOrNotApplicableType
585 +|ObservationalTimePeriod|(% style="width:418px" %)common:ObservationalTimePeriodOrNotApplicableType
586 +|StandardTimePeriod|(% style="width:418px" %)common:StandardTimePeriodOrNotApplicableType
587 +|BasicTimePeriod|(% style="width:418px" %)common:BasicTimePeriodType
588 +|GregorianTimePeriod|(% style="width:418px" %)common:GregorianTimePeriodOrNotApplicableType
589 +|ReportingTimePeriod|(% style="width:418px" %)common:ReportingTimePeriodOrNotApplicableType
590 +|ReportingYear|(% style="width:418px" %)common:ReportingYearOrNotApplicableType
591 +|ReportingSemester|(% style="width:418px" %)common:ReportingSemesterOrNotApplicableType
592 +|ReportingTrimester|(% style="width:418px" %)common:ReportingTrimesterOrNotApplicableType
593 +|ReportingQuarter|(% style="width:418px" %)common:ReportingQuarterOrNotApplicableType
594 +|ReportingMonth|(% style="width:418px" %)common:ReportingMonthOrNotApplicableType
595 +|ReportingWeek|(% style="width:418px" %)common:ReportingWeekOrNotApplicableType
596 +|ReportingDay|(% style="width:418px" %)common:ReportingDayOrNotApplicableType
597 +|TimeRange|(% style="width:418px" %)common:TimeRangeOrNotApplicableType
590 590  
591 591  === 3.3.8 Representation for Intentionally Missing Measure and Attribute Values ===
592 592  
... ... @@ -625,35 +625,36 @@
625 625  
626 626  For convenience the common schema provides the union types for the following data types.
627 627  
628 -|**SDMX Data Type**|**XML Schema Data Type**|
629 -|AlphaNumeric|common:AlphaNumericOrMissingType|
630 -|Alpha|common:AlphaOrMissingType|
631 -|Numeric|common:NumericOrMissingType|
632 -|BigInteger|common:IntegerOrMissingType|
633 -|Integer|common:IntOrMissingType|
634 -|Long|common:LongOrMissingType|
635 -|Short|common:ShortOrMissingType|
636 -|Decimal|common:DecimalOrMissingType|
637 -|Float|common:FloatOrMissingType|
638 -|Double|common:DoubleOrMissingType|
639 -|Boolean|common:BooleanOrMissingType|
640 -|Count|common:IntegerOrMissingType|
641 -|InclusiveValueRange|common:DecimalOrMissingType|
642 -|ExclusiveValueRange|common:DecimalOrMissingType|
643 -|Incremental|common:DecimalOrMissingType|
644 -|ObservationalTimePeriod|common:ObservationalTimePeriodOrMissingType|
645 -|StandardTimePeriod|common:StandardTimePeriodOrMissingType|
646 -|BasicTimePeriod|common:BasicTimePeriodType|
647 -|GregorianTimePeriod|common:GregorianTimePeriodOrMissingType|
648 -|ReportingTimePeriod|common:ReportingTimePeriodOrMissingType|
649 -|ReportingYear|common:ReportingYearOrMissingType|
650 -|ReportingSemester|common:ReportingSemesterOrMissingType|
651 -|ReportingTrimester|common:ReportingTrimesterOrMissingType|
652 -|ReportingQuarter|common:ReportingQuarterOrMissingType|
653 -|ReportingMonth|common:ReportingMonthOrMissingType|
654 -|ReportingWeek|common:ReportingWeekOrMissingType|
655 -|ReportingDay|common:ReportingDayOrMissingType|
656 -|TimeRange|common:TimeRangeOrMissingType|
636 +(% style="width:804.294px" %)
637 +|(% style="width:279px" %)**SDMX Data Type**|(% style="width:522px" %)**XML Schema Data Type**
638 +|(% style="width:279px" %)AlphaNumeric|(% style="width:522px" %)common:AlphaNumericOrMissingType
639 +|(% style="width:279px" %)Alpha|(% style="width:522px" %)common:AlphaOrMissingType
640 +|(% style="width:279px" %)Numeric|(% style="width:522px" %)common:NumericOrMissingType
641 +|(% style="width:279px" %)BigInteger|(% style="width:522px" %)common:IntegerOrMissingType
642 +|(% style="width:279px" %)Integer|(% style="width:522px" %)common:IntOrMissingType
643 +|(% style="width:279px" %)Long|(% style="width:522px" %)common:LongOrMissingType
644 +|(% style="width:279px" %)Short|(% style="width:522px" %)common:ShortOrMissingType
645 +|(% style="width:279px" %)Decimal|(% style="width:522px" %)common:DecimalOrMissingType
646 +|(% style="width:279px" %)Float|(% style="width:522px" %)common:FloatOrMissingType
647 +|(% style="width:279px" %)Double|(% style="width:522px" %)common:DoubleOrMissingType
648 +|(% style="width:279px" %)Boolean|(% style="width:522px" %)common:BooleanOrMissingType
649 +|(% style="width:279px" %)Count|(% style="width:522px" %)common:IntegerOrMissingType
650 +|(% style="width:279px" %)InclusiveValueRange|(% style="width:522px" %)common:DecimalOrMissingType
651 +|(% style="width:279px" %)ExclusiveValueRange|(% style="width:522px" %)common:DecimalOrMissingType
652 +|(% style="width:279px" %)Incremental|(% style="width:522px" %)common:DecimalOrMissingType
653 +|(% style="width:279px" %)ObservationalTimePeriod|(% style="width:522px" %)common:ObservationalTimePeriodOrMissingType
654 +|(% style="width:279px" %)StandardTimePeriod|(% style="width:522px" %)common:StandardTimePeriodOrMissingType
655 +|(% style="width:279px" %)BasicTimePeriod|(% style="width:522px" %)common:BasicTimePeriodType
656 +|(% style="width:279px" %)GregorianTimePeriod|(% style="width:522px" %)common:GregorianTimePeriodOrMissingType
657 +|(% style="width:279px" %)ReportingTimePeriod|(% style="width:522px" %)common:ReportingTimePeriodOrMissingType
658 +|(% style="width:279px" %)ReportingYear|(% style="width:522px" %)common:ReportingYearOrMissingType
659 +|(% style="width:279px" %)ReportingSemester|(% style="width:522px" %)common:ReportingSemesterOrMissingType
660 +|(% style="width:279px" %)ReportingTrimester|(% style="width:522px" %)common:ReportingTrimesterOrMissingType
661 +|(% style="width:279px" %)ReportingQuarter|(% style="width:522px" %)common:ReportingQuarterOrMissingType
662 +|(% style="width:279px" %)ReportingMonth|(% style="width:522px" %)common:ReportingMonthOrMissingType
663 +|(% style="width:279px" %)ReportingWeek|(% style="width:522px" %)common:ReportingWeekOrMissingType
664 +|(% style="width:279px" %)ReportingDay|(% style="width:522px" %)common:ReportingDayOrMissingType
665 +|(% style="width:279px" %)TimeRange|(% style="width:522px" %)common:TimeRangeOrMissingType
657 657  
658 658  === 3.3.9 Representation with Complex Text Format ===
659 659  
... ... @@ -710,34 +710,39 @@
710 710  
711 711  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:
712 712  
713 -1. A sequence consisting of:
714 -1. An element reference to common:Annotations, with a minimum occurrence of 0
715 - 2. A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0
716 - 3. A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of:
717 -1. A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows)
718 - 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.
719 - 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)
720 - 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)
721 - 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
722 +~1. A sequence consisting of:
722 722  
724 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
725 +* ii  A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0
726 +* iii  A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of:
727 +** a.  A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows)
728 +** 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.
729 +** 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)
730 +** 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)
731 +* 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
732 +
723 723  === 3.4.2 GroupType ===
724 724  
725 725  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:
726 726  
727 -1. A sequence consisting of:
728 -1. An element reference to common:Annotations, with a minimum occurrence of 0
729 - 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
730 - 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
731 -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
732 -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
737 +~1. A sequence consisting of:
738 +
739 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
740 +* 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
741 +* 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
742 +
743 +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
744 +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
733 733  4. An attribute named type with a type of common:IDType, usage of optional, and a fixed value of the identifier of the group
734 734  
735 735  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:
736 736  
737 -1. A sequence consisting of:
738 -1. An element reference to common:Annotations, with a minimum occurrence of 0
739 - 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
740 - 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
749 +~1. A sequence consisting of:
750 +
751 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
752 +* 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
753 +* 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
754 +
741 741  2. An attribute named type with a type of Group.ID, and a usage of optional
742 742  3. An anyAttribute declaration with a namespace of ##local##
743 743  
... ... @@ -745,12 +745,14 @@
745 745  
746 746  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:
747 747  
748 -1. A sequence consisting of:
749 -1. An element reference to common:Annotations, with a minimum occurrence of 0
750 - 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
751 - 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
752 -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
753 -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
762 +~1. A sequence consisting of:
763 +
764 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
765 +* 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
766 +* 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
767 +
768 +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
769 +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
754 754  4. An attribute named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group
755 755  
756 756  === 3.4.3 SeriesType ===
... ... @@ -757,40 +757,46 @@
757 757  
758 758  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:
759 759  
760 -1. A sequence consisting of:
761 -1. An element reference to common:Annotations, with a minimum occurrence of 0
762 - 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
763 - 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)
764 - 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
776 +~1. A sequence consisting of:
777 +
778 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
779 +* 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
780 +* 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)
781 +* 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
782 +
765 765  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
766 -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
767 -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 +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 required
785 +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
768 768  
769 769  === 3.4.4 AttsType ===
770 770  
771 771  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:
772 772  
773 -1. A sequence consisting of:
774 -1. An element reference to common:Annotations, with a minimum occurrence of 0
775 - 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
791 +~1. A sequence consisting of:
792 +
793 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
794 +* 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
795 +
776 776  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
777 -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
778 -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 +3. An attribute for all dimension defined by the data structure definition. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
798 +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
779 779  
780 780  === 3.4.5 ObsType ===
781 781  
782 782  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:
783 783  
784 -1. A sequence consisting of:
785 -1. An element reference to common:Annotations, with a minimum occurrence of 0
786 - 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
787 - 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
804 +~1. A sequence consisting of:
805 +
806 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
807 +* 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
808 +* 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
809 +
788 788  2. An attribute named TIME\_PERIOD with a type of common:
789 789   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
790 -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
791 -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
792 -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
793 -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
812 +3. If the dimension at the observation level is not all dimensions or the time dimension (TIME\_PERIOD), an attribute for the dimension at the observation level. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
813 +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
814 +5. An attribute for each measure with simple representation defined by the data structure definition. The XML attribute name and type is defined according to the general rules defined in the previous section, and the usage is optional
815 +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
794 794  
795 795  === 3.4.6 CompType ===
796 796  
... ... @@ -821,7 +821,7 @@
821 821  
822 822  === 4.1.2 Replace Action ===
823 823  
824 -Data or data-related reference metadata is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “replacement levels”: for entire observations and for any specific dimension combination for data-related reference metadata attributes. Within these “replacement levels” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other attributes (those above the observation level) are merged (see *Merge* action).
846 +Data or data-related reference metadata is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “//replacement levels//”: for entire observations and for any specific dimension combination for data-related reference metadata attributes. Within these “replacement levels” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other attributes (those above the observation level) are merged (see //Merge// action).
825 825  
826 826  Only non-dimensional components (measure, attribute or reference metadata values) can be **omitted** (null or absent). Bulk replacing is thus not supported.
827 827  
... ... @@ -829,9 +829,9 @@
829 829  
830 830  Replacing non-existing elements is not resulting in an error.
831 831  
832 -All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the *Replace* action change their time stamp when used to update an SDMX storage system.
854 +All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the //Replace// action change their time stamp when used to update an SDMX storage system.
833 833  
834 -Because the *replace* action always takes place at specific levels, it cannot be used to replace a whole dataset or a whole series. However, a “*replace all*” effect can be achieved by combining a *Delete* dataset containing a completely wildcarded key (where all dimension values are omitted) with a *Merge* or *Replace* dataset within the same data message. Similarly, to replace a whole series, a message can combine a *delete* dataset containing only the partial key of the series (where the not used dimension values are omitted) with a *Merge* or *Replace* dataset for that series.
856 +Because the //replace// action always takes place at specific levels, it cannot be used to replace a whole dataset or a whole series. However, a //“replace all”// effect can be achieved by combining a //Delete// dataset containing a completely wildcarded key (where all dimension values are omitted) with a //Merge// or //Replace// dataset within the same data message. Similarly, to replace a whole series, a message can combine a //delete// dataset containing only the partial key of the series (where the not used dimension values are omitted) with a //Merge// or //Replace// dataset for that series.
835 835  
836 836  === 4.1.3 Delete Action ===
837 837  
... ... @@ -851,58 +851,59 @@
851 851  
852 852  The following convention is used to indicate the state of components in data messages:
853 853  
854 -| | |**Dimension value is**| |**Measure, attribute or reference metadata value is**| |
855 -| | |**Omitted**|**switched off**|**Omitted**|**Present**|
856 -|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|
857 -| |Merge|*bulk merge is not permitted*|(see above)|not to be changed|to be updated/inserted|
858 -| |Replace|*bulk replace is not permitted*|(see above)|at permitted replacement levels: to be deleted, otherwise not to be changed|to be updated/inserted|
859 -|Format|XML|xml element/attribute is absent|~|xml element/attribute is absent|any valid or intentionally missing value|
860 -| |JSON|\<empty\>|““|NULL or absent|(see above)|
861 -| |CSV|\<empty\> cell or column is absent|~|<empty> cell or column is absent|(see above)|
876 +(% style="width:1364.29px" %)
877 +| | |(% style="width:260px" %)**Dimension value is**|(% style="width:391px" %) |(% style="width:383px" %)**Measure, attribute or reference metadata value is**|(% style="width:184px" %)
878 +| | |(% style="width:260px" %)**Omitted**|(% style="width:391px" %)**switched off**|(% style="width:383px" %)**Omitted**|(% style="width:184px" %)**Present**
879 +|Action|Delete|(% style="width:260px" %)bulk deletion: dimension value doesn't matter|(% style="width:391px" %)only for irrelevant dimensions:1) higher-level (reference metadata) attributes not attached to this dimension(incl. TIME\_PERIOD)2) measures and attributes not attached to this dimension if the DSD allows for an ‘evolving structure’ (excl. TIME\_PERIOD)|(% style="width:383px" %)to be deleted only if **all** non-dimension components are omitted|(% style="width:184px" %)to be deleted
880 +| |Merge|(% style="width:260px" %)//bulk merge is not permitted//|(% style="width:391px" %)(see above)|(% style="width:383px" %)not to be changed|(% style="width:184px" %)to be updated/inserted
881 +| |Replace|(% style="width:260px" %)//bulk replace is not permitted//|(% style="width:391px" %)(see above)|(% style="width:383px" %)at permitted replacement levels: to be deleted, otherwise not to be changed|(% style="width:184px" %)to be updated/inserted
882 +|Format|XML|(% style="width:260px" %)xml element/attribute is absent|(% style="width:391px" %)~|xml element/attribute is absent|(% style="width:383px" %)any valid or intentionally missing value|(% style="width:184px" %)
883 +| |JSON|(% style="width:260px" %)\<empty\>|(% style="width:391px" %)““|(% style="width:383px" %)NULL or absent|(% style="width:184px" %)(see above)
884 +| |CSV|(% style="width:260px" %)\<empty\> cell or column is absent|(% style="width:391px" %)~|<empty> cell or column is absent|(% style="width:383px" %)(see above)|(% style="width:184px" %)
862 862  
863 863  **Important notes:**
864 864  
865 -The terms “*delete*”, “*merge*” and “*replace*” do **not** imply a physical replacement or deletion of values in the underlying database. To minimize the physical resource requirements, SDMX web service implementations that do not support the *includeHistory* and *asOf* URL parameters might physically replace the existing values in the database. SDMX web services that neither support the *updatedAfter* URL parameter might also implement physical deletions. However, SDMX web services that support these parameters (or other time-machine features), would not overwrite or delete the physical values.
888 +The terms “//delete//”, “//merge//” and “//replace//” do **not** imply a physical replacement or deletion of values in the underlying database. To minimize the physical resource requirements, SDMX web service implementations that do not support the //includeHistory// and //asOf// URL parameters might physically replace the existing values in the database. SDMX web services that neither support the *updatedAfter* URL parameter might also implement physical deletions. However, SDMX web services that support these parameters (or other time-machine features), would not overwrite or delete the physical values.
866 866  
867 -SDMX web services that support the *includeHistory* or *asOf* URL parameters should never allow deleting their **historic** data content because this would interfere with the interests of data consumers, such as data aggregators. Therefore, a specific feature to physically delete previous (outdated) content is intentionally not added to the SDMX standard syntax. If such a feature is required by an organisation, then it needs to be implemented as a custom feature outside the SDMX standard.
890 +SDMX web services that support the //includeHistory// or //asOf// URL parameters should never allow deleting their **historic** data content because this would interfere with the interests of data consumers, such as data aggregators. Therefore, a specific feature to physically delete previous (outdated) content is intentionally not added to the SDMX standard syntax. If such a feature is required by an organisation, then it needs to be implemented as a custom feature outside the SDMX standard.
868 868  
869 -Likewise, all SDMX-compliant systems that do (or are configured to) support the *updatedAfter* URL parameter need to systematically retain the information about deleted data (or data-related reference metadata).
892 +Likewise, all SDMX-compliant systems that do (or are configured to) support the //updatedAfter// URL parameter need to systematically retain the information about deleted data (or data-related reference metadata).
870 870  
871 -All datasets – even with varying actions – within a single data message have always to be treated as **ACID transaction** to guarantee “transactional safety” (full data consistency and validity despite errors, power failures, and other mishaps). These datasets are to be processed in the order of appearance in the message. The advantage of such data messages is thus the ability to bundle separate *delete* and *replace* or *merge* actions into one transactional data message.
894 +All datasets – even with varying actions – within a single data message have always to be treated as **ACID transaction** to guarantee “transactional safety” (full data consistency and validity despite errors, power failures, and other mishaps). These datasets are to be processed in the order of appearance in the message. The advantage of such data messages is thus the ability to bundle separate //delete// and //replace// or //merge// actions into one transactional data message.
872 872  
873 -**Recommended[^2] dataset actions in SDMX web service responses to GET data queries:**
896 +**Recommended{{footnote}}So far this is recommended for systems that do not require backward-compatibility. Later, with SDMX 4.0, this may generally be made mandatory{{/footnote}} dataset actions in SDMX web service responses to GET data queries:**
874 874  
875 -1. Without the *updatedAfter*, *includeHistory*, *detail*, *attributes* or *measures* URL parameters:
876 -
877 - The response message should contain the retrieved data in a *Replace* dataset (instead of the previous *information* dataset).
898 +~1. Without the //updatedAfter//, //includeHistory//, //detail//, //attributes// or //measures// URL parameters:
878 878  
879 -1. Without the *updatedAfter* and *includeHistory*, but with *detail*, *attributes* or *measures* URL parameters:
880 -
881 - The response message should contain the retrieved data in a *Merge* dataset (instead of the previous *Information* dataset).
900 +The response message should contain the retrieved data in a //Replace// dataset (instead of the previous *information* dataset).
882 882  
883 -1. With the *updatedAfter* URL parameter:
884 -
885 - The response must include the information of all previously updated, inserted and deleted data or data-related reference metadata, even if bulk deletions have been used. One of the two approaches are possible:
902 +2. Without the //updatedAfter// and //includeHistory//, but with //detail//, //attributes// or //measures// URL parameters:
886 886  
887 -* 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
888 - a *Replace* dataset for all other changed observations and changed attribute and data-related reference metadata values attached to specific dimension combinations, or 
889 -* 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
890 - a *Merge* dataset for all other updated or inserted observation, attribute and data-related reference metadata values.
891 -
892 - The DB synchronization use case requires that the generated response must always allow achieving to replicate the exact same punctual data content as currently stored in the queried data source.
904 +The response message should contain the retrieved data in a //Merge// dataset (instead of the previous *Information* dataset).
893 893  
894 -1. With the *includeHistory* URL parameter:
895 -
896 - Using a number of datasets with *Delete*, *Replace* or *Merge* actions and limited in their validity time span that allow achieving to replicate the exact same punctual data contents as previously stored in the queried data source.
906 +3. With the //updatedAfter// URL parameter:
897 897  
898 -1. With the *asOf* URL parameter:
899 -
900 - The recommendations of 1 and 2 apply depending on the other parameters. In addition, the returned dataset should have its validity time span limited to the point in time requested in the *asOf* parameter.
908 +The response must include the information of all previously updated, inserted and deleted data or data-related reference metadata, even if bulk deletions have been used. One of the two approaches are possible:
901 901  
902 -[^2]: So far this is recommended for systems that do not require backward-compatibility. Later, with SDMX 4.0, this may generally be made mandatory.
910 +* a //Delete// dataset for entirely deleted observations and for entirely deleted sets of (data-related reference metadata) attribute values attached to specific dimension combinations and
911 +a //Replace// dataset for all other changed observations and changed attribute and data-related reference metadata values attached to specific dimension combinations, or 
912 +* a //Delete// dataset for entirely deleted observations, for entirely deleted sets of (data-related reference metadata) attribute values attached to specific dimension combinations and for individually deleted mesure, attribute and reference metadata values and
913 +a //Merge// dataset for all other updated or inserted observation, attribute and data-related reference metadata values.
903 903  
915 +The DB synchronization use case requires that the generated response must always allow achieving to replicate the exact same punctual data content as currently stored in the queried data source.
916 +
917 +~1. With the *includeHistory* URL parameter:
918 +
919 +Using a number of datasets with *Delete*, *Replace* or *Merge* actions and limited in their validity time span that allow achieving to replicate the exact same punctual data contents as previously stored in the queried data source.
920 +
921 +2. With the *asOf* URL parameter:
922 +
923 +The recommendations of 1 and 2 apply depending on the other parameters. In addition, the returned dataset should have its validity time span limited to the point in time requested in the *asOf* parameter.
924 +
904 904  == 4.2 Reference Metadata Actions ==
905 905  
906 906  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.
907 907  
908 908  The former message header or metadataset property *DataSetAction* is deprecated. To avoid conflicts, it is now ignored if still present.
930 +
931 +{{putFootnotes/}}