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

From version 2.4
edited by Helena
on 2025/05/21 14:19
Change comment: There is no comment for this version
To version 2.11
edited by Helena
on 2025/05/21 15:04
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -524,15 +524,15 @@
524 524  
525 525  __Actual object is a maintainable__
526 526  
527 -SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version)
527 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version)
528 528  
529 529  __Actual object is contained in a maintained object with no intermediate containing object__
530 530  
531 -SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id
531 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).object-id
532 532  
533 533  __Actual object is contained in a maintained object with an intermediate containing object__
534 534  
535 -SDMXPrefix.SDMX-IM package name.classname=agency
535 +> SDMXPrefix.SDMX-IM package name.classname=agency
536 536  
537 537  id:maintained-object-id(version).contained-object-id.object-id
538 538  
... ... @@ -540,37 +540,37 @@
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-id
543 +> SDMXPrefix.SDMX-IM package name.classname=agency id:maintained-object-id(version).contained-object-id.object-id
544 544  
545 545  __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-id
549 +> 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 551  ===== __**//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)
555 +> 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).AR
559 +> 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.2
563 +> 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_NAME
569 +> 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:EX
573 +> urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=TFFS.ABC:EX
574 574  
575 575  TERNAL_DEBT(1.0)
576 576  
... ... @@ -585,112 +585,94 @@
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 -|**Package**|(((
589 -**URN Classname (model classname**
590 -
591 -**where this is different)**
588 +|(% style="width:127px" %)**Package**|(% style="width:1745px" %)(((
589 +**URN Classname (model classname where this is different)**
592 592  )))
593 -|base|Agency
594 -| |OrganisationUnitScheme
595 -| |AgencyScheme
596 -| |DataProviderScheme
597 -| |DataConsumerScheme
598 -| |OrganisationUnit
599 -| |DataProvider
600 -| |DataConsumer
601 -| |
602 -|datastructure|DataStructure (DataStructureDefinition)
603 -| |AttributeDescriptor
604 -| |DataAttribute
605 -| |GroupDimensionDescriptor
606 -| |DimensionDescriptor
607 -| |Dimension
608 -| |MeasureDimension
609 -| |TimeDimension
610 -| |MeasureDescriptor
611 -| |PrimaryMeasure
612 -| |Dataflow (DataflowDefinition)
613 -| |
614 -|metadatastructure|MetadataTarget
615 -| |DimensionDescriptorValueTarget
616 -| |IdentifiableObjectTarget
617 -| |ReportPeriodTarget
618 -| |DataSetTarget
619 -| |ReportStructure
620 -| |MetadataAttribute
621 -| |(((
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" %)(((
622 622  MetadataStructure
623 623  
624 624  (MetadataStructureDefinition)
625 625  )))
626 -| |Metadataflow (MetadataflowDefinition)
627 -| |
628 -|process|Process
629 -| |ProcessStep
630 -| |Transition
631 -| |
632 -|registry|ProvisionAgreement
633 -| |AttachmentConstraint
634 -| |ContentConstraint
635 -| |Subscription
636 -| |
637 -|mapping|StructureMap
638 -| |StructureSet
639 -| |ComponentMap
640 -|**Package**|(((
641 -**URN Classname (model classname**
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
642 642  
643 -**where this is different)**
644 -)))
645 -| |ConceptSchemeMap
646 -| |OrganisationSchemeMap
647 -| |CodelistMap
648 -| |CategorySchemeMap
649 -| |ReportingTaxonomyMap
650 -| |ConceptMap
651 -| |OrganisationMap
652 -| |CodeMap
653 -| |HybridCodelistMap
654 -| |CategoryMap
655 -| |HybridCodeMap
656 -| |ReportingCategoryMap
657 -| |
658 -|codelist|Codelist
659 -| |HierarchicalCodelist
660 -| |Hierarchy
661 -| |Hierarchy
662 -| |Code
663 -| |HierarchicalCode
664 -| |Level
665 -| |
666 -|categoryscheme|CategoryScheme
667 -| |Category
668 -| |Categorisation
669 -| |ReportingTaxonomy
670 -| |ReportingCategory
671 -| |
672 -|conceptscheme|ConceptScheme
673 -| |Concept
674 -| |
675 -|transformation|TransformationScheme
676 -| |Transformation
677 -| |CustomTypeScheme
678 -| |CustomType
679 -| |NamePersonalisationScheme
680 -| |NamePersonalisation
681 -| |VtlCodelistMapping
682 -| |VtlConceptMapping
683 -| |VtlDataflowMapping
684 -| |VtlConceptSchemeMapping
685 -| |RulesetScheme
686 -| |Ruleset
687 -| |UserDefinedOperatorScheme
688 -| |UserDefinedOperator
689 -| |
690 -
691 691  **Table 2: SDMX-IM Packages and Contained Classes**
692 692  
693 -
694 694  === 6.2.4 URN Identification components of SDMX objects ===
695 695  
696 696  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.
... ... @@ -699,78 +699,52 @@
699 699  
700 700  Note that for brevity the URN examples omit the prefix. All URNs have the prefix
701 701  
702 -urn:sdmx.org.sdmx.infomodel.{package}.{classname}=
684 +> urn:sdmx.org.sdmx.infomodel.{package}.{classname}=
703 703  
704 -
705 -|**SDMX Class**|**Key attribute(s)**|**Example of URN**
706 -|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.|(((
686 +(% style="width:1091.29px" %)
687 +|(% style="width:250px" %)**SDMX Class**|(% style="width:444px" %)**Key attribute(s)**|(% style="width:396px" %)**Example of URN**
688 +|(% style="width:250px" %)Agency|(% style="width:444px" %)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.|(% style="width:396px" %)(((
707 707  IMF
708 -
709 -
710 710  Sub agency in the IMF AGENCIES
711 -
712 -
713 713  IMF.SubAgency1
714 714  )))
715 -|*ConceptScheme|conceptSchemeAgencyId:conceptSchemeId(ve rsion)|SDMX:CROSS_DOMAIN_CONCEPTS(1.0)
716 -|Concept|(((
717 -conceptSchemeAgencyId:
718 -
719 -conceptSchemeId(version).conceptId
720 -)))|SDMX:CROSS_DOMAIN_CONCEPTS(1.0).FREQ
721 -|*Codelist|codeListAgencyId:codeListId(version)|SDMX:CL_FREQ(1.0)
722 -|Code|codeListAgencyId:codelistId(version).codeId|(((
723 -SDMX:CL_FREQ(1.0).Q
724 -
725 -
693 +|(% style="width:250px" %)*ConceptScheme|(% style="width:444px" %)conceptSchemeAgencyId:conceptSchemeId(ve rsion)|(% style="width:396px" %)SDMX:CROSS_DOMAIN_CONCEPTS(1.0)
694 +|(% style="width:250px" %)Concept|(% style="width:444px" %)conceptSchemeAgencyId:
695 +conceptSchemeId(version).conceptId|(% style="width:396px" %)SDMX:CROSS_DOMAIN_CONCEPTS(1.0).FREQ
696 +|(% style="width:250px" %)*Codelist|(% style="width:444px" %)codeListAgencyId:codeListId(version)|(% style="width:396px" %)SDMX:CL_FREQ(1.0)
697 +|(% style="width:250px" %)Code|(% style="width:444px" %)codeListAgencyId:codelistId(version).codeId|(% style="width:396px" %)SDMX:CL_FREQ(1.0).Q
698 +|(% style="width:250px" %)(((
699 +*Hierarchical Codelist
700 +)))|(% style="width:444px" %)hierachicalCodelistAgencyId: hierarchicalCodelistId(version)|(% style="width:396px" %)(((
701 +UNESCO:CL_EXP_SOURCE(1.0(% style="background-color:transparent" %))
726 726  )))
727 -
728 -
729 -
730 -|(((
731 -*Hierarchical
732 -
733 -Codelist
734 -)))|hierachicalCodelistAgencyId: hierarchicalCodelistId(version)|(((
735 -UNESCO:CL_EXP_SOURCE(1.0)
736 -
737 -
738 -)))
739 -|Hierarchy|(((
703 +|(% style="width:250px" %)Hierarchy|(% style="width:444px" %)(((
740 740  hierachicalcodeListAgencyId:
741 -
742 742  hierarchicalcodelistId(version).Hierarchy
743 -)))|UNESCO:CL_EXP_SOURCE(1.0). H-C-GOV
744 -|Level|(((
706 +)))|(% style="width:396px" %)UNESCO:CL_EXP_SOURCE(1.0).
707 +H-C-GOV
708 +|(% style="width:250px" %)Level|(% style="width:444px" %)(((
745 745  hierachicalcodeListAgencyId:
746 -
747 747  hierarchicalcodelistId(version).Hierarchy.Level
748 -)))|(((
711 +)))|(% style="width:396px" %)(((
749 749  ESTAT:HCL_REGION(1.0).H_1.COUNTRY
750 750  
751 751  
752 752  )))
753 -|HierarchicalCode|hierachicalCodeListAgencyId: hierarchicalcodelistId(version).hierarchy.hierarc hicalCode|UNESCO:CL_EXP_SOURCE(1.0). H-C-GOV.GOV_CODE1
754 -|*DataStructure|dataStructureDefintitionAgencyId: dataStructureDefintitionId(version)|TFFS:EXT_DEBT(1.0)
755 -|(((
716 +|(% style="width:250px" %)HierarchicalCode|(% style="width:444px" %)hierachicalCodeListAgencyId: hierarchicalcodelistId(version).hierarchy.hierarc hicalCode|(% style="width:396px" %)UNESCO:CL_EXP_SOURCE(1.0). H-C-GOV.GOV_CODE1
717 +|(% style="width:250px" %)*DataStructure|(% style="width:444px" %)dataStructureDefintitionAgencyId: dataStructureDefintitionId(version)|(% style="width:396px" %)TFFS:EXT_DEBT(1.0)
718 +|(% style="width:250px" %)(((
756 756  Dimension
757 -
758 758  Descriptor
759 -
760 760  Measure
761 -
762 762  Descriptor
763 -
764 764  Attribute
765 -
766 766  Descriptor
767 -)))|(((
725 +)))|(% style="width:444px" %)(((
768 768  dataStructureDefinitionAgencyId: dataStructureDefinitionId(version).
769 -
770 770  componentListId
771 -
772 772  where the componentListId is the name of the class (there is only one occurrence of each in the Data Structure Definition)
773 -)))|(((
729 +)))|(% style="width:396px" %)(((
774 774  TFFS:EXT_DEBT(1.0).DimensionDescriptor
775 775  
776 776  TFFS:EXT_DEBT(1.0).MeasureDescriptor
... ... @@ -777,181 +777,132 @@
777 777  
778 778  TFFS:EXT_DEBT(1.0).AttributeDescriptor
779 779  )))
780 -|(((
736 +|(% style="width:250px" %)(((
781 781  GroupDimension
782 -
783 783  Descriptor
784 -)))|(((
739 +)))|(% style="width:444px" %)(((
785 785  dataStructureDefinitionAgencyId: dataStructureDefinitionId(version).
786 -
787 787  groupDimensionDescriptorId
788 -)))|TFFS:EXT_DEBT(1.0).SIBLING
789 -|Dimension|(((
742 +)))|(% style="width:396px" %)TFFS:EXT_DEBT(1.0).SIBLING
743 +|(% style="width:250px" %)Dimension|(% style="width:444px" %)(((
790 790  dataStructureDefinitionAgencyId: dataStructureDefinition (version).
791 -
792 792  dimensionId
793 -)))|TFFS:EXT_DEBT(1.0).FREQ
794 -|TimeDimension|(((
746 +)))|(% style="width:396px" %)TFFS:EXT_DEBT(1.0).FREQ
747 +|(% style="width:250px" %)TimeDimension|(% style="width:444px" %)(((
795 795  dataStructureDefinitionAgencyId: dataStructureDefinition (version).
796 -
797 797  timeDimensionId
798 -)))|TFFS:EXT_DEBT(1.0).TIME_PERIOD
799 -|Measure Dimension|dataStructureDefinitionAgencyId: dataStructureDefinition (version).|TFFS:EXT_DEBT(1.0).STOCK_FLOW
800 -
801 -
802 -
803 -| |measureDimensionId|
804 -|DataAttrribute|dataStructureDefinitionAgencyId: dataStructureDefinition (version). dataAttributeId|TFFS:EXT_DEBT(1.0).OBS_STATUS
805 -|PrimaryMeasure|(((
750 +)))|(% style="width:396px" %)TFFS:EXT_DEBT(1.0).TIME_PERIOD
751 +|(% style="width:250px" %)Measure Dimension|(% style="width:444px" %)dataStructureDefinitionAgencyId: dataStructureDefinition (version).
752 +measureDimensionId|(% style="width:396px" %)TFFS:EXT_DEBT(1.0).STOCK_FLOW
753 +|(% style="width:250px" %)DataAttrribute|(% style="width:444px" %)dataStructureDefinitionAgencyId: dataStructureDefinition (version). dataAttributeId|(% style="width:396px" %)TFFS:EXT_DEBT(1.0).OBS_STATUS
754 +|(% style="width:250px" %)PrimaryMeasure|(% style="width:444px" %)(((
806 806  dataStructureDefinitionAgencyId: dataStructureDefinition (version).
807 -
808 808  primaryMeasureId
809 -)))|TFFS:EXT_DEBT(1.0).OBS_VALUE
810 -|(((
811 -*Category
812 -
813 -Scheme
814 -)))|categorySchemeAgencyId: categorySchemeId(version)|IMF:SDDS(1.0)
815 -|Category|categorySchemeAgencyId: categorySchemeId(version). categoryId.categoryId categoryId.categoryId etc.|(((
757 +)))|(% style="width:396px" %)TFFS:EXT_DEBT(1.0).OBS_VALUE
758 +|(% style="width:250px" %)(((
759 +*Category Scheme
760 +)))|(% style="width:444px" %)categorySchemeAgencyId:
761 +categorySchemeId(version)|(% style="width:396px" %)IMF:SDDS(1.0)
762 +|(% style="width:250px" %)Category|(% style="width:444px" %)categorySchemeAgencyId:
763 +categorySchemeId(version).
764 +categoryId.categoryId categoryId.categoryId etc.|(% style="width:396px" %)(((
816 816  IMF:SDDS(1.0):
817 -
818 818  level_1_category.level_2_category …
819 819  )))
820 -|(((
821 -*Reporting
822 -
823 -Taxonomy
824 -)))|reportingTaxonomyAgencyId: reportingTaxonomyId(version)| IMF:REP_1(1.0)
825 -|ReportingCategory|reportingTaxonomyAgencyId: reportingTaxonomyId(version) reportingcategoryId.reportingcategoryId|(((
768 +|(% style="width:250px" %)(((
769 +*Reporting Taxonomy
770 +)))|(% style="width:444px" %)reportingTaxonomyAgencyId: reportingTaxonomyId(version)|(% style="width:396px" %) IMF:REP_1(1.0)
771 +|(% style="width:250px" %)ReportingCategory|(% style="width:444px" %)reportingTaxonomyAgencyId: reportingTaxonomyId(version) reportingcategoryId.reportingcategoryId|(% style="width:396px" %)(((
826 826  IMF:REP_1(1.0):
827 -
828 828  level_1_repcategory.level_2_repcategory …
829 829  )))
830 -|*Categorisation|categorisationAgencyId: categorisationId(version)|IMF:cat001(1.0)
831 -|(((
832 -*Organisation
775 +|(% style="width:250px" %)*Categorisation|(% style="width:444px" %)categorisationAgencyId: categorisationId(version)|(% style="width:396px" %)IMF:cat001(1.0)
776 +|(% style="width:250px" %)(((
777 +*Organisation Unit Scheme
778 +)))|(% style="width:444px" %)organisationUnitSchemeAgencyId: organisationUnitSchemeId(version)|(% style="width:396px" %)ECB:ORGANISATIONS(1.0)
779 +|(% style="width:250px" %)Organisation Unit|(% style="width:444px" %)organisationUnitSchemeAgencyId: organisationUnitSchemeId(version). organisationUnitId|(% style="width:396px" %)ECB:ORGANISATIONS(1.0).1F
780 +|(% style="width:250px" %)*AgencyScheme|(% style="width:444px" %)agencySchemeAgencyId: agencySchemeId(version)|(% style="width:396px" %)ECB:AGENCIES(1.0)
833 833  
834 -Unit Scheme
835 -)))|organisationUnitSchemeAgencyId: organisationUnitSchemeId(version)|ECB:ORGANISATIONS(1.0)
836 -|Organisation Unit|organisationUnitSchemeAgencyId: organisationUnitSchemeId(version). organisationUnitId|ECB:ORGANISATIONS(1.0).1F
837 -|*AgencyScheme|agencySchemeAgencyId: agencySchemeId(version)|ECB:AGENCIES(1.0)
838 -
839 -
840 -
841 -|Agency|agencySchemeAgencyId: agencySchemeId(version). agencyId|ECB:AGENCY(1.0).AA
842 -|(((
843 -*DataProvider
844 -
845 -Scheme
846 -)))|dataProviderSchemeAgencyId: dataProviderSchemeId(version)|SDMX:DATA_PROVIDERS(1.0)
847 -|DataProvider|dataProviderSchemeAgencyId: dataProviderSchemeId(version) dataProviderId|SDMX:DATA_PROVIDERS(1.0).PROVIDER_1
848 -|(((
849 -*DataConsumer
850 -
851 -Scheme
852 -)))|dataConsumerSchemeAgencyId: dataConsumerSchemeId(version)|SDMX:DATA_CONSUMERS(1.0)
853 -|Data Consumer|dataConsumerSchemeAgencyId: dataConsumerSchemeId(version) dataConsumerId|SDMX:DATA_CONSUMERS(1.0).CONSUMER_1
854 -|(((
855 -*Metadata
856 -
857 -Structure
858 -)))|MSDAgencyId:MSDId(version)|IMF:SDDS_MSD(1.0)
859 -|MetadataTarget|(((
782 +|(% style="width:262px" %)Agency|(% style="width:369px" %)agencySchemeAgencyId: agencySchemeId(version). agencyId|(% style="width:1262px" %)ECB:AGENCY(1.0).AA
783 +|(% style="width:262px" %)(((
784 +*DataProvider Scheme
785 +)))|(% style="width:369px" %)dataProviderSchemeAgencyId: dataProviderSchemeId(version)|(% style="width:1262px" %)SDMX:DATA_PROVIDERS(1.0)
786 +|(% style="width:262px" %)DataProvider|(% style="width:369px" %)dataProviderSchemeAgencyId: dataProviderSchemeId(version) dataProviderId|(% style="width:1262px" %)SDMX:DATA_PROVIDERS(1.0).PROVIDER_1
787 +|(% style="width:262px" %)(((
788 +*DataConsumer Scheme
789 +)))|(% style="width:369px" %)dataConsumerSchemeAgencyId: dataConsumerSchemeId(version)|(% style="width:1262px" %)SDMX:DATA_CONSUMERS(1.0)
790 +|(% style="width:262px" %)Data Consumer|(% style="width:369px" %)dataConsumerSchemeAgencyId: dataConsumerSchemeId(version) dataConsumerId|(% style="width:1262px" %)SDMX:DATA_CONSUMERS(1.0).CONSUMER_1
791 +|(% style="width:262px" %)(((
792 +*Metadata Structure
793 +)))|(% style="width:369px" %)MSDAgencyId:MSDId(version)|(% style="width:1262px" %)IMF:SDDS_MSD(1.0)
794 +|(% style="width:262px" %)MetadataTarget|(% style="width:369px" %)(((
860 860  MSDAgencyId:
861 -
862 862  MSDId(version).metadataTargetId
863 -)))|IMF:SDDS_MSD(1.0).AGENCY
864 -|(((
797 +)))|(% style="width:1262px" %)IMF:SDDS_MSD(1.0).AGENCY
798 +|(% style="width:262px" %)(((
865 865  Dimension
866 -
867 867  DescriptorValues
868 -
869 869  Target
870 -)))|(((
802 +)))|(% style="width:369px" %)(((
871 871  MSDAgencyId: MSDId(version).
872 -
873 873  metadataTargetId.keyDescriptorValueTargetId
874 -)))|IMF:SDDS_MSD(1.0).AGENCY.KEY
875 -|Identifiable ObjectTarget|(((
805 +)))|(% style="width:1262px" %)IMF:SDDS_MSD(1.0).AGENCY.KEY
806 +|(% style="width:262px" %)Identifiable Object Target|(% style="width:369px" %)(((
807 +MSDAgencyId: MSDId(version).metadataTargetId.identifiableObjectTargetId
808 +)))|(% style="width:1262px" %)IMF:SDDS_MSD(1.0).AGENCY.STR-OBJECT
809 +|(% style="width:262px" %)DataSetTarget|(% style="width:369px" %)(((
876 876  MSDAgencyId:
811 +MSDId(version).metadataTargetId.dataSetTargetId
812 +)))|(% style="width:1262px" %)IMF:SDDS_MSD(1.0).AGENCY.D1101
813 +|(% style="width:262px" %)PeportPeriod Target|(% style="width:369px" %)(((
814 +MSDAgencyId: MSDId(version).metadataTargetId.reportPeriodTargetId
815 +)))|(% style="width:1262px" %)IMF:SDDS_MSD(1.0).AGENCY.REP_PER
877 877  
878 -MSDId(version).metadataTargetId.identifiable
879 -
880 -ObjectTargetId
881 -)))|IMF:SDDS_MSD(1.0).AGENCY.STR-OBJECT
882 -|DataSetTarget|(((
883 -MSDAgencyId:
884 -
885 -MSDId(version).metadataTargetId.dataSet
886 -
887 -TargetId
888 -)))|IMF:SDDS_MSD(1.0).AGENCY.D1101
889 -|PeportPeriod Target|(((
890 -MSDAgencyId:
891 -
892 -MSDId(version).metadataTargetId.reportPeriod
893 -
894 -TargetId
895 -)))|IMF:SDDS_MSD(1.0).AGENCY.REP_PER
896 -
897 -
898 -
899 -|(((
817 +|(% style="width:251px" %)(((
900 900  ReportStructure
901 901  
902 902  
903 -)))|(((
904 -MSDAgencyId:
905 -
906 -MSDId(version).reportStructureId
907 -)))|IMF:SDDS_MSD(1.0).AGENCY_REPORT
908 -|(((
821 +)))|(% style="width:442px" %)(((
822 +MSDAgencyId: MSDId(version).reportStructureId
823 +)))|(% style="width:1178px" %)IMF:SDDS_MSD(1.0).AGENCY_REPORT
824 +|(% style="width:251px" %)(((
909 909  Metadata
910 910  
911 911  Attribute
912 -)))|(((
913 -MSDAgencyId:
914 -
915 -MSDId(version).reportStructureId.metadataattri buteID
916 -)))|IMF:SDDS_MSD(1.0).AGENCY_REPORT.COMPILATION
917 -|*Dataflow|dataflowAgencyId: dataflowId(version)|TFFS:CRED_EXT_DEBT(1.0)
918 -|*Provision Agreement|(((
828 +)))|(% style="width:442px" %)(((
829 +MSDAgencyId: MSDId(version).reportStructureId.metadataattri buteID
830 +)))|(% style="width:1178px" %)IMF:SDDS_MSD(1.0).AGENCY_REPORT.COMPILATION
831 +|(% style="width:251px" %)*Dataflow|(% style="width:442px" %)dataflowAgencyId: dataflowId(version)|(% style="width:1178px" %)TFFS:CRED_EXT_DEBT(1.0)
832 +|(% style="width:251px" %)*Provision Agreement|(% style="width:442px" %)(((
919 919  provisionAgreementAgencyId:provisionAgreem entId(version)
920 -
921 -
922 -)))|(((
834 +)))|(% style="width:1178px" %)(((
923 923  TFFS:CRED_EXT_DEBT_AB(1.0)
924 -
925 -
926 -
927 927  )))
928 -|(((
837 +|(% style="width:251px" %)(((
929 929  *Content
930 930  
931 931  Constraint
932 -)))|constraintAgencyId:ContentConstraintId(versio n)|TFFS:CREDITOR_DATA_CONTENT(1.0)
933 -|(((
841 +)))|(% style="width:442px" %)constraintAgencyId:ContentConstraintId(versio n)|(% style="width:1178px" %)TFFS:CREDITOR_DATA_CONTENT(1.0)
842 +|(% style="width:251px" %)(((
934 934  *Attachment
935 935  
936 936  Constraint
937 -)))|(((
846 +)))|(% style="width:442px" %)(((
938 938  constraintAgencyId:
939 939  
940 940  attachmentConstraintId(version)
941 -)))|TFFS:CREDITOR_DATA_ATTACHMENT_CONSTRAINT_ONE(1.0)
942 -|*Metadataflow|metadataflowAgencyId: metadataflowId(version)|IMF:SDDS_FLOW(1.0)
943 -|*StructureSet|structureSetAgencyId: structureSetId(version)|SDMX:BOP_STRUCTURES(1.0)
944 -|StructureMap|structureSetAgencyId: structureSetId(version). structureMapId|SDMX:BOP_STRUCTURES(1.0).TABLE1_TABLE2
945 -|Component Map|(((
850 +)))|(% style="width:1178px" %)TFFS:CREDITOR_DATA_ATTACHMENT_CONSTRAINT_ONE(1.0)
851 +|(% style="width:251px" %)*Metadataflow|(% style="width:442px" %)metadataflowAgencyId: metadataflowId(version)|(% style="width:1178px" %)IMF:SDDS_FLOW(1.0)
852 +|(% style="width:251px" %)*StructureSet|(% style="width:442px" %)structureSetAgencyId: structureSetId(version)|(% style="width:1178px" %)SDMX:BOP_STRUCTURES(1.0)
853 +|(% style="width:251px" %)StructureMap|(% style="width:442px" %)structureSetAgencyId: structureSetId(version). structureMapId|(% style="width:1178px" %)SDMX:BOP_STRUCTURES(1.0).TABLE1_TABLE2
854 +|(% style="width:251px" %)Component Map|(% style="width:442px" %)(((
946 946  structureSetAgencyId: structureSetId(version).
947 947  
948 948  structureMapId. componentMapId
949 -)))|SDMX:BOP_STRUCTURES(1.0).TABLE1_TABLE2. REFAREA_REPCOUNTRY
950 -|CodelistMap|structureSetAgencyId: structureSetId(version). codelistMapId|SDMX:BOP_STRUCTURES(1.0).CLREFAREA_CLREPCOUNTRY
951 -|CodeMap|structureSetAgencyId: structureSetId(version).|SDMX:BOP_STRUCTURES(1.0).CLREFAREA_CLREPCOUNTRY. DE_GER
858 +)))|(% style="width:1178px" %)SDMX:BOP_STRUCTURES(1.0).TABLE1_TABLE2. REFAREA_REPCOUNTRY
859 +|(% style="width:251px" %)CodelistMap|(% style="width:442px" %)structureSetAgencyId: structureSetId(version). codelistMapId|(% style="width:1178px" %)SDMX:BOP_STRUCTURES(1.0).CLREFAREA_CLREPCOUNTRY
860 +|(% style="width:251px" %)CodeMap|(% style="width:442px" %)structureSetAgencyId: structureSetId(version).|(% style="width:1178px" %)SDMX:BOP_STRUCTURES(1.0).CLREFAREA_CLREPCOUNTRY. DE_GER
952 952  
953 -
954 -
955 955  | |(((
956 956  codeListMapId.
957 957  
... ... @@ -1059,7 +1059,6 @@
1059 1059  
1060 1060  7**Table 3: Table of identification components for SDMX Identifiable Artefacts**
1061 1061  
1062 -
1063 1063  = 7 Implementation Notes =
1064 1064  
1065 1065  == 7.1 Structural Definition Metadata ==
... ... @@ -1080,109 +1080,72 @@
1080 1080  
1081 1081  The following table lists the Maintainable Artefacts.
1082 1082  
1083 -|(% colspan="4" %)**Maintainable Artefacts**|(% colspan="2" %)**Content**|
1084 -|(% colspan="2" %)**Abstract Class**|(% colspan="2" %)**Concrete Class**|(% colspan="2" %) |
1085 -|(% colspan="2" %)Item Scheme|(% colspan="2" %)Codelist|(% colspan="2" %)Code|
1086 -|(% colspan="2" %) |(% colspan="2" %)Concept Scheme|(% colspan="2" %)Concept|
1087 -|(% colspan="2" %) |(% colspan="2" %)Category Scheme|(% colspan="2" %)Category|
1088 -|(% colspan="2" %) |(% colspan="2" %)Organisation Unit Scheme|(% colspan="2" %)Organisation Unit|
1089 -|(% colspan="2" %) |(% colspan="2" %)Agency Scheme|(% colspan="2" %)Agency|
1090 -|(% colspan="2" %) |(% colspan="2" %)Data Provider Scheme|(% colspan="2" %)Data Provider|
1091 -|(% colspan="2" %) |(% colspan="2" %)Data Consumer Scheme|(% colspan="2" %)Data Consumer|
1092 -|(% colspan="2" %) |(% colspan="2" %)Reporting Taxonomy|(% colspan="2" %)Reporting Category|
1093 -|(% colspan="2" %) |(% colspan="2" %)Transformation Scheme|(% colspan="2" %)Transformation|
1094 -|(% colspan="2" %) |(% colspan="2" %)Custom Type Scheme|(% colspan="2" %)Custom Type|
1095 -| |(% colspan="4" %)**Maintainable Artefacts**|(% colspan="2" %)**Content**
1096 -| |(% colspan="2" %)**Abstract Class**|(% colspan="2" %)**Concrete Class**|(% colspan="2" %)
1097 -| |(% colspan="2" %) |(% colspan="2" %)Name Personalisation Scheme|(% colspan="2" %)Name Personalisation
1098 -| |(% colspan="2" %) |(% colspan="2" %)Vtl Mapping Scheme|(% colspan="2" %)Vtl Codelist Mapping
1099 -| |(% colspan="2" %) |(% colspan="2" %) |(% colspan="2" %)Vtl Concept Mapping
1100 -| |(% colspan="2" %) |(% colspan="2" %) |(% colspan="2" %)Vtl Dataflow Mapping
1101 -| |(% colspan="2" %) |(% colspan="2" %) |(% colspan="2" %)(((
1102 -Vtl Concept Scheme
1103 -
1104 -Mapping
1105 -)))
1106 -| |(% colspan="2" %) |(% colspan="2" %)Ruleset Scheme|(% colspan="2" %)Ruleset
1107 -| |(% colspan="2" %) |(% colspan="2" %)User Defined Operator Scheme|(% colspan="2" %)User Defined Operator
1108 -| |(% colspan="2" %) |(% colspan="2" %) |(% colspan="2" %)
1109 -| |(% colspan="2" %)Structure|(% colspan="2" %)Data Structure Definition|(% colspan="2" %)(((
989 +(% style="width:640.294px" %)
990 +|(% colspan="2" rowspan="1" style="width:186px" %)**Maintainable Artefacts**|(% style="width:206px" %)**Content**
991 +|(% style="width:171px" %)**Abstract Class**|(% style="width:232px" %)**Concrete Class**|(% style="width:206px" %)
992 +|(% style="width:171px" %)Item Scheme|(% style="width:232px" %)Codelist|(% style="width:206px" %)Code
993 +|(% style="width:171px" %) |(% style="width:232px" %)Concept Scheme|(% style="width:206px" %)Concept
994 +|(% style="width:171px" %) |(% style="width:232px" %)Category Scheme|(% style="width:206px" %)Category
995 +|(% style="width:171px" %) |(% style="width:232px" %)Organisation Unit Scheme|(% style="width:206px" %)Organisation Unit
996 +|(% style="width:171px" %) |(% style="width:232px" %)Agency Scheme|(% style="width:206px" %)Agency
997 +|(% style="width:171px" %) |(% style="width:232px" %)Data Provider Scheme|(% style="width:206px" %)Data Provider
998 +|(% style="width:171px" %) |(% style="width:232px" %)Data Consumer Scheme|(% style="width:206px" %)Data Consumer
999 +|(% style="width:171px" %) |(% style="width:232px" %)Reporting Taxonomy|(% style="width:206px" %)Reporting Category
1000 +|(% style="width:171px" %) |(% style="width:232px" %)Transformation Scheme|(% style="width:206px" %)Transformation
1001 +|(% style="width:171px" %) |(% style="width:232px" %)Custom Type Scheme|(% style="width:206px" %)Custom Type
1002 +|(% style="width:171px" %) |(% style="width:232px" %)Name Personalisation Scheme|(% style="width:206px" %)Name Personalisation
1003 +|(% style="width:171px" %) |(% style="width:232px" %)Vtl Mapping Scheme|(% style="width:206px" %)Vtl Codelist Mapping
1004 +|(% style="width:171px" %) |(% style="width:232px" %) |(% style="width:206px" %)Vtl Dataflow Mapping
1005 +|(% style="width:171px" %) |(% style="width:232px" %) |(% style="width:206px" %)Vtl Concept Scheme Mapping
1006 +|(% style="width:171px" %) |(% style="width:232px" %)Ruleset Scheme|(% style="width:206px" %)Ruleset
1007 +|(% style="width:171px" %) |(% style="width:232px" %)User Defined Operator Scheme|(% style="width:206px" %)User Defined Operator
1008 +|(% style="width:171px" %) |(% style="width:232px" %) |(% style="width:206px" %)User Defined Operator
1009 +|(% style="width:171px" %)Structure|(% style="width:232px" %)Data Structure Definition|(% style="width:206px" %)(((
1110 1110  Dimension Descriptor
1111 -
1112 1112  Group Dimension
1113 -
1114 1114  Descriptor
1115 -
1116 1116  Dimension
1117 -
1118 1118  Measure Dimension
1119 -
1120 1120  Time Dimension
1121 -
1122 1122  Attribute Descriptor
1123 -
1124 1124  Data Attribute
1125 -
1126 1126  Measure Descriptor
1127 -
1128 1128  Primary Measure
1129 1129  )))
1130 -| |(% colspan="2" %) |(% colspan="2" %)Metadata Structure Definition|(% colspan="2" %)(((
1131 -Metadata Target,
1132 -
1133 -Dimension Descriptor
1134 -
1021 +|(% style="width:171px" %) |(% style="width:232px" %)Metadata Structure Definition|(% style="width:206px" %)(((
1022 +Metadata Target, Dimension Descriptor
1135 1135  Values Target Identifiable
1136 -
1137 1137  Object Target
1138 -
1139 1139  Report Period Target
1140 -
1141 1141  Data SetTarget
1142 -
1143 1143  Report Structure
1144 -
1145 1145  Metadata Attribute
1146 1146  )))
1147 -| |(% colspan="2" %)Structure Usage|(% colspan="2" %)Dataflow Definition|(% colspan="2" %)
1148 -| |(% colspan="2" %) |(% colspan="2" %)Metadataflow Definition|(% colspan="2" %)
1149 -| |(% colspan="2" %)None|(% colspan="2" %)Process|(% colspan="2" %)Process Step
1150 -| |(% colspan="2" %)None|(% colspan="2" %)Structure Set|(% colspan="2" %)(((
1030 +|(% style="width:171px" %)Structure Usage|(% style="width:232px" %)Dataflow Definition|(% style="width:206px" %)
1031 +|(% style="width:171px" %) |(% style="width:232px" %)Metadataflow Definition|(% style="width:206px" %)
1032 +|(% style="width:171px" %)None|(% style="width:232px" %)Process|(% style="width:206px" %)Process Step
1033 +|(% style="width:171px" %)None|(% style="width:232px" %)Structure Set|(% style="width:206px" %)(((
1151 1151  Component Map
1152 -
1153 1153  Concept Scheme Map
1154 -
1155 1155  Codelist Map
1156 -
1157 1157  Category Scheme Map
1158 -
1159 1159  Reporting Taxonomy Map
1160 -
1161 1161  Organisation Scheme Map
1162 -
1163 1163  Concept Map
1164 -
1165 1165  Code Map
1166 -
1167 1167  Category Map
1168 -
1169 1169  Organisation Map
1170 -
1171 1171  Reporting Category Map
1172 -
1173 1173  Hybrid Codelist Map
1174 -
1175 1175  Hybrid Code Map
1176 1176  )))
1177 -| |(% colspan="2" %)None|(% colspan="2" %)Provision Agreement|(% colspan="2" %)
1178 -| |(% colspan="2" %)None|(% colspan="2" %)Hierarchical Codelist|(% colspan="2" %)(((
1048 +|(% style="width:171px" %)None|(% style="width:232px" %)Provision Agreement|(% style="width:206px" %)
1049 +|(% style="width:171px" %)None|(% style="width:232px" %)Hierarchical Codelist|(% style="width:206px" %)(((
1179 1179  Hierarchy
1180 -
1181 1181  Hierarchical Code
1182 1182  )))
1183 -| | | | | | |
1184 1184  
1185 -**Table 4: Table of Maintainable Artefacts for Structural Definition Metadata**
1054 +**able 4: Table of Maintainable Artefacts for Structural Definition Metadata**
1186 1186  
1187 1187  === 7.1.2 Item Scheme, Structure ===
1188 1188  
... ... @@ -1189,10 +1189,7 @@
1189 1189  The artefacts included in the structural definitions are:
1190 1190  
1191 1191  * All types of Item Scheme (Codelist, Concept Scheme, Category Scheme, Organisation Scheme - Agency Scheme, Data Provider Scheme, Data Consumer Scheme, Organisation Unit Scheme)
1192 -* All types of Structure (Data Structure Definition, Metadata Structure
1193 -
1194 -Definition)
1195 -
1061 +* All types of Structure (Data Structure Definition, Metadata Structure Definition)
1196 1196  * All types of Structure Usage (Dataflow Definition, Metadataflow Definition)
1197 1197  
1198 1198  === 7.1.3 Structure Usage ===