Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -192,10 +192,8 @@ 192 192 193 193 In addition to these interfaces the registry must support a mechanism for querying for structural metadata. This is detailed in 5.2.2. 194 194 195 -All these interactions with the Registry – with the exception of Notify Registry Event – are designed in pairs. The first document – the one which invokes the SDMX-RR interface, is a “Request” document. The message returned by the interface is a 195 +All these interactions with the Registry – with the exception of Notify Registry Event – are designed in pairs. The first document – the one which invokes the SDMX-RR interface, is a “Request” document. The message returned by the interface is a “Response” document. 196 196 197 -“Response” document. 198 - 199 199 It should be noted that all interactions are assumed to be synchronous, with the exception of Notify Registry Event. This document is sent by the SDMX-RR to all subscribers whenever an even occurs to which any users have subscribed. Thus, it does not conform to the request-response pattern, because it is inherently asynchronous. 200 200 201 201 == 5.2 Registry Services == ... ... @@ -294,15 +294,13 @@ 294 294 295 295 3The Registration has an action attribute which takes one of the following values: 296 296 297 -|((( 298 -**Action** 295 +|(% style="width:249px" %)((( 296 +**Action Attribute Value** 297 +)))|(% style="width:1622px" %)**Behaviour** 298 +|(% style="width:249px" %)Append|(% style="width:1622px" %)Add this registration to the registry 299 +|(% style="width:249px" %)Replace|(% style="width:1622px" %)Replace the existing Registration with this Registration identified by the id in the Registration of the Submit Registration Request 300 +|(% style="width:249px" %)Delete|(% style="width:1622px" %)Delete the existing Registration identified by the id in the Registration of the Submit Registration Request 299 299 300 -**Attribute Value** 301 -)))|**Behaviour** 302 -|Append|Add this registration to the registry 303 -|Replace|Replace the existing Registration with this Registration identified by the id in the Registration of the Submit Registration Request 304 -|Delete|Delete the existing Registration identified by the id in the Registration of the Submit Registration Request 305 - 306 306 The Registration has three Boolean attributes which may be present to determine how an SDMX compliant Dataset or Metadata Set indexing application must index the Datasets or Metadata Set upon registration. The indexing application behaviour is as follows: 307 307 308 308 |**Boolean Attribute**|**Behaviour if Value is “true”** ... ... @@ -318,10 +318,9 @@ 318 318 319 319 The Data and Metadata Discovery Service implements the following Registry Interfaces: 320 320 321 - QueryRegistrationRequest 317 +* QueryRegistrationRequest 318 +* QueryRegistrationResponse 322 322 323 - QueryRegistrationResponse 324 - 325 325 === 5.2.6 Subscription and Notification === 326 326 327 327 The Subscription and Notification Service implements the following Registry Interfaces: ... ... @@ -345,13 +345,12 @@ 345 345 346 346 The following table defines the behaviour of the SDMX Registry for the various Registry Interface messages. 347 347 348 -|**Interface**|**Behaviour** 349 -|All|((( 343 +|(% style="width:244px" %)**Interface**|**Behaviour** 344 +|(% style="width:244px" %)All|((( 350 350 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: 351 351 352 352 * Name – this applies to the Maintainable object and its contained elements, such a Code in a Code list. 353 353 * Description - this applies to the Maintainable object and its contained elements, such a Code in a Code list. 354 - 355 355 * Annotation - this applies to the Maintainable object and its contained elements, such a Code in a Code list. 356 356 * validTo 357 357 * validFrom ... ... @@ -360,26 +360,24 @@ 360 360 * uri 361 361 * isExternalReference 362 362 363 -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. 364 -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. 365 365 366 -1. Not have the final attribute set to “true” 367 -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: 368 368 369 -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. 370 370 371 -* 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. 372 372 ))) 373 -|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. 374 -|SubmitProvisioningRequest|No additional behaviour. 375 -|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|((( 376 376 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. 377 - 378 378 For a queryable datasource the Registry MAY validate that the source exists and can accept an SDMX-ML data query. 379 379 ))) 380 380 381 - 382 - 383 383 = 6 Identification of SDMX Objects = 384 384 385 385 == 6.1 Identification, Versioning, and Maintenance == ... ... @@ -386,7 +386,6 @@ 386 386 387 387 All major classes of the SDMX Information model inherit from one of: 388 388 389 - 390 390 * **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. 391 391 * **NamableArtefact **- this has all of the features of IdentifiableArtefact plus the ability to have a multi-lingual name and description, 392 392 * **VersionableArtefact **– this has all of the above features plus a version number and a validity period. ... ... @@ -394,6 +394,8 @@ 394 394 395 395 === 6.1.1 Identification, Naming, Versioning, and Maintenance Model === 396 396 388 +[[image:1747824504225-229.png]] 389 + 397 397 **Figure 5: Class diagram of fundamental artefacts in the SDMX-IM** 398 398 399 399 The table below shows the identification and related data attributes to be stored in a registry for objects that are one of: ... ... @@ -404,38 +404,34 @@ 404 404 * Versionable 405 405 * Maintainable 406 406 407 -|**Object Type**|**Data Attributes**|**Status**|**Data type**|**Notes** 408 -|Annotable|AnnotationTitle|C|string| 409 -| |AnnotationType|C|string| 410 -| |AnnotationURN|C|string| 411 -| |((( 412 -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. 413 413 414 -International String 415 -)))|C| |This can have languagespecific variants. 416 -| | | | | 417 -|Identifiable|all content as for Annotable plus| | | 418 -| |id|M|string| 419 -| |uri|C|string| 420 -| |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. 421 -|Nameable|all content as for Identifiable plus| | | 422 -| |Name in the form of International String|M|string|This can have languagespecific variants. 423 -| |((( 424 -Description in the form of International 425 - 426 -String 427 -)))|C|string|This can have languagespecific variants. 428 -|Versionable|All content as for Identifiable plus| | | 429 -| |version|C|string|This is the version number. If not present the default is 1.0 430 -| |validFrom|C|Date/time| 431 -| |validTo|C|Date/time| 432 -|Maintainable|All content as for Versionable plus| | | 433 -| |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. 434 -| |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. 435 -| |serviceURL|C|string|The url of the service that can be queried for this resource 436 -| |structureURL|C|string|The url of the resource. 437 -| |(Maintenance) agencyId|M|string|The object must be linked to a maintenance agency. 438 - 439 439 **Table 1: Common Attributes of Object Types** 440 440 441 441 == 6.2 Unique identification of SDMX objects == ... ... @@ -480,11 +480,11 @@ 480 480 481 481 An example of this is shown in the XML snippet below. 482 482 472 +[[image:1747824123013-196.jpeg||height="309" width="446"]] 483 483 484 -[[image:1747824123013-196.jpeg]] 474 +(% class="wikigeneratedid" id="HFigure8:ExampleShowingUseofAgencyIdentifiers" %) 475 +**Figure 8: Example Showing Use of Agency Identifiers** 485 485 486 -==== Figure 8: Example Showing Use of Agency Identifiers ==== 487 - 488 488 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. 489 489 490 490 === 6.2.2 Universal Resource Name (URN) === ... ... @@ -523,10 +523,8 @@ 523 523 524 524 **(maintainable-object-version)** is the version of the maintainable object and is enclosed in round brackets (). It will always be present. 525 525 526 -**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. 527 527 528 -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. 529 - 530 530 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. 531 531 532 532 For example the sequence is agency:DSDid(version).DimensionId and not agency:DSDid(version).DimensionDescriptorId.DimensionId. ... ... @@ -533,36 +533,35 @@ 533 533 534 534 **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. 535 535 536 -===== //Generic Examples of the URN Structure// ===== 523 +===== __**//Generic Examples of the URN Structure//**__ ===== 537 537 525 +__Actual object is a maintainable__ 538 538 539 -Actual object is a maintainable 540 - 541 541 SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version) 542 542 543 -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__ 544 544 545 545 SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id 546 546 547 -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__ 548 548 549 549 SDMXPrefix.SDMX-IM package name.classname=agency 550 550 551 551 id:maintained-object-id(version).contained-object-id.object-id 552 552 553 -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__ 554 554 555 555 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 556 556 557 557 SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id.object-id 558 558 559 -Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical 545 +__Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical__ 560 560 561 561 In this case the generic syntax is the same as for the example above as the parent object is regarded as a containing object, even if it is of the same type. An example here is a Metadata Attribute where the contained objects are Report Structure (first contained object id) and Metadata Attribute (subsequent contained object Ids). The example below shows the generic structure for MSD/Report Structure/Metadata Attribute/Metadata Attribute 562 562 563 563 SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id. contained-object-id contained-object-id.object-id 564 564 565 -===== //Concrete Examples of the URN Structure// ===== 551 +===== __**//Concrete Examples of the URN Structure//**__ ===== 566 566 567 567 The Data Structure Definition CRED_EXT_DEBT version 1.0 maintained by the top level Agency TFFS would have the URN: 568 568
- 1747824504225-229.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.8 KB - Content