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

From version 2.15
edited by Helena
on 2025/07/02 15:21
Change comment: There is no comment for this version
To version 2.20
edited by Helena
on 2025/07/02 15:26
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -801,16 +801,18 @@
801 801  
802 802  A complex type name ObsType must be created. Its content model will be derived via restriction of the base type dsd:ObsType. The complex type content model will be as follows:
803 803  
804 -1. A sequence consisting of:
805 -1. An element reference to common:Annotations, with a minimum occurrence of 0
806 - 2. If any measures with complex representations are defined in the data structure, any attributes with complex representation that declare an attribute relationship with the observation, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of dsd:CompType
807 - 3. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the observation, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
804 +~1. A sequence consisting of:
805 +
806 +* i. An element reference to common:Annotations, with a minimum occurrence of 0
807 +* ii. If any measures with complex representations are defined in the data structure, any attributes with complex representation that declare an attribute relationship with the observation, a Comp element with a form of unqualified, a minimum occurrence of 0, a maximum occurrence of unbounded, and a type of dsd:CompType
808 +* iii. If any metadata attribute usages defined in the data structure that declares an attribute relationship with the observation, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurrence of 0
809 +
808 808  2. An attribute named TIME\_PERIOD with a type of common:
809 809   ObservationalTimePeriodValueType. If the dimension at the observation level is the time dimension (TIME\_PERIOD) or all dimensions and the time dimension is defined by the data structure, a usage of required; otherwise, a usage of prohibited
810 -3. If the dimension at the observation level is not all dimensions or the time dimension (TIME\_PERIOD), an attribute for the dimension at the observation level. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
811 -4. If the dimension at the observation level is all dimensions, an attribute for each dimension defined by the data structure definition, except for the time dimension (TIME\_PERIOD). The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is required
812 -5. An attribute for each measure with simple representation defined by the data structure definition. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) is defined according to the general rules defined in the previous section, and the usage is optional
813 -6. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the observation. The XML attribute [name](#331-Component-Name-Determination) and [type](#333-Simple--Primitive-Type-Determination) are defined according to the general rules defined in the previous section, and the usage is optional
812 +3. If the dimension at the observation level is not all dimensions or the time dimension (TIME\_PERIOD), an attribute for the dimension at the observation level. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
813 +4. If the dimension at the observation level is all dimensions, an attribute for each dimension defined by the data structure definition, except for the time dimension (TIME\_PERIOD). The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is required
814 +5. An attribute for each measure with simple representation defined by the data structure definition. The XML attribute name and type is defined according to the general rules defined in the previous section, and the usage is optional
815 +6. An attribute for each data attribute with simple representation defined in the data structure that declares an attribute relationship with the observation. The XML attribute name and type are defined according to the general rules defined in the previous section, and the usage is optional
814 814  
815 815  === 3.4.6 CompType ===
816 816  
... ... @@ -841,7 +841,7 @@
841 841  
842 842  === 4.1.2 Replace Action ===
843 843  
844 -Data or data-related reference metadata is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “replacement levels”: for entire observations and for any specific dimension combination for data-related reference metadata attributes. Within these “replacement levels” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other attributes (those above the observation level) are merged (see *Merge* action).
846 +Data or data-related reference metadata is to be replaced, through either update, insert or delete depending on already existing information. A full replacement is hereby assumed to take place at specific “//replacement levels//”: for entire observations and for any specific dimension combination for data-related reference metadata attributes. Within these “replacement levels” the provided values are inserted or updated, and omitted values are deleted. Values provided for the other attributes (those above the observation level) are merged (see //Merge// action).
845 845  
846 846  Only non-dimensional components (measure, attribute or reference metadata values) can be **omitted** (null or absent). Bulk replacing is thus not supported.
847 847  
... ... @@ -849,9 +849,9 @@
849 849  
850 850  Replacing non-existing elements is not resulting in an error.
851 851  
852 -All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the *Replace* action change their time stamp when used to update an SDMX storage system.
854 +All observations as well as the sets of data-related reference metadata attributes at specific dimension combinations impacted by the //Replace// action change their time stamp when used to update an SDMX storage system.
853 853  
854 -Because the *replace* action always takes place at specific levels, it cannot be used to replace a whole dataset or a whole series. However, a “*replace all*” effect can be achieved by combining a *Delete* dataset containing a completely wildcarded key (where all dimension values are omitted) with a *Merge* or *Replace* dataset within the same data message. Similarly, to replace a whole series, a message can combine a *delete* dataset containing only the partial key of the series (where the not used dimension values are omitted) with a *Merge* or *Replace* dataset for that series.
856 +Because the //replace// action always takes place at specific levels, it cannot be used to replace a whole dataset or a whole series. However, a //“replace all”// effect can be achieved by combining a //Delete// dataset containing a completely wildcarded key (where all dimension values are omitted) with a //Merge// or //Replace// dataset within the same data message. Similarly, to replace a whole series, a message can combine a //delete// dataset containing only the partial key of the series (where the not used dimension values are omitted) with a //Merge// or //Replace// dataset for that series.
855 855  
856 856  === 4.1.3 Delete Action ===
857 857  
... ... @@ -871,14 +871,15 @@
871 871  
872 872  The following convention is used to indicate the state of components in data messages:
873 873  
874 -| | |**Dimension value is**| |**Measure, attribute or reference metadata value is**| |
875 -| | |**Omitted**|**switched off**|**Omitted**|**Present**|
876 -|Action|Delete|bulk deletion: dimension value doesn't matter|only for irrelevant dimensions:1) higher-level (reference metadata) attributes not attached to this dimension(incl. TIME\_PERIOD)2) measures and attributes not attached to this dimension if the DSD allows for an ‘evolving structure’ (excl. TIME\_PERIOD)|to be deleted only if **all** non-dimension components are omitted|to be deleted|
877 -| |Merge|*bulk merge is not permitted*|(see above)|not to be changed|to be updated/inserted|
878 -| |Replace|*bulk replace is not permitted*|(see above)|at permitted replacement levels: to be deleted, otherwise not to be changed|to be updated/inserted|
879 -|Format|XML|xml element/attribute is absent|~|xml element/attribute is absent|any valid or intentionally missing value|
880 -| |JSON|\<empty\>|““|NULL or absent|(see above)|
881 -| |CSV|\<empty\> cell or column is absent|~|<empty> cell or column is absent|(see above)|
876 +(% style="width:1591.29px" %)
877 +| | |**Dimension value is**|(% style="width:384px" %) |(% style="width:598px" %)**Measure, attribute or reference metadata value is**|(% style="width:201px" %)
878 +| | |**Omitted**|(% style="width:384px" %)**switched off**|(% style="width:598px" %)**Omitted**|(% style="width:201px" %)**Present**
879 +|Action|Delete|bulk deletion: dimension value doesn't matter|(% style="width:384px" %)only for irrelevant dimensions:1) higher-level (reference metadata) attributes not attached to this dimension(incl. TIME\_PERIOD)2) measures and attributes not attached to this dimension if the DSD allows for an ‘evolving structure’ (excl. TIME\_PERIOD)|(% style="width:598px" %)to be deleted only if **all** non-dimension components are omitted|(% style="width:201px" %)to be deleted
880 +| |Merge|//bulk merge is not permitted//|(% style="width:384px" %)(see above)|(% style="width:598px" %)not to be changed|(% style="width:201px" %)to be updated/inserted
881 +| |Replace|//bulk replace is not permitted//|(% style="width:384px" %)(see above)|(% style="width:598px" %)at permitted replacement levels: to be deleted, otherwise not to be changed|(% style="width:201px" %)to be updated/inserted
882 +|Format|XML|xml element/attribute is absent|(% style="width:384px" %)~|xml element/attribute is absent|(% style="width:598px" %)any valid or intentionally missing value|(% style="width:201px" %)
883 +| |JSON|\<empty\>|(% style="width:384px" %)““|(% style="width:598px" %)NULL or absent|(% style="width:201px" %)(see above)
884 +| |CSV|\<empty\> cell or column is absent|(% style="width:384px" %)~|<empty> cell or column is absent|(% style="width:598px" %)(see above)|(% style="width:201px" %)
882 882  
883 883  **Important notes:**
884 884