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
-
... ... @@ -94,10 +94,13 @@ 94 94 The following legacy XML data messages have been deprecated: 95 95 96 96 SDMX-ML 1.0/2.0 Generic (time-series) data message 97 + 97 97 SDMX-ML 1.0/2.0 Compact (time-series) data message 99 + 98 98 SDMX-ML 1.0/2.0 Utility (time-series) data message 99 -SDMX-ML 1.0/2.0 Cross-Sectional data message SDMX-ML 2.1 Generic data messages (for observations, time-series and cross-sectional data) 100 100 102 +SDMX-ML 1.0/2.0 Cross-Sectional data message SDMX-ML 2.1 Generic data messages (for observations, time-series and cross-sectional data) 103 + 101 101 Structure Specific is the only data message option in version 3.0 but is not backwardly compatible with version 2.1 due to several changes including deprecation of the option to reference structures like the DSD, Dataflow and Provision Agreement using their Agency, ID and Version. The time series variant of the message has also been deprecated. 102 102 103 103 The SDMX-ML structure message is not backwardly compatible primarily due to: ... ... @@ -244,8 +244,8 @@ 244 244 245 245 Reference metadata has been substantially re-designed for version 3.0 to simplify the model and better support practical use cases. 246 246 247 - (% class="wikigeneratedid" id="HSimplifyMetadataStructureDefinition"%)248 - **Simplify Metadata Structure Definition**250 +=== Simplify Metadata Structure Definition === 251 + 249 249 The Metadata Structure Definition (MSD) has been simplified to remove target information, and the support of multiple report structures. The MSD now only contains Metadata Attributes which are used to define the structure of a report. 250 250 251 251 [[image:SDMX 3-0-0 Major Changes FINAL-1.0_en_ad5f5c97.png||height="346" width="494"]] ... ... @@ -256,8 +256,8 @@ 256 256 257 257 //Figure 3 the simplified version 3.0 MSD// 258 258 259 - (% class="wikigeneratedid" id="HChangetoreferencemetadatareportedagainstdata"%)260 - **Change to reference metadata reported against data**262 +=== Change to reference metadata reported against data === 263 + 261 261 Reference metadata associated with datasets, data series or observations are now reported with the data. The dataset’s DSD must reference an MSD to define the structure of its reference metadata. In practice reference metadata for data are transmitted as part of the data message. The metadata attributes are treated in a similar way to the data attributes appearing in the message at the dataset, data series or individual observation level as appropriate. In contrast to simple data attributes, metadata attributes defined by an MSD can be organised into a hierarchical structure as illustrated in Figure 3 above. For this reason, metadata attributes appear in data messages structured in the same way as metadata messages. 262 262 263 263 The SDMX-ML example below is an excerpt from a structure specific data message illustrating reporting of reference metadata with a hierarchical structure at the observation level. ... ... @@ -269,56 +269,56 @@ 269 269 * SOURCE_AGENCY – a multi-value data attribute 270 270 271 271 > <Obs xsi:type="dsd:ObsType" OBS_VALUE="112" OBS_STAUS=”A” TIME_PERIOD="2010-09"> 272 -> <!—- complex multi-value and multi-lingual data attributes ~-~->273 -> <Comp id="TITLE" xsi:type="ns1:TITLE_ATTRIBUTE">274 -> <Value>275 -> <common:Text xml:lang="en">Some English Text</common:Text>276 -> <common:Text xml:lang="fr">Quelques textes en anglais</common:Text>277 -> </Value>278 -> </Comp>279 -> <Comp id="SOURCE_AGENCY" xsi:type="ns1:SOURCE_AGENCY_ATTRIBUTE">280 -> <Value>4F0</Value>281 -> <Value>4D0</Value>282 -> <Value>CZ2</Value>283 -> </Comp>284 - ><!—- metadata attributes are reported like in metadata messages ~-~->285 - ><Metadata>286 - ><Attribute id="COLLECTION">287 - ><Attribute id="METHOD">288 - ><Text lang="en">AAA</Text>289 - ></Attribute>290 - ></Attribute>291 - ><Attribute id="CONTACT">292 - ><Value>CONTACT 1</Value>293 - ><Attribute id="NAME">294 - ><Value>Contact 1 Name 1</Value>295 - ></Attribute>296 - ><Attribute id="NAME">297 - ><Value>Contact 1 Name 2</Value>298 - ></Attribute>299 - ></Attribute>300 - ><Attribute id="CONTACT">301 - ><Value>CONTACT 2</Value>302 - ><Attribute id="NAME">303 - ><Value>Contact 2 Name 1</Value>304 - ></Attribute>305 - ><Attribute id="NAME">306 - ><Value>Contact 2 Name 2</Value>307 - ></Attribute>308 - ></Attribute>309 - ></Metadata>310 - ></Obs>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> 311 311 312 - (% class="wikigeneratedid" id="HNew-MetadataProvisionAgreement"%)313 - **New - Metadata Provision Agreement**315 +=== New - Metadata Provision Agreement === 316 + 314 314 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. 315 315 316 - (% class="wikigeneratedid" id="HMovetargettoMetadataflowandMetadataProvisionAgreement"%)317 - **Move target to Metadataflow and Metadata Provision Agreement**319 +=== Move target to Metadataflow and Metadata Provision Agreement === 320 + 318 318 For reference metadata that is reported against structures, the allowable targets information which is used to specify what structures the reference metadata can be reported against, has moved to the Metadataflow and can be further refined in the Metadata Provision Agreement. 319 319 320 - (% class="wikigeneratedid" id="HAddmaintainablepropertiestoreferencemetadata"%)321 - **Add maintainable properties to reference metadata**323 +=== Add maintainable properties to reference metadata === 324 + 322 322 A Metadataset now has mandatory identification information, (owner id, id, version) enabling metadata providers to uniquely identify their reports for create, update or delete maintenance operations. 323 323 324 324 == 3.5 Microdata Exchange == ... ... @@ -325,47 +325,57 @@ 325 325 326 326 Several changes have been made the Data Structure Definition to support microdata use cases in addition to aggregated time series. 327 327 328 -(% class="wikigeneratedid" id="HMultiplemeasures" %) 329 -**Multiple measures** 330 -Multiple measures are a common characteristic of microdatasets. To support this use case, the MeasureDimension has been deprecated and replaced with the option to define zero or more measures. Measures now act like any other component in that they use concepts, can have their own local coded or uncoded representation defined within the Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 MeasureDimension behaviour as illustrated in the SDMX-ML example below: 331 +=== Multiple measures === 331 331 332 -> <str:MeasureList id=”MeasureDescriptor”> 333 -> <str:Measure id=”OBS_VALUE” minOccurs=”1” maxOccurs=”1” usage=”mandatory” > <str:ConceptIdentity> 334 -> <Ref id=”OBS_VALUE” maintainableParentID=”CONCEPTS” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 335 -> </str:ConceptIdentity> 336 -> <str:LocalRepresentation> 337 -> <str:TextFormat textType=”String” isMultiLingual=”true” /> 338 -> </str:LocalRepresentation> 339 -> <str:ConceptRole> 340 -> <Ref id=”MEASURE” maintainableParentID=”SDMX_CONCEPT_ROLES” agencyID=”SDMX” maintainableParentVersion=”1.0.0” /> 341 -> </str:ConceptRole> 342 -> </str:Measure> 343 -> ... 344 -> <str:Measure> 345 -> </str:MeasureList> 333 +Multiple measures are a common characteristic of microdatasets. To support this use case, the MeasureDimension has been deprecated and replaced with the option to define zero or more measures. Measures now act like any other component in that they use concepts, can have their own local coded or uncoded representation defined within the 346 346 347 -(% class="wikigeneratedid" id="HMulti-valuemeasuresandattributes" %) 348 -**Multi-value measures and attributes** 349 -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. 335 +Data Structure Definition, and can be either mandatory or conditional. Creating a measure with the “MEASURE” concept role applied emulates the version 2.1 350 350 351 -(% class="wikigeneratedid" id="HAttributesrelationshiptomeasures" %) 352 -**Attributes relationship to measures** 337 +MeasureDimension behaviour as illustrated in the SDMX-ML example below: 338 + 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> 353 + 354 +=== Multi-value measures and attributes === 355 + 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 357 + 358 +//mandatory// or optional. In the SDMX-ML measure example above, the properties 359 + 360 +//minOccurs=”1” maxOccurs=”1” usage=”mandatory”// specify that OBS_VALUE must be 198 reported, and can only consist of a single value. 361 + 362 +=== Attributes relationship to measures === 363 + 353 353 In addition to attaching attributes to a specific level within the dataset, their relationship 202 to measures can also be defined. 354 354 355 -(% class="wikigeneratedid" id="HValuelists" %) 356 -**Value lists** 357 -Value lists help in modelling microdata by providing an enumeration similar to code lists 206 but allowing any string values without being restricted to the rules of SDMX identifiers. That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but also means they are not identifiable. 366 +=== Value lists === 358 358 368 +Value lists help in modelling microdata by providing an enumeration similar to code lists 206 but allowing any string values without being restricted to the rules of SDMX identifiers. 369 + 370 +That allows ValueItems (the equivalent to Code) to contain symbols like ‘¥’ and ‘€’, but 208 also means they are not identifiable. 371 + 359 359 == 3.6 Geospatial Data Exchange == 360 360 361 361 The version 3.0 model has been extended to provide explicit support for geospatial data. 362 362 363 - (% class="wikigeneratedid" id="HGeospatialInformationtype"%)364 - **GeospatialInformation type**376 +=== GeospatialInformation type === 377 + 365 365 A new GeospatialInformation string type has been added which can be used as the 214 representation for any dimension, attribute or measure component. The value which is a 215 string expression conforming to the syntax defined in Section 6 of the technical 216 specifications precisely defines a ‘Geo Feature Set’ – a collection of geographical 217 features like points, lines or polygons. Its use is recommended in conjunction with the “GEO_FEATURE_SET” concept role. 366 366 367 - (% class="wikigeneratedid" id="HGeospatialcodelists"%)368 - **Geospatial code lists**380 +=== Geospatial code lists === 381 + 369 369 Two new specialised types of code list have been added where the definition of each code includes additional geospatial information in addition to the standard ID, name and description: 370 370 371 371 * 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. ... ... @@ -377,8 +377,8 @@ 377 377 378 378 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. 379 379 380 - (% class="wikigeneratedid" id="HMany-to-manysourceandtargetcomponents"%)381 - **Many-to-many source and target components**393 +=== Many-to-many source and target components === 394 + 382 382 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: 383 383 384 384 Set the output component INDICATOR=”DE_A” if the input components are FREQ=”A” and REF_AREA=”DE”. ... ... @@ -388,18 +388,19 @@ 388 388 Set the output components FREQ=”A”, REF_AREA=”DE” if the input component INDICATOR=”DE_A”. 389 389 390 390 **Fixed source and target** 404 + 391 391 The Structure Map may now define input or output components which have a fixed value. 392 392 393 - (% class="wikigeneratedid" id="HTimerepresentationsmapping"%)394 - **Time representations mapping**407 +=== Time representations mapping === 408 + 395 395 Non SDMX time representations may now be described in a Structure Map, allowing them to be mapped into SDMX time formats. 396 396 397 - (% class="wikigeneratedid" id="HRegularexpressionandsubstringmappings"%)398 - **Regular expression and substring mappings**411 +=== Regular expression and substring mappings === 412 + 399 399 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. 400 400 401 - (% class="wikigeneratedid" id="HItemmapsvalidityperiod"%)402 - **Item maps validity period**415 +=== Item maps validity period === 416 + 403 403 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. 404 404 405 405 == 3.8 Constraints == ... ... @@ -448,6 +448,7 @@ 448 448 Examples: 449 449 450 450 SDMX:CL_AREA(1.0.0) 465 + 451 451 SDMX:CL_AREA(2.3.2) 452 452 453 453 == Dependency management == ... ... @@ -454,9 +454,10 @@ 454 454 455 455 Additional constructs are possible for dependency management when referencing structures. For instance: 456 456 457 -2.3+.1 Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”). 458 -2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible). 472 +2.3+.1 Means the currently latest available version >= “2.3.1” and < “3.0.0” (all backwards compatible versions >= “2.3.1”). 459 459 474 +2+.3.1 Means the currently latest available version >= “2.3.1” (even if not backwards compatible). 475 + 460 460 == Draft structures == 461 461 462 462 A key principle is that semantically versioned structures are immutable and must not be changed without a corresponding change to the version number, except where explicitly marked as draft using extensions to the version number. ... ... @@ -463,10 +463,12 @@ 463 463 464 464 MAJOR.MINOR.PATCH-EXTENSION 465 465 466 -1.10.0-draft Means that version 1.10.0 is still being modified and may change – equivalent to setting isFinal=false in SDMX 2.1. 467 -1.10.0-unstable Alternative to -draft. 468 -1.10.0-notfinal Alternative to -draft. 482 +1.10.0-draft Means that version 1.10.0 is still being modified and may change – equivalent to setting isFinal=false in SDMX 2.1. 469 469 484 +1.10.0-unstable Alternative to -draft. 485 + 486 +1.10.0-notfinal Alternative to -draft. 487 + 470 470 The SDMX 2.1 isFinal property is deprecated in 3.0. 471 471 472 472 = 5 REST Web Services API = ... ... @@ -489,8 +489,8 @@ 489 489 490 490 Data queries have been changed to provide more granular selections from contexts wider than just a Dataflow. 491 491 492 - (% class="wikigeneratedid" id="HExtendthecontextofdataretrieval"%)493 - **Extend the context of data retrieval**510 +=== Extend the context of data retrieval === 511 + 494 494 Version 2.1 data queries always retrieved data from a single specific Dataflow. In version 3.0, the query context may be specified as: 495 495 496 496 * Dataflow; ... ... @@ -499,20 +499,18 @@ 499 499 500 500 Data queries may also search across datasets, for instance “retrieve all data about a country”. 501 501 502 - (% class="wikigeneratedid" id="HComponent-basedfilters"%)503 - **Component-based filters**520 +=== Component-based filters === 521 + 504 504 Expressions filtering on individual components can now be included as part of the data query URL. 505 505 506 506 /data/dataflow/ESTAT/ICP?c[REF_AREA]=CH&c[CONF_STATUS]=F 507 507 508 - (% class="wikigeneratedid" id="HSupportforoperators"%)509 - **Support for operators**526 +=== Support for operators === 527 + 510 510 Filter expressions can also include operators. 511 511 512 -/data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 530 +/data/dataflow/ESTAT/ICP?c[REF_AREA]=DE&c[ICP_ITEM]=sw:01&c[TIME_PERIOD]=ge:2015 Operators include: 513 513 514 -Operators include: 515 - 516 516 (% style="width:531.039px" %) 517 517 |(% style="width:151px" %)eq|(% style="width:378px" %)Equals 518 518 |(% style="width:151px" %)ne|(% style="width:378px" %)Not equal to ... ... @@ -520,11 +520,10 @@ 520 520 |(% style="width:151px" %)ge|(% style="width:378px" %)Greater than or equal to 521 521 |(% style="width:151px" %)sw|(% style="width:378px" %)Starts with 522 522 523 - (% class="wikigeneratedid" id="HSupportformultiplekeys"%)524 - **Support for multiple keys**539 +=== Support for multiple keys === 540 + 525 525 Queries can now specify multiple series keys. 526 526 527 -(% class="wikigeneratedid" %) 528 528 /data/dataflow/ESTAT/ICP/1.0.0/M…A.ANR,M…A.INX,M…B.CTG 529 529 530 530 == 5.3 Improved reference metadata queries == ... ... @@ -555,8 +555,8 @@ 555 555 556 556 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. 557 557 558 - (% class="wikigeneratedid" id="HStructuremessage"%)559 - **Structure message**573 +=== Structure message === 574 + 560 560 The SDMX-ML structure message is used for transmission of structural metadata. It closely reflects the SDMX information model and has therefore been significantly updated for version 3.0 with the addition of new structures, modifications where structures have changed, and removal of deprecated structures like Structure Set. 561 561 562 562 Additionally, the way the individual artefacts are organised into ‘collections’ within the message has been significantly revised with a simpler flat structure adopted as set out in the following table: ... ... @@ -607,8 +607,8 @@ 607 607 608 608 From version 3.0, collections can appear in any order within a structure message. 609 609 610 - (% class="wikigeneratedid" id="HDatamessages"%)611 - **Data messages**625 +=== Data messages === 626 + 612 612 All legacy SDMX-ML data messages have been deprecated with the exception of Structure Specific Data which becomes the sole standard format for transmission of SDMX data in XML in version 3.0. 613 613 614 614 Specifically, the following data messages are not supported in version 3.0: ... ... @@ -625,16 +625,16 @@ 625 625 626 626 The time series variant of the Structure Specific Data message is no longer used. 627 627 628 - (% class="wikigeneratedid" id="HReferencemetadatamessage"%)629 - **Reference metadata message**643 +=== Reference metadata message === 644 + 630 630 The Generic Metadata message remains the standard format for transmission of reference metadata sets in XML but has been modified to support the revised version 3.0 reference metadata model. 631 631 632 - (% class="wikigeneratedid" id="HRegistrystructuralmetadata2018query2019messages"%)633 - **Registry structural metadata ‘query’ messages**647 +=== Registry structural metadata ‘query’ messages === 648 + 634 634 As a consequence of the deprecation of the SOAP API and standardisation on REST, the structural metadata ‘query’ messages have all been removed. In version 3.0, querying an SDMX Registry for structural metadata is performed solely using REST GET. 635 635 636 - (% class="wikigeneratedid" id="HStructurereferencing"%)637 - **Structure referencing**651 +=== Structure referencing === 652 + 638 638 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. 639 639 640 640 == 6.2 SDMX-JSON == ... ... @@ -641,20 +641,20 @@ 641 641 642 642 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. 643 643 644 - (% class="wikigeneratedid" id="HStructuremessage-1"%)645 - **Structure message**659 +=== Structure message === 660 + 646 646 The SDMX-JSON structure message closely replicates the SDMX-ML equivalent. Like that of SDMX-ML it has been updated to align it with the version 3.0 information model with addition, deletion and modification of artefacts as required. The organisation of the structure collections has also been revised as detailed in paragraph 6.1. 647 647 648 - (% class="wikigeneratedid" id="HDatamessage"%)649 - **Data message**663 +=== Data message === 664 + 650 650 The SDMX-JSON data message has similarly be updated. Additional changes have been made to allow a single message to carry data from multiple datasets with potentially different Data Structure Definitions to support REST data queries of the form “retrieve all data about a country”. For this reason, the version 3.0 SDMX-JSON is not backwardly compatible with version 2.1 data messages. Support has been added for the transmission of microdata and reporting of reference metadata on data as an integral part of the dataset. 651 651 652 - (% class="wikigeneratedid" id="HReferencemetadatamessage-1"%)653 - **Reference metadata message**667 +=== Reference metadata message === 668 + 654 654 The SDMX-JSON metadata message has also been updated to support the version 3.0 reference metadata and Metadataset specifications. 655 655 656 - (% class="wikigeneratedid" id="HStructurereferencing-1"%)657 - **Structure referencing**671 +=== Structure referencing === 672 + 658 658 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. 659 659 660 660 == 6.3 SDMX-CSV == ... ... @@ -661,8 +661,8 @@ 661 661 662 662 CSV in SDMX is used transmission of data and reference metadata only. 663 663 664 - (% class="wikigeneratedid" id="HDatamessage-1"%)665 - **Data message**679 +=== Data message === 680 + 666 666 The SDMX-CSV data message has been modified to align with the version 3.0 information model, support the enhanced REST API and ensure that data can be freely converted to and from the XML and JSON formats without loss. These changes include: 667 667 668 668 * An additional column identifying the type if the artefact defining the structure of the data: “dataflow”, “datastructure” or “dataprovision”; • A column for the structure artefact’s identification of the form ... ... @@ -671,11 +671,11 @@ 671 671 672 672 * A column for the dataset action: information, append, replace or delete, which is consistent with both the the SDMX-ML and SDMX-JSON data messages. 673 673 674 - (% class="wikigeneratedid" id="HReferencemetadatamessage-2"%)675 - **Reference metadata message**689 +=== Reference metadata message === 690 + 676 676 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. 677 677 678 -== 6.4 EDI deprecation == 693 +=== 6.4 EDI deprecation === 679 679 680 680 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. 681 681