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

From version 39.1
edited by Artur
on 2025/05/27 15:50
Change comment: There is no comment for this version
To version 34.1
edited by Artur
on 2025/05/22 14:49
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -296,12 +296,14 @@
296 296  (% style="width:757.294px" %)
297 297  |(% style="width:188px" %)**Interface**|(% style="width:542px" %)**Behaviour**
298 298  |(% style="width:188px" %)All|(% style="width:542px" %)(((
299 -1) If the action is set to “replace” (or a [[maintainable Artefact>>doc:Glossary.Maintainable artefact.WebHome]] is PUT or POSTed) then the entire contents of the existing maintainable object in the Registry MUST be replaced by the object submitted.
300 -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.
301 -3) If the action is set to “delete” (or a [[maintainable Artefact>>doc:Glossary.Maintainable artefact.WebHome]] is DELETEd) then the Registry MUST verify that the object can be deleted. In order to qualify for deletion, the object must:
299 +1. If the action is set to “replace” (or a [[maintainable Artefact>>doc:Glossary.Maintainable artefact.WebHome]] is PUT or POSTed) then the entire contents of the existing maintainable object in the Registry MUST be replaced by the object submitted.
300 +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.
301 +1. If the action is set to “delete” (or a [[maintainable Artefact>>doc:Glossary.Maintainable artefact.WebHome]] is DELETEd) then the Registry MUST verify that the object can be deleted. In order to qualify for deletion, the object must:
302 +
302 302  a) Be a draft (% style="color:#e74c3c" %)version(%%).
304 +)))
305 +|(% style="width:188px" %) |(% style="width:542px" %)(((
303 303  b) Not be explicitly{{footnote}}With semantic versioning, it is allowed to reference a range of artefacts, e.g., a DSD referencing a Codelist with version 1.2.3+ means all patch versions greater than 1.2.3. This means that deleting 1.2.4-draft does not break integrity of the aforementioned DSD.{{/footnote}} referenced from any other object in the Registry.
304 -
305 305  4) The semantic versioning rules in the [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] documentation MUST be obeyed.
306 306  )))
307 307  |(% style="width:188px" %)Structure submission|(% style="width:542px" %)Structures are submitted at the (% style="color:#e74c3c" %)level(%%) of the [[Maintainable Artefact>>doc:Glossary.Maintainable artefact.WebHome]] and the behaviour in “All” above is therefore at the (% style="color:#e74c3c" %)level(%%) of the [[Maintainable Artefact>>doc:Glossary.Maintainable artefact.WebHome]].
... ... @@ -421,12 +421,11 @@
421 421  
422 422  ==== 6.2.2.2 URN Structure ====
423 423  
424 -(% class="wikigeneratedid" id="HCaseRulesforURN" %)
425 -**//__Case Rules for URN__//**
426 +===== **//__Case Rules for URN__//** =====
426 426  
427 427  For the URN, all parts of the string are case sensitive. The generic structure of the URN is as follows:
428 428  
429 -SDMXprefix.SDMX-IM-package-name.class-name=agencyid:maintainedobjectid(maintainedobject-version).*containerobject-id.object-id
430 +SDMXprefix.SDMX-IM-package-name.class-name=agencyid:maintainedobjectid(maintainedobject-(% style="color:#e74c3c" %)version(%%)).*containerobject-id.object-id
430 430  
431 431  ~* this can repeat and may not be present (see explanation below)
432 432  
... ... @@ -457,45 +457,43 @@
457 457  
458 458  **maintainable-object-id** is the identifier of the maintainable object. This will always be present as all identifiable objects are either a maintainable object or contained in a maintainable object.
459 459  
460 -**maintainable-object-version** is the (% style="color:#e74c3c" %)version(%%), according to the [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] versioning rules, of the maintainable object and is enclosed in parentheses ‘()’, which are always present.
461 +**maintainable-object-(% style="color:#e74c3c" %)version(%%)** is the (% style="color:#e74c3c" %)version(%%), according to the [[SDMX>>doc:Glossary.Statistical data and metadata exchange.WebHome]] versioning rules, of the maintainable object and is enclosed in parentheses ‘()’, which are always present.
461 461  
462 462  **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>>doc:Glossary.Code.WebHome]] is in a maintained object (Codelist) and has no intermediary container object, whereas a MetadataAttribute has an intermediary container object (MetadataAttributeDescriptor) and may have an intermediary container object, which is its parent MetadataAttribute. For this reason, the container object id may repeat, with each repetition identifying the object at the next-lower (% style="color:#e74c3c" %)level(%%) in its [[hierarchy>>doc:Glossary.Hierarchy.WebHome]]. 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 AttributeDescriptor, DimensionDescriptor, and MeasureDescriptor 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 AttributeDescriptor, DimensionDescriptor, and MeasureDescriptor is not included when the actual object is a DataAttribute or a Dimension/ TimeDimension, or a Measure.
463 463  
464 464  Note that although a [[Code>>doc:Glossary.Code.WebHome]] can have a parent [[Code>>doc:Glossary.Code.WebHome]] and a (% style="color:#e74c3c" %)Concept(%%) can have a parent (% style="color:#e74c3c" %)Concept(%%) these are maintained in a flat structure and therefore do not have a containerobject-id.
465 465  
466 -For example, the sequence is agency:DSDid(version).DimensionId and not agency:DSDid(version).DimensionDescriptorId.DimensionId.
467 +For example, the sequence is agency:DSDid((% style="color:#e74c3c" %)version(%%)).DimensionId and not agency:DSDid((% style="color:#e74c3c" %)version(%%)).DimensionDescriptorId.DimensionId.
467 467  
468 468  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.
469 469  
470 -(% class="wikigeneratedid" id="HGenericExamplesoftheURNStructure" %)
471 -//__**Generic Examples of the URN Structure**__//
471 +===== //__**Generic Examples of the URN Structure**__// =====
472 472  
473 473  __Actual object is a maintainable__
474 474  
475 -SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid(version)
475 +SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid((% style="color:#e74c3c" %)version(%%))
476 476  
477 477  __Actual object is contained in a maintained object with no intermediate containing object__
478 478  
479 -SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid(version).object-id
479 +SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid((% style="color:#e74c3c" %)version(%%)).object-id
480 480  
481 481  __Actual object is contained in a maintained object with an intermediate containing object__
482 482  
483 -SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid(version).contained-object-id.object-id
483 +SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid((% style="color:#e74c3c" %)version(%%)).contained-object-id.object-id
484 484  
485 485  __Actual object is contained in a maintained object with no intermediate containing__ __object but__ __the object type itself is hierarchical__
486 486  
487 487  In this case the object id may not be unique in itself but only within the context of the [[hierarchy>>doc:Glossary.Hierarchy.WebHome]]. 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>>doc:Glossary.Category.WebHome]] in a CategoryScheme. The [[Category>>doc:Glossary.Category.WebHome]] is hierarchical, and all intermediate [[Categories>>doc:Glossary.Category.WebHome]] are shown as a contained object. The example below shows the generic structure for CategoryScheme/ [[Category>>doc:Glossary.Category.WebHome]]/ [[Category>>doc:Glossary.Category.WebHome]].
488 488  
489 -SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid(version).contained-object-id.object-id
489 +SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid((% style="color:#e74c3c" %)version(%%)).contained-object-id.object-id
490 490  
491 491  Actual object is contained in a maintained object with an intermediate containing object and the object type itself is hierarchical
492 492  
493 493  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 MetadataAttribute where the contained objects are MetadataAttributeDescriptor (first contained object id) and MetadataAttribute (subsequent contained object ids). The example below shows the generic structure for [[MSD>>doc:Glossary.Metadata structure definition.WebHome]]/ MetadataAttributeDescriptor/ MetadataAttribute/ MetadataAttribute
494 494  
495 -SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid(version).contained-object-id.contained-object-id contained-objectid.object-id
495 +SDMXPrefix.[[SDMX-IM>>doc:Glossary.SDMX Information Model.WebHome]]-package-name.classname=agencyid:maintained-objectid((% style="color:#e74c3c" %)version(%%)).contained-object-id.contained-object-id contained-objectid.object-id
496 496  
497 -(% class="wikigeneratedid" id="HConcreteExamplesoftheURNStructure" %)
498 -//__**Concrete Examples of the URN Structure**__//
497 +===== //__**Concrete Examples of the URN Structure**__// =====
499 499  
500 500  The [[Data Structure Definition>>doc:Glossary.Data structure definition.WebHome]] CRED_EXT_DEBT of legacy (% style="color:#e74c3c" %)version(%%) 2.1 maintained by the toplevel Agency TFFS would have the URN:
501 501