Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -340,8 +340,8 @@ 340 340 341 341 The following table defines the behaviour of the SDMX Registry for the various Registry Interface messages. 342 342 343 -|(% style="width: 244px" %)**Interface**|**Behaviour**344 -|(% style="width: 244px" %)All|(((343 +|(% style="width:143px" %)**Interface**|(% style="width:1729px" %)**Behaviour** 344 +|(% style="width:143px" %)All|(% style="width:1729px" %)((( 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. ... ... @@ -365,10 +365,11 @@ 365 365 366 366 5) The specific rules for the elements and attributes documented in the SDMX Schema MUST be obeyed. 367 367 ))) 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|(((368 +|(% style="width:143px" %)SubmitStructureRequest|(% style="width:1729px" %)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:143px" %)SubmitProvisioningRequest|(% style="width:1729px" %)No additional behaviour. 370 +|(% style="width:143px" %)Submit Registration Request|(% style="width:1729px" %)((( 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 + 372 372 For a queryable datasource the Registry MAY validate that the source exists and can accept an SDMX-ML data query. 373 373 ))) 374 374 ... ... @@ -469,11 +469,11 @@ 469 469 470 470 An example of this is shown in the XML snippet below. 471 471 472 -[[image:1747824123013-196.jpeg||height="309" width="446"]] 473 473 474 -(% class="wikigeneratedid" id="HFigure8:ExampleShowingUseofAgencyIdentifiers" %) 475 -**Figure 8: Example Showing Use of Agency Identifiers** 474 +[[image:1747824123013-196.jpeg]] 476 476 476 +==== Figure 8: Example Showing Use of Agency Identifiers ==== 477 + 477 477 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. 478 478 479 479 === 6.2.2 Universal Resource Name (URN) === ... ... @@ -512,8 +512,10 @@ 512 512 513 513 **(maintainable-object-version)** is the version of the maintainable object and is enclosed in round brackets (). It will always be present. 514 514 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.516 +**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 516 516 518 +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. 519 + 517 517 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. 518 518 519 519 For example the sequence is agency:DSDid(version).DimensionId and not agency:DSDid(version).DimensionDescriptorId.DimensionId. ... ... @@ -520,57 +520,58 @@ 520 520 521 521 **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. 522 522 523 -===== __**//Generic Examples of the URN Structure//**__=====526 +===== //Generic Examples of the URN Structure// ===== 524 524 525 -__Actual object is a maintainable__ 526 526 527 - > SDMXPrefix.SDMX-IM packagename.classname=agencyid:maintained-object-id(version)529 +Actual object is a maintainable 528 528 529 - __Actualobject iscontained inamaintainedobjectwith no intermediate containing object__531 +SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version) 530 530 531 - > SDMXPrefix.SDMX-IM packagename.classname=agencyid:maintained-object-id(version).object-id533 +Actual object is contained in a maintained object with no intermediate containing object 532 532 533 - __Actualobject iscontained inamaintainedobjectwith an intermediate containingobject__535 +SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id 534 534 535 - >SDMXPrefix.SDMX-IMpackage name.classname=agency537 +Actual object is contained in a maintained object with an intermediate containing object 536 536 539 +SDMXPrefix.SDMX-IM package name.classname=agency 540 + 537 537 id:maintained-object-id(version).contained-object-id.object-id 538 538 539 - __Actual object is contained in a maintained object with no intermediate containing object but the object type itself is hierarchical__543 +Actual object is contained in a maintained object with no intermediate containing object but the object type itself is hierarchical 540 540 541 541 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 542 542 543 - >SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id.object-id547 +SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id.object-id 544 544 545 - __Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical__549 +Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical 546 546 547 547 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 548 548 549 - >SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id. contained-object-id contained-object-id.object-id553 +SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id. contained-object-id contained-object-id.object-id 550 550 551 -===== __**//Concrete Examples of the URN Structure//**__=====555 +===== //Concrete Examples of the URN Structure// ===== 552 552 553 553 The Data Structure Definition CRED_EXT_DEBT version 1.0 maintained by the top level Agency TFFS would have the URN: 554 554 555 - >urn:sdmx:org.sdmx.infomodel.datastructure.DataStucture=TFFS:CRED_EXT_ DEBT(1.0)559 +urn:sdmx:org.sdmx.infomodel.datastructure.DataStucture=TFFS:CRED_EXT_ DEBT(1.0) 556 556 557 557 The URN for a code for Argentina maintained by ISO in the code list CL_3166A2 version 1.0 would be: 558 558 559 - >urn:sdmx:org.sdmx.infomodel.codelist.Code=ISO:CL_3166A2(1.0).AR563 +urn:sdmx:org.sdmx.infomodel.codelist.Code=ISO:CL_3166A2(1.0).AR 560 560 561 561 The URN for a category (id of 1) which has parent category (id of 2) maintained by SDMX in the category scheme SUBJECT_MATTER_DOMAINS version 1.0 would be: 562 562 563 - >urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:SUBJE CT_MATTER_DOMAINS(1.0).1.2567 +urn:sdmx:org.sdmx.infomodel.categoryscheme.Category=SDMX:SUBJE CT_MATTER_DOMAINS(1.0).1.2 564 564 565 565 The URN for a Metadata Attribute maintained by SDMX in the MSD CONTACT_METADATA version 1.0 in the Report Structure CONTACT_REPORT where the hierarchy of the Metadata Attribute is 566 566 567 567 CONTACT_DETAILS/CONTACT_NAME would be: 568 568 569 - >urn:sdmx:org.sdmx.infomodel.metadatastructure.MetadataAttribut e=SDMX:CONTACT_METADATA(1.0).CONTACT_REPORT.CONTACT_DETAILS.CO NTACT_NAME573 +urn:sdmx:org.sdmx.infomodel.metadatastructure.MetadataAttribut e=SDMX:CONTACT_METADATA(1.0).CONTACT_REPORT.CONTACT_DETAILS.CO NTACT_NAME 570 570 571 571 The TFFS defines ABC as a sub Agency of TFFS then the URN of a Dataflow maintained by ABC and identified as EXTERNAL_DEBT version 1.0 would be: 572 572 573 - >urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EX577 +urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EX 574 574 575 575 TERNAL_DEBT(1.0) 576 576 ... ... @@ -585,94 +585,112 @@ 585 585 586 586 The table below lists all of the packages in the SDMX-IM together with the concrete classes that are in these packages and whose objects have a URN. 587 587 588 -|(% style="width:127px" %)**Package**|(% style="width:1745px" %)((( 589 -**URN Classname (model classname where this is different)** 592 +|**Package**|((( 593 +**URN Classname (model classname** 594 + 595 +**where this is different)** 590 590 ))) 591 -|(% style="width:127px" %)base|(% style="width:45px" %)Agency 592 -|(% style="width:127px" %) |(% style="width:45px" %)OrganisationUnitScheme 593 -|(% style="width:127px" %) |(% style="width:45px" %)AgencyScheme 594 -|(% style="width:127px" %) |(% style="width:45px" %)DataProviderScheme 595 -|(% style="width:127px" %) |(% style="width:45px" %)DataConsumerScheme 596 -|(% style="width:127px" %) |(% style="width:45px" %)OrganisationUnit 597 -|(% style="width:127px" %) |(% style="width:45px" %)DataProvider 598 -|(% style="width:127px" %) |(% style="width:45px" %)DataConsumer 599 -|(% style="width:127px" %)datastructure|(% style="width:45px" %)DataStructure (DataStructureDefinition) 600 -|(% style="width:127px" %) |(% style="width:45px" %)AttributeDescriptor 601 -|(% style="width:127px" %) |(% style="width:45px" %)DataAttribute 602 -|(% style="width:127px" %) |(% style="width:45px" %)GroupDimensionDescriptor 603 -|(% style="width:127px" %) |(% style="width:45px" %)DimensionDescriptor 604 -|(% style="width:127px" %) |(% style="width:45px" %)Dimension 605 -|(% style="width:127px" %) |(% style="width:45px" %)MeasureDimension 606 -|(% style="width:127px" %) |(% style="width:45px" %)TimeDimension 607 -|(% style="width:127px" %) |(% style="width:45px" %)MeasureDescriptor 608 -|(% style="width:127px" %) |(% style="width:45px" %)PrimaryMeasure 609 -|(% style="width:127px" %) |(% style="width:45px" %)Dataflow (DataflowDefinition) 610 -|(% style="width:127px" %)metadatastructure|(% style="width:45px" %)MetadataTarget 611 -|(% style="width:127px" %) |(% style="width:45px" %)DimensionDescriptorValueTarget 612 -|(% style="width:127px" %) |(% style="width:45px" %)IdentifiableObjectTarget 613 -|(% style="width:127px" %) |(% style="width:45px" %)ReportPeriodTarget 614 -|(% style="width:127px" %) |(% style="width:45px" %)DataSetTarget 615 -|(% style="width:127px" %) |(% style="width:45px" %)ReportStructure 616 -|(% style="width:127px" %) |(% style="width:45px" %)MetadataAttribute 617 -|(% style="width:127px" %) |(% style="width:45px" %)((( 597 +|base|Agency 598 +| |OrganisationUnitScheme 599 +| |AgencyScheme 600 +| |DataProviderScheme 601 +| |DataConsumerScheme 602 +| |OrganisationUnit 603 +| |DataProvider 604 +| |DataConsumer 605 +| | 606 +|datastructure|DataStructure (DataStructureDefinition) 607 +| |AttributeDescriptor 608 +| |DataAttribute 609 +| |GroupDimensionDescriptor 610 +| |DimensionDescriptor 611 +| |Dimension 612 +| |MeasureDimension 613 +| |TimeDimension 614 +| |MeasureDescriptor 615 +| |PrimaryMeasure 616 +| |Dataflow (DataflowDefinition) 617 +| | 618 +|metadatastructure|MetadataTarget 619 +| |DimensionDescriptorValueTarget 620 +| |IdentifiableObjectTarget 621 +| |ReportPeriodTarget 622 +| |DataSetTarget 623 +| |ReportStructure 624 +| |MetadataAttribute 625 +| |((( 618 618 MetadataStructure 619 619 620 620 (MetadataStructureDefinition) 621 621 ))) 622 -|(% style="width:127px" %) |(% style="width:45px" %)Metadataflow (MetadataflowDefinition) 623 -|(% style="width:127px" %)process|(% style="width:45px" %)Process 624 -|(% style="width:127px" %) |(% style="width:45px" %)ProcessStep 625 -|(% style="width:127px" %) |(% style="width:45px" %)Transition 626 -|(% style="width:127px" %)registry|(% style="width:45px" %)ProvisionAgreement 627 -|(% style="width:127px" %) |(% style="width:45px" %)AttachmentConstraint 628 -|(% style="width:127px" %) |(% style="width:45px" %)ContentConstraint 629 -|(% style="width:127px" %) |(% style="width:45px" %)Subscription 630 -|(% style="width:127px" %)mapping|(% style="width:45px" %)StructureMap 631 -|(% style="width:127px" %) |(% style="width:45px" %)StructureSet 632 -|(% style="width:127px" %) |(% style="width:45px" %)ComponentMap 633 -|(% style="width:127px" %) |(% style="width:1745px" %)ConceptSchemeMap 634 -|(% style="width:127px" %) |(% style="width:1745px" %)OrganisationSchemeMap 635 -|(% style="width:127px" %) |(% style="width:1745px" %)CodelistMap 636 -|(% style="width:127px" %) |(% style="width:1745px" %)CategorySchemeMap 637 -|(% style="width:127px" %) |(% style="width:1745px" %)ReportingTaxonomyMap 638 -|(% style="width:127px" %) |(% style="width:1745px" %)ConceptMap 639 -|(% style="width:127px" %) |(% style="width:1745px" %)OrganisationMap 640 -|(% style="width:127px" %) |(% style="width:1745px" %)CodeMap 641 -|(% style="width:127px" %) |(% style="width:1745px" %)HybridCodelistMap 642 -|(% style="width:127px" %) |(% style="width:1745px" %)CategoryMap 643 -|(% style="width:127px" %) |(% style="width:1745px" %)HybridCodeMap 644 -|(% style="width:127px" %) |(% style="width:1745px" %)ReportingCategoryMap 645 -|(% style="width:127px" %)codelist|(% style="width:1745px" %)Codelist 646 -|(% style="width:127px" %) |(% style="width:1745px" %)HierarchicalCodelist 647 -|(% style="width:127px" %) |(% style="width:1745px" %)Hierarchy 648 -|(% style="width:127px" %) |(% style="width:1745px" %)Hierarchy 649 -|(% style="width:127px" %) |(% style="width:1745px" %)Code 650 -|(% style="width:127px" %) |(% style="width:1745px" %)HierarchicalCode 651 -|(% style="width:127px" %) |(% style="width:1745px" %)Level 652 -|(% style="width:127px" %)categoryscheme|(% style="width:1745px" %)CategoryScheme 653 -|(% style="width:127px" %) |(% style="width:1745px" %)Category 654 -|(% style="width:127px" %) |(% style="width:1745px" %)Categorisation 655 -|(% style="width:127px" %) |(% style="width:1745px" %)ReportingTaxonomy 656 -|(% style="width:127px" %) |(% style="width:1745px" %)ReportingCategory 657 -|(% style="width:127px" %)conceptscheme|(% style="width:1745px" %)ConceptScheme 658 -|(% style="width:127px" %) |(% style="width:1745px" %)Concept 659 -|(% style="width:127px" %)transformation|(% style="width:1745px" %)TransformationScheme 660 -|(% style="width:127px" %) |(% style="width:1745px" %)Transformation 661 -|(% style="width:127px" %) |(% style="width:1745px" %)CustomTypeScheme 662 -|(% style="width:127px" %) |(% style="width:1745px" %)CustomType 663 -|(% style="width:127px" %) |(% style="width:1745px" %)NamePersonalisationScheme 664 -|(% style="width:127px" %) |(% style="width:1745px" %)NamePersonalisation 665 -|(% style="width:127px" %) |(% style="width:1745px" %)VtlCodelistMapping 666 -|(% style="width:127px" %) |(% style="width:1745px" %)VtlConceptMapping 667 -|(% style="width:127px" %) |(% style="width:1745px" %)VtlDataflowMapping 668 -|(% style="width:127px" %) |(% style="width:1745px" %)VtlConceptSchemeMapping 669 -|(% style="width:127px" %) |(% style="width:1745px" %)RulesetScheme 670 -|(% style="width:127px" %) |(% style="width:1745px" %)Ruleset 671 -|(% style="width:127px" %) |(% style="width:1745px" %)UserDefinedOperatorScheme 672 -|(% style="width:127px" %) |(% style="width:1745px" %)UserDefinedOperator 630 +| |Metadataflow (MetadataflowDefinition) 631 +| | 632 +|process|Process 633 +| |ProcessStep 634 +| |Transition 635 +| | 636 +|registry|ProvisionAgreement 637 +| |AttachmentConstraint 638 +| |ContentConstraint 639 +| |Subscription 640 +| | 641 +|mapping|StructureMap 642 +| |StructureSet 643 +| |ComponentMap 644 +|**Package**|((( 645 +**URN Classname (model classname** 673 673 647 +**where this is different)** 648 +))) 649 +| |ConceptSchemeMap 650 +| |OrganisationSchemeMap 651 +| |CodelistMap 652 +| |CategorySchemeMap 653 +| |ReportingTaxonomyMap 654 +| |ConceptMap 655 +| |OrganisationMap 656 +| |CodeMap 657 +| |HybridCodelistMap 658 +| |CategoryMap 659 +| |HybridCodeMap 660 +| |ReportingCategoryMap 661 +| | 662 +|codelist|Codelist 663 +| |HierarchicalCodelist 664 +| |Hierarchy 665 +| |Hierarchy 666 +| |Code 667 +| |HierarchicalCode 668 +| |Level 669 +| | 670 +|categoryscheme|CategoryScheme 671 +| |Category 672 +| |Categorisation 673 +| |ReportingTaxonomy 674 +| |ReportingCategory 675 +| | 676 +|conceptscheme|ConceptScheme 677 +| |Concept 678 +| | 679 +|transformation|TransformationScheme 680 +| |Transformation 681 +| |CustomTypeScheme 682 +| |CustomType 683 +| |NamePersonalisationScheme 684 +| |NamePersonalisation 685 +| |VtlCodelistMapping 686 +| |VtlConceptMapping 687 +| |VtlDataflowMapping 688 +| |VtlConceptSchemeMapping 689 +| |RulesetScheme 690 +| |Ruleset 691 +| |UserDefinedOperatorScheme 692 +| |UserDefinedOperator 693 +| | 694 + 674 674 **Table 2: SDMX-IM Packages and Contained Classes** 675 675 697 + 676 676 === 6.2.4 URN Identification components of SDMX objects === 677 677 678 678 The table below describes the identification components for all SDMX object types that have identification. Note the actual attributes are all Id, but have been prefixed by their class name or multiple class names to show navigation, e.g. conceptSchemeAgencyId is really the Id attribute of the Agency class that is associated to the ConceptScheme. ... ... @@ -681,8 +681,9 @@ 681 681 682 682 Note that for brevity the URN examples omit the prefix. All URNs have the prefix 683 683 684 - >urn:sdmx.org.sdmx.infomodel.{package}.{classname}=706 +urn:sdmx.org.sdmx.infomodel.{package}.{classname}= 685 685 708 + 686 686 |**SDMX Class**|**Key attribute(s)**|**Example of URN** 687 687 |Agency|The URN for an Agency is shown later in this table. The identification of an Agency in the URN structure for the maintainable object is by means of the agencyId. The AgencyScheme is not identified as SDMX has a mechanism for identifying an Agency uniquely by its Id. Note that this Id may be hierarchical.|((( 688 688 IMF