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

From version 1.3
edited by Helena
on 2025/05/21 13:45
Change comment: There is no comment for this version
To version 2.2
edited by Helena
on 2025/05/21 14:19
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -340,13 +340,12 @@
340 340  
341 341  The following table defines the behaviour of the SDMX Registry for the various Registry Interface messages.
342 342  
343 -|**Interface**|**Behaviour**
344 -|All|(((
343 +|(% style="width:244px" %)**Interface**|**Behaviour**
344 +|(% style="width:244px" %)All|(((
345 345  1) If the action is set to “replace” then the entire contents of the existing maintainable object in the Registry MUST be replaced by the object submitted, unless the final attribute is set to “true” in which case the only changes that are allowed are to the following constructs:
346 346  
347 347  * Name – this applies to the Maintainable object and its contained elements, such a Code in a Code list.
348 348  * Description - this applies to the Maintainable object and its contained elements, such a Code in a Code list.
349 -
350 350  * Annotation - this applies to the Maintainable object and its contained elements, such a Code in a Code list.
351 351  * validTo
352 352  * validFrom
... ... @@ -355,26 +355,24 @@
355 355  * uri
356 356  * isExternalReference
357 357  
358 -1. Cross referenced structures MUST exist in either the submitted document (in Structures or Structure Location) or in the registry to which the request is submitted.
359 -1. If the action is set to “delete” then the Registry MUST verify that the object can deleted. In order to qualify for deletion the object must:
357 +2) Cross referenced structures MUST exist in either the submitted document (in Structures or Structure Location) or in the registry to which the request is submitted.
360 360  
361 -1. Not have the final attribute set to “true”
362 -1. Not be referenced from any other object in the Registry.
359 +3) If the action is set to “delete” then the Registry MUST verify that the object can deleted. In order to qualify for deletion the object must:
363 363  
364 -1. The version rules in the SDMX Schema documentation MUST be obeyed.
361 +а) Not have the final attribute set to “true”
362 +b) Not be referenced from any other object in the Registry.
365 365  
366 -* The specific rules for the elements and attributes documented in the SDMX Schema MUST be obeyed.
364 +4) The version rules in the SDMX Schema documentation MUST be obeyed.
365 +
366 +5) The specific rules for the elements and attributes documented in the SDMX Schema MUST be obeyed.
367 367  )))
368 -|SubmitStructureRequest|Structures are submitted at the level of the Maintainable Artefact and the behaviour in “All” above is therefore at the level of the Maintainable Artefact.
369 -|SubmitProvisioningRequest|No additional behaviour.
370 -|Submit Registration Request|(((
368 +|(% style="width:244px" %)SubmitStructureRequest|Structures are submitted at the level of the Maintainable Artefact and the behaviour in “All” above is therefore at the level of the Maintainable Artefact.
369 +|(% style="width:244px" %)SubmitProvisioningRequest|No additional behaviour.
370 +|(% style="width:244px" %)Submit Registration Request|(((
371 371  If the datasource is a file (simple datasource) then the file MAY be retrieved and indexed according to the Boolean attributes set in the Registration.
372 -
373 373  For a queryable datasource the Registry MAY validate that the source exists and can accept an SDMX-ML data query.
374 374  )))
375 375  
376 -
377 -
378 378  = 6 Identification of SDMX Objects =
379 379  
380 380  == 6.1 Identification, Versioning, and Maintenance ==
... ... @@ -381,7 +381,6 @@
381 381  
382 382  All major classes of the SDMX Information model inherit from one of:
383 383  
384 -
385 385  * **IdentifiableArtefact** - this gives an object the ability to be uniquely identified (see following section on identification), to have a user-defined URI, and to have multi-lingual annotations.
386 386  * **NamableArtefact **- this has all of the features of IdentifiableArtefact plus the ability to have a multi-lingual name and description,
387 387  * **VersionableArtefact **– this has all of the above features plus a version number and a validity period.
... ... @@ -389,6 +389,8 @@
389 389  
390 390  === 6.1.1 Identification, Naming, Versioning, and Maintenance Model ===
391 391  
388 +[[image:1747824504225-229.png]]
389 +
392 392  **Figure 5: Class diagram of fundamental artefacts in the SDMX-IM**
393 393  
394 394  The table below shows the identification and related data attributes to be stored in a registry for objects that are one of:
... ... @@ -399,38 +399,34 @@
399 399  * Versionable
400 400  * Maintainable
401 401  
402 -|**Object Type**|**Data Attributes**|**Status**|**Data type**|**Notes**
403 -|Annotable|AnnotationTitle|C|string|
404 -| |AnnotationType|C|string|
405 -| |AnnotationURN|C|string|
406 -| |(((
407 -AnnotationText in the form of
400 +(% style="width:935.294px" %)
401 +|**Object Type**|(% style="width:244px" %)**Data Attributes**|(% style="width:99px" %)**Status**|**Data type**|(% style="width:389px" %)**Notes**
402 +|Annotable|(% style="width:244px" %)AnnotationTitle|(% style="width:99px" %)C|string|(% style="width:389px" %)
403 +| |(% style="width:244px" %)AnnotationType|(% style="width:99px" %)C|string|(% style="width:389px" %)
404 +| |(% style="width:244px" %)AnnotationURN|(% style="width:99px" %)C|string|(% style="width:389px" %)
405 +| |(% style="width:244px" %)(((
406 +AnnotationText in the form of International String
407 +)))|(% style="width:99px" %)C| |(% style="width:389px" %)This can have languagespecific variants.
408 +|Identifiable|(% style="width:244px" %)all content as for Annotable plus|(% style="width:99px" %) | |(% style="width:389px" %)
409 +| |(% style="width:244px" %)id|(% style="width:99px" %)M|string|(% style="width:389px" %)
410 +| |(% style="width:244px" %)uri|(% style="width:99px" %)C|string|(% style="width:389px" %)
411 +| |(% style="width:244px" %)urn|(% style="width:99px" %)C|string|(% style="width:389px" %)Although the urn is computable and therefore may not be submitted or stored physically, the Registry must return the urn for each object, and must be able to service a query on an object referenced solely by its urn.
412 +|Nameable|(% style="width:244px" %)all content as for Identifiable plus|(% style="width:99px" %) | |(% style="width:389px" %)
413 +| |(% style="width:244px" %)Name in the form of International String|(% style="width:99px" %)M|string|(% style="width:389px" %)This can have languagespecific variants.
414 +| |(% style="width:244px" %)(((
415 +Description in the form of International String
416 +)))|(% style="width:99px" %)C|string|(% style="width:389px" %)This can have languagespecific variants.
417 +|Versionable|(% style="width:244px" %)All content as for Identifiable plus|(% style="width:99px" %) | |(% style="width:389px" %)
418 +| |(% style="width:244px" %)version|(% style="width:99px" %)C|string|(% style="width:389px" %)This is the version number. If not present the default is 1.0
419 +| |(% style="width:244px" %)validFrom|(% style="width:99px" %)C|Date/time|(% style="width:389px" %)
420 +| |(% style="width:244px" %)validTo|(% style="width:99px" %)C|Date/time|(% style="width:389px" %)
421 +|Maintainable|(% style="width:244px" %)All content as for Versionable plus|(% style="width:99px" %) | |(% style="width:389px" %)
422 +| |(% style="width:244px" %)final|(% style="width:99px" %) |boolean|(% style="width:389px" %)Value of “true” indicates that this is a final specification and it cannot be changed except as a new version. Note that providing a “final’ object is not referenced from another object then it may be deleted.
423 +| |(% style="width:244px" %)isExternalReference|(% style="width:99px" %)C|boolean|(% style="width:389px" %)Value of “true” indicates that the actual resource is held outside of this registry. The actual reference is given in the registry URI or the structureURI, each of which must return a valid SDMX-ML file.
424 +| |(% style="width:244px" %)serviceURL|(% style="width:99px" %)C|string|(% style="width:389px" %)The url of the service that can be queried for this resource
425 +| |(% style="width:244px" %)structureURL|(% style="width:99px" %)C|string|(% style="width:389px" %)The url of the resource.
426 +| |(% style="width:244px" %)(Maintenance) agencyId|(% style="width:99px" %)M|string|(% style="width:389px" %)The object must be linked to a maintenance agency.
408 408  
409 -International String
410 -)))|C| |This can have languagespecific variants.
411 -| | | | |
412 -|Identifiable|all content as for Annotable plus| | |
413 -| |id|M|string|
414 -| |uri|C|string|
415 -| |urn|C|string|Although the urn is computable and therefore may not be submitted or stored physically, the Registry must return the urn for each object, and must be able to service a query on an object referenced solely by its urn.
416 -|Nameable|all content as for Identifiable plus| | |
417 -| |Name in the form of International String|M|string|This can have languagespecific variants.
418 -| |(((
419 -Description in the form of International
420 -
421 -String
422 -)))|C|string|This can have languagespecific variants.
423 -|Versionable|All content as for Identifiable plus| | |
424 -| |version|C|string|This is the version number. If not present the default is 1.0
425 -| |validFrom|C|Date/time|
426 -| |validTo|C|Date/time|
427 -|Maintainable|All content as for Versionable plus| | |
428 -| |final| |boolean|Value of “true” indicates that this is a final specification and it cannot be changed except as a new version. Note that providing a “final’ object is not referenced from another object then it may be deleted.
429 -| |isExternalReference|C|boolean|Value of “true” indicates that the actual resource is held outside of this registry. The actual reference is given in the registry URI or the structureURI, each of which must return a valid SDMX-ML file.
430 -| |serviceURL|C|string|The url of the service that can be queried for this resource
431 -| |structureURL|C|string|The url of the resource.
432 -| |(Maintenance) agencyId|M|string|The object must be linked to a maintenance agency.
433 -
434 434  **Table 1: Common Attributes of Object Types**
435 435  
436 436  == 6.2 Unique identification of SDMX objects ==
... ... @@ -475,11 +475,11 @@
475 475  
476 476  An example of this is shown in the XML snippet below.
477 477  
472 +[[image:1747824123013-196.jpeg||height="309" width="446"]]
478 478  
479 -[[image:1747824123013-196.jpeg]]
474 +(% class="wikigeneratedid" id="HFigure8:ExampleShowingUseofAgencyIdentifiers" %)
475 +**Figure 8: Example Showing Use of Agency Identifiers**
480 480  
481 -==== Figure 8: Example Showing Use of Agency Identifiers ====
482 -
483 483  Each of these maintenance agencies has an identical Code list with the Id CL_BOP. However, each is uniquely identified by means of the hierarchic agency structure.
484 484  
485 485  === 6.2.2 Universal Resource Name (URN) ===
... ... @@ -518,10 +518,8 @@
518 518  
519 519  **(maintainable-object-version)** is the version of the maintainable object and is enclosed in round brackets (). It will always be present.
520 520  
521 -**container-object-id** is the identifier of an intermediary object that contains the actual object which the URN is identifying. It is not mandatory as many actual objects do not have an intermediary container object. For instance, a Code is in a maintained object (Code List) and has no intermediary container object, whereas a Metadata Attribute has an intermediary container object (Report Structure) and may have an intermediary container object which is its parent Metadata Attribute. For this reason the container object id may repeat, with each repetition identifying the object at the next-lower level in its hierarchy. Note that if there is only a single containing object in the model then it is NOT included in the URN structure. This applies to Attribute Descriptor, Dimension Descriptor, and Measure Descriptor where there can be only one such object and this object has a fixed id. Therefore, whilst each of these has a
515 +**container-object-id** is the identifier of an intermediary object that contains the actual object which the URN is identifying. It is not mandatory as many actual objects do not have an intermediary container object. For instance, a Code is in a maintained object (Code List) and has no intermediary container object, whereas a Metadata Attribute has an intermediary container object (Report Structure) and may have an intermediary container object which is its parent Metadata Attribute. For this reason the container object id may repeat, with each repetition identifying the object at the next-lower level in its hierarchy. Note that if there is only a single containing object in the model then it is NOT included in the URN structure. This applies to Attribute Descriptor, Dimension Descriptor, and Measure Descriptor where there can be only one such object and this object has a fixed id. Therefore, whilst each of these has a URN, the id of the Attribute Descriptor, Dimension Descriptor, and Measure Descriptor is not included when the actual object is a Data Attribute or a Dimension/Measure Dimension/ Time Dimension, or a Measure.
522 522  
523 -URN, the id of the Attribute Descriptor, Dimension Descriptor, and Measure Descriptor is not included when the actual object is a Data Attribute or a Dimension/Measure Dimension/ Time Dimension, or a Measure.
524 -
525 525  Note that although a Code can have a parent Code and a Concept can have a parent Concept these are maintained in a flat structure and therefore do not have a container-object-id.
526 526  
527 527  For example the sequence is agency:DSDid(version).DimensionId and not agency:DSDid(version).DimensionDescriptorId.DimensionId.
... ... @@ -528,24 +528,23 @@
528 528  
529 529  **object-id** is the identifier of the actual object unless the actual object is a maintainable object. If present it is always the last id and is not followed by any other character.
530 530  
531 -===== //Generic Examples of the URN Structure// =====
523 +===== __**//Generic Examples of the URN Structure//**__ =====
532 532  
525 +__Actual object is a maintainable__
533 533  
534 -Actual object is a maintainable
535 -
536 536  SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version)
537 537  
538 -Actual object is contained in a maintained object with no intermediate containing object
529 +__Actual object is contained in a maintained object with no intermediate containing object__
539 539  
540 540  SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id
541 541  
542 -Actual object is contained in a maintained object with an intermediate containing object
533 +__Actual object is contained in a maintained object with an intermediate containing object__
543 543  
544 544  SDMXPrefix.SDMX-IM package name.classname=agency
545 545  
546 546  id:maintained-object-id(version).contained-object-id.object-id
547 547  
548 -Actual object is contained in a maintained object with no intermediate containing object but the object type itself is hierarchical
539 +__Actual object is contained in a maintained object with no intermediate containing object but the object type itself is hierarchical__
549 549  
550 550  In this case the object id may not be unique in itself but only within the context of the hierarchy. In the general syntax of the URN all intermediary objects in the structure (with the exception, of course, of the maintained object) are shown as a contained object. An example here would be a Category in a Category Scheme. The Category is hierarchical and all intermediate Categories are shown as a contained object. The example below shows the generic structure for Category Scheme/Category/Category
551 551  
1747824504225-229.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +52.8 KB
Content