Changes for page SDMX 3.0 Standards. Summary of Major Changes and New Functionality
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -65,7 +65,7 @@ 65 65 66 66 Version 3.0 introduces breaking changes into the web services API, transmission formats and information model. A summary is given in the table below. 67 67 68 -== //2.1 Web Services API//==68 +== 2.1 Web Services API == 69 69 70 70 (% style="width:948.039px" %) 71 71 |**REST API**|(% style="width:818px" %)((( ... ... @@ -86,7 +86,7 @@ 86 86 ))) 87 87 |**SOAP API**|(% style="width:818px" %)The SOAP API has been deprecated. 88 88 89 -== //2.2 Transmission Formats//==89 +== 2.2 Transmission Formats == 90 90 91 91 ((( 92 92 (% style="width:952.039px" %) ... ... @@ -122,7 +122,7 @@ 122 122 |(% style="width:130px" %)**SDMX-CSV**|(% style="width:820px" %)The CSV data and reference metadata messages are not backwardly compatible with those under version 2.1 due to changes to the structure of the messages needed to support new features such as the improved REST API data queries. 123 123 ))) 124 124 125 -== //2.3 Information Model//==125 +== 2.3 Information Model == 126 126 127 127 ((( 128 128 (% style="width:955.039px" %) ... ... @@ -177,7 +177,7 @@ 177 177 178 178 = 3 Information Model = 179 179 180 -== //3.1 Version 3.0 Information Model//==180 +== 3.1 Version 3.0 Information Model == 181 181 182 182 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_6fc573fe.png||height="404" width="718"]] 183 183 ... ... @@ -187,7 +187,7 @@ 187 187 188 188 A number of ancillary structures including organisation schemes, process and reporting taxonomy are unchanged and have not been shown. Similarly, Organisation Scheme Map and Reporting Taxonomy Map have been omitted for simplicity. A schematic of the 2.1 model is given in Appendix A for comparison purposes. 189 189 190 -== //3.2 Key Changes from Version 2.1//==190 +== 3.2 Key Changes from Version 2.1 == 191 191 192 192 New Maintainable Artefacts 193 193 ... ... @@ -271,48 +271,47 @@ 271 271 * TITLE – a multi-lingual data attribute 272 272 * SOURCE_AGENCY – a multi-value data attribute 273 273 274 -<Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09"> 275 -<!—- complex multi-value and multi-lingual data attributes ~-~-> 276 -<Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE"> 277 -<Value> 278 -<common:Text xml:lang="en">Some English Text</common:Text> 279 -<common:Text xml:lang="fr">Quelques textes en anglais</common:Text> 280 -</Value> 281 -</Comp> 274 +> <Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09"> 275 +> <!—- complex multi-value and multi-lingual data attributes ~-~-> 276 +> <Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE"> 277 +> <Value> 278 +> <common:Text xml:lang="en">Some English Text</common:Text> 279 +> <common:Text xml:lang="fr">Quelques textes en anglais</common:Text> 280 +> </Value> 281 +> </Comp> 282 +> <Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE"> 283 +> <Value>4F0</Value> 284 +> <Value>4D0</Value> 285 +> <Value>CZ2</Value> 286 +> </Comp> 287 +> <!—- metadata attributes are reported like in metadata messages ~-~-> 288 +> <Metadata> 289 +> <Attribute id="COLLECTION"> 290 +> <Attribute id="METHOD"> 291 +> <Text lang="en">AAA</Text> 292 +> </Attribute> 293 +> </Attribute> 294 +> <Attribute id="CONTACT"> 295 +> <Value>CONTACT 1</Value> 296 +> <Attribute id="NAME"> 297 +> <Value>Contact 1 Name 1</Value> 298 +> </Attribute> 299 +> <Attribute id="NAME"> 300 +> <Value>Contact 1 Name 2</Value> 301 +> </Attribute> 302 +> </Attribute> 303 +> <Attribute id="CONTACT"> 304 +> <Value>CONTACT 2</Value> 305 +> <Attribute id="NAME"> 306 +> <Value>Contact 2 Name 1</Value> 307 +> </Attribute> 308 +> <Attribute id="NAME"> 309 +> <Value>Contact 2 Name 2</Value> 310 +> </Attribute> 311 +> </Attribute> 312 +> </Metadata> 313 +> </Obs> 282 282 283 -<Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE"> 284 -<Value>4F0</Value> 285 -<Value>4D0</Value> 286 -<Value>CZ2</Value> 287 -</Comp> 288 -<!—- metadata attributes are reported like in metadata messages ~-~-> 289 -<Metadata> 290 -<Attribute id="COLLECTION"> 291 -<Attribute id="METHOD"> 292 -<Text lang="en">AAA</Text> 293 -</Attribute> 294 -</Attribute> 295 -<Attribute id="CONTACT"> 296 -<Value>CONTACT 1</Value> 297 -<Attribute id="NAME"> 298 -<Value>Contact 1 Name 1</Value> 299 -</Attribute> 300 -<Attribute id="NAME"> 301 -<Value>Contact 1 Name 2</Value> 302 -</Attribute> 303 -</Attribute> 304 -<Attribute id="CONTACT"> 305 -<Value>CONTACT 2</Value> 306 -<Attribute id="NAME"> 307 -<Value>Contact 2 Name 1</Value> 308 -</Attribute> 309 -<Attribute id="NAME"> 310 -<Value>Contact 2 Name 2</Value> 311 -</Attribute> 312 -</Attribute> 313 -</Metadata> 314 -</Obs> 315 - 316 316 === New - Metadata Provision Agreement === 317 317 318 318 In version 2.1 a Provision Agreement could be used to report information against a Dataflow or Metadataflow. From version 3.0 this is managed by two separate structures, the Data Provision Agreement and the Metadata Provision Agreement. ... ... @@ -337,42 +337,25 @@ 337 337 338 338 MeasureDimension behaviour as illustrated in the SDMX-ML example below: 339 339 340 -<str:MeasureList id=”MeasureDescriptor”> 339 +> <str:MeasureList id=”MeasureDescriptor”> 340 +> <str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 341 +> <Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 342 +> </str:ConceptIdentity> 343 +> <str:LocalRepresentation> 344 +> <str:TextFormat textType=”String” isMultiLingual=”true” /> 345 +> </str:LocalRepresentation> 346 +> <str:ConceptRole> 347 +> <Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 348 +> </str:ConceptRole> 349 +> </str:Measure> 350 +> ... 351 +> <str:Measure> 352 +> </str:MeasureList> 341 341 342 -<str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 343 - 344 -<Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 345 - 346 -</str:ConceptIdentity> 347 - 348 -<str:LocalRepresentation> 349 - 350 -<str:TextFormat textType=”String” isMultiLingual=”true” /> 351 - 352 -</str:LocalRepresentation> 353 - 354 -<str:ConceptRole> 355 - 356 -<Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 357 - 358 -</str:ConceptRole> 359 - 360 -</str:Measure> 361 - 362 -... 363 - 364 -<str:Measure> 365 - 366 -</str:MeasureList> 367 - 368 368 === Multi-value measures and attributes === 369 369 370 -Both measures and attributes have been extended with the option to take ‘arrays’ of 193 multiple coded or uncoded values. This supports use cases like multiple observation 194 status flags. New //minOccurs// and //maxOccurs// properties define the valid number of 195 values. The //usage// property separately defines whether the measure or attribute is 356 +Both measures and attributes have been extended with the option to take ‘arrays’ of 193 multiple coded or uncoded values. This supports use cases like multiple observation 194 status flags. New //minOccurs// and //maxOccurs// properties define the valid number of 195 values. The //usage// property separately defines whether the measure or attribute is //mandatory// or optional. In the SDMX-ML measure example above, the properties //minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value. 371 371 372 -//mandatory// or optional. In the SDMX-ML measure example above, the properties 373 - 374 -//minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value. 375 - 376 376 === Attributes relationship to measures === 377 377 378 378 In addition to attaching attributes to a specific level within the dataset, their relationship 202 to measures can also be defined. ... ... @@ -398,13 +398,13 @@ 398 398 * GeographicCodelist – each item includes an element to represent a specific Geo Feature Set which is described using the same expression syntax as for GeospatialInformation type. 399 399 * GeoGridCodelist – A code list defining a geographical grid composed of cells representing regular squared portions of the Earth. Each item references a cell within the grid. 400 400 401 -== =3.7 Structure Mapping ===383 +== 3.7 Structure Mapping == 402 402 403 403 The Structure Set in version 2.1 is a container for many mapping structures including Data Structure Map, Codelist Map and Concept Map. For version 3.0 the Structure Set artefact has been deprecated and replaced with a number of new maintainables giving better flexibility and reusability, specifically: Structure Map, Concept Scheme Map, Representation Map, Reporting Taxonomy Map, Category Scheme Map and Organisation Scheme Map. 404 404 405 405 The version 2.1 Codelist Map been replaced with Representation Map which allows mappings to be defined between any combination of Code Lists, Value Lists and noncoded representations such as text strings and numbers. 406 406 407 -=== =Many-to-many source and target components ====389 +=== Many-to-many source and target components === 408 408 409 409 Structure mapping rules may be defined with both multiple source components and multiple target components in contrast to version 2.1 where only one source and target was allowed. That supports many-to-many (n-n) mapping use cases where the output of a mapping rule may be dependent on the combination of a number of input components. For instance: 410 410 ... ... @@ -418,19 +418,19 @@ 418 418 419 419 The Structure Map may now define input or output components which have a fixed value. 420 420 421 -=== =Time representations mapping ====403 +=== Time representations mapping === 422 422 423 423 Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats. 424 424 425 -=== =Regular expression and substring mappings ====407 +=== Regular expression and substring mappings === 426 426 427 427 All item maps allow the use of regular expressions and substrings to match source values, specifically: Concept Scheme Map, Reporting Taxonomy Map, Category Scheme Map and Organisation Scheme Map. 428 428 429 -=== =Item maps validity period ====411 +=== Item maps validity period === 430 430 431 431 Item maps may further define the period for which the mapping is valid, meaning the mapping rule will only be applied if the row of information being mapped is within the period. 432 432 433 -== =3.8 Constraints ===415 +== 3.8 Constraints == 434 434 435 435 Constraints in version 3.0 are modelled using two separate artefacts which replace the version 2.1 content constraint: 436 436 ... ... @@ -445,17 +445,17 @@ 445 445 446 446 Attachment constraints have been deprecated due to a lack of use cases. 447 447 448 -== =3.9 Code List Extension ===430 +== 3.9 Code List Extension == 449 449 450 450 In addition to the two new specialised geospatial forms, the option has been added to define a code list as an extension of, or by inheriting codes from, other lists. An optional prefix can be added to inherited codes to disambiguate duplicates. 451 451 452 452 This feature allows new code lists to be easily derived from existing lists without the need to make and manually maintain copies. When querying for extended code list structures using the REST API, the option has been added to retrieve either the definition or the materialised list. Traditional literal lists of codes continue to be supported. 453 453 454 -== =3.10 Discriminated Union of Code Lists ===436 +== 3.10 Discriminated Union of Code Lists == 455 455 456 456 Combining code list extension with wildcarded constraints solves the discriminated union of code lists problem where a classification or breakdown has multiple “variants” which are all valid but mutually exclusive. A common example is economic activity where several alternative classification schemes are in use including ISIC revisions 1 to 4 and NACE as used in the European Community. 457 457 458 -== =3.11 Code Hierarchies ===440 +== 3.11 Code Hierarchies == 459 459 460 460 Code hierarchies allow the definition of complex hierarchies of codes from potentially multiple lists for data discovery purposes. Hierarchical Codelist has been deprecated and replaced by two new artefacts: Hierarchy – the actual hierarchy of codes, and Hierarchy Association links hierarchies directly to any other identifiable object, a capability missing 312 from the version 2.1 model. Further, the linkage can be within a particular context, for instance linking a hierarchy to a dimension within the context of a specific Dataflow (dimension REF_AREA in the context of the ECB:EXR Dataflow). 461 461 ... ... @@ -503,7 +503,7 @@ 503 503 504 504 = 5 REST Web Services API = 505 505 506 -== //5.1 Simplified list of resources//==488 +== 5.1 Simplified list of resources == 507 507 508 508 The version 3.0 REST API has just five main resources: 509 509 ... ... @@ -517,7 +517,7 @@ 517 517 518 518 This and changes in the URLs and query parameters on the data, availability and metadata resources means that, with the exception of schema queries, the version 3.0 API is not backwardly compatible. 519 519 520 -== //5.2 Improved data queries//==502 +== 5.2 Improved data queries == 521 521 522 522 Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow. 523 523 ... ... @@ -556,7 +556,7 @@ 556 556 557 557 /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG 558 558 559 -== //5.3 Improved reference metadata queries//==541 +== 5.3 Improved reference metadata queries == 560 560 561 561 Reference metadata queries have been improved with a number of new options to retrieve metadata reports. 562 562 ... ... @@ -572,7 +572,7 @@ 572 572 573 573 /metadata/structure/datastructure/BIS/BIS_CBS/1.0 574 574 575 -== //5.4 Structural metadata maintenance//==557 +== 5.4 Structural metadata maintenance == 576 576 577 577 Support has been added for maintenance of structural metadata. 578 578 ... ... @@ -580,7 +580,7 @@ 580 580 581 581 = 6 XML, JSON, CSV and EDI Transmission formats = 582 582 583 -== //6.1 SDMX-ML//==565 +== 6.1 SDMX-ML == 584 584 585 585 The SDMX-ML XML messages have been modified and updated for version 3.0. While they broadly follow the same principles, there have been significant changes which break backward compatibility. 586 586 ... ... @@ -666,7 +666,7 @@ 666 666 667 667 The option to reference structures using Agency, ID and Version has been removed. From SDMX version 3.0 URN is used for all referencing purposes with the exception of local references such as where groups reference dimensions within a DSD. 668 668 669 -== //6.2 SDMX-JSON//==651 +== 6.2 SDMX-JSON == 670 670 671 671 Like SDMX-ML, the SDMX-JSON messages have been significantly modified and updated for version 3.0. They are not backwardly compatible with version 2.1. 672 672 ... ... @@ -686,7 +686,7 @@ 686 686 687 687 As for SDMX-ML, the option to reference structures using Agency, ID and Version has been removed with URN used for all non-local referencing purposes. 688 688 689 -== //6.3 SDMX-CSV//==671 +== 6.3 SDMX-CSV == 690 690 691 691 CSV in SDMX is used transmission of data and reference metadata only. 692 692 ... ... @@ -704,7 +704,7 @@ 704 704 705 705 The SDMX-CSV metadata message is new for version 3.0 and, like the SDMX-ML and SDMX-JSON equivalents, is used for the transmission reference metadata sets. 706 706 707 -=== //6.4 EDI deprecation//===689 +=== 6.4 EDI deprecation === 708 708 709 709 The EDI format for transmission of both structures and data has been deprecated. Version 3.0 is therefore not backwardly compatible with legacy EDI messages. 710 710