Last modified by Artur K. on 2026/05/29 14:28

From version 1.10
edited by Helena K.
on 2026/01/15 15:15
Change comment: There is no comment for this version
To version 1.4
edited by Helena K.
on 2026/01/15 15:09
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -62,49 +62,57 @@
62 62  
63 63  As a general rule insignificant changes (e.g. textual clarifications or typos) will result in an increment of the patch component of the versioning system (i.e. N.M.**+**).
64 64  
65 -|(% colspan="3" %)**CODE LIST (CL)**
66 -|(% style="width:877px" %)**Type of Change**|(% style="width:161px" %)**Impact**|(% style="width:1034px" %)**Comments**
67 -|(% style="width:877px" %)(((
65 +| |(% colspan="2" %)**CODE LIST (CL)**
66 +|**Type of Change**|**Impact**|**Comments**
67 +|(((
68 68  **Addition into an existing CL of one or more new codes not having the**
69 69  
70 70  **CodeList:Code:ParentCode attribute**
71 -)))|(% style="width:161px" %)**Minor**: **N.,,+,,**^^({{footnote}}The overall impact on compatibility should be assessed when there are several “minor” version impact changes. For example, it may be that the effect of adding several new Code List or HCL codes results in an implicit change in the meaning of existing Code List or HCL codes which may not be completely backward compatible, therefore (depending on the analysis) the overall version impact may be “Major +.0”.{{/footnote}})^^|(% style="width:1034px" %)Data exchanged/disseminated using the old CL can still be exchanged/disseminated using the new CL
72 -|(% style="width:877px" %)(((
71 +)))|**Minor**: **N.,,+,,**^^({{footnote}}The overall impact on compatibility should be assessed when there are several “minor” version impact changes. For example, it may be that the effect of adding several new Code List or HCL codes results in an implicit change in the meaning of existing Code List or HCL codes which may not be completely backward compatible, therefore (depending on the analysis) the overall version impact may be “Major +.0”.{{/footnote}})^^|Data exchanged/disseminated using the old CL can still be exchanged/disseminated using the new CL
72 +|(((
73 73  **Addition of one or more new hierarchies represented using the**
74 74  
75 75  **CodeList:Code:ParentCode attribute (not using the Hierarchical Code List artefact)**
76 -)))|(% style="width:161px" %)**Minor**: **N.,,+,,^^(^^**^^{{footnote}}The overall impact on compatibility should be assessed when there are several “minor” version impact changes. For example, it may be that the effect of adding several new Code List or HCL codes results in an implicit change in the meaning of existing Code List or HCL codes which may not be completely backward compatible, therefore (depending on the analysis) the overall version impact may be “Major +.0”.{{/footnote}})^^|(% style="width:1034px" %)Data exchanged/disseminated using the old CL can still be exchanged/disseminated using the new CL as already existing hierarchies still represent the same aggregations
77 -|(% style="width:877px" %)**Addition of one or more new codes into existing hierarchies represented using the CodeList:Code:ParentCode attribute (not using the Hierarchical Code List artefact)**|(% style="width:161px" %)**Major**: **+.0**|(% style="width:1034px" %)After the change, the parent code for the changed hierarchy does not represent the same aggregation any more, thus resulting in a break in backward compatibility
78 -|(% style="width:877px" %)**Aggregation, disaggregation, reorganisation or removal of one or more codes**|(% style="width:161px" %)**Major**: **+.0**|(% style="width:1034px" %)Data exchanged/disseminated using an old version of the CL can no longer be exchanged/disseminated using the new version of the CL
76 +)))|**Minor**: **N.,,+,,^^(^^**^^3)^^|Data exchanged/disseminated using the old CL can still be exchanged/disseminated using the new CL as already existing hierarchies still represent the same aggregations
77 +|**Addition of one or more new codes into existing hierarchies represented using the CodeList:Code:ParentCode attribute (not using the Hierarchical Code List artefact)**|**Major**: **+.0**|After the change, the parent code for the changed hierarchy does not represent the same aggregation any more, thus resulting in a break in backward compatibility
78 +|**Aggregation, disaggregation, reorganisation or removal of one or more codes**|**Major**: **+.0**|Data exchanged/disseminated using an old version of the CL can no longer be exchanged/disseminated using the new version of the CL
79 79  
80 80  
81 81  
82 82  |(% colspan="3" %)**HIERARCHICAL CODE LIST (HCL)**
83 -|**Type of Change**|(% style="width:150px" %)**Impact**|(% style="width:1045px" %)**Comments**
83 +|**Type of Change**|**Impact**|**Comments**
84 84  |(((
85 -**Addition of new hierarchies in the HCL. Existing hierarchies are unaffected**
86 -)))|(% style="width:150px" %)**Minor**: **N.,,+,,**^^({{footnote}}The overall impact on compatibility should be assessed when there are several “minor” version impact changes. For example, it may be that the effect of adding several new Code List or HCL codes results in an implicit change in the meaning of existing Code List or HCL codes which may not be completely backward compatible, therefore (depending on the analysis) the overall version impact may be “Major +.0”.{{/footnote}})^^|(% style="width:1045px" %)Data represented using the old HCL can still be represented using the new HCL
87 -|**Addition of codes into existing hierarchies in the HCL. Existing hierarchies are thus affected**|(% style="width:150px" %)**Major**: **+.0**|(% style="width:1045px" %)The HCL resulting from this change does not represent the same aggregation any more, thus breaking backward compatibility
88 -|**Removal of one or more codes in the HCL or removal of one or more codes in the referenced code lists**|(% style="width:150px" %)**Major**: **+.0**|(% style="width:1045px" %)Data represented using the old HCL can no longer be represented using the new HCL, thus resulting in a break in backward compatibility
89 -|**Addition, modification or removal of one or more hierarchical levels**|(% style="width:150px" %)**Major: +.0**|(% style="width:1045px" %)The reorganisation of codes within hierarchies has a significant impact on the code aggregations
85 +**Addition of new hierarchies in the HCL.**
90 90  
87 +**Existing hierarchies are unaffected**
88 +)))|**Minor**: **N.,,+,,**^^(3)^^|Data represented using the old HCL can still be represented using the new HCL
89 +|**Addition of codes into existing hierarchies in the HCL. Existing hierarchies are thus affected**|**Major**: **+.0**|The HCL resulting from this change does not represent the same aggregation any more, thus breaking backward compatibility
90 +|**Removal of one or more codes in the HCL or removal of one or more codes in the referenced code lists**|**Major**: **+.0**|Data represented using the old HCL can no longer be represented using the new HCL, thus resulting in a break in backward compatibility
91 +|**Addition, modification or removal of one or more hierarchical levels**|**Major: +.0**|The reorganisation of codes within hierarchies has a significant impact on the code aggregations
92 +
93 +
94 +
91 91  |(% colspan="3" %)**CONCEPT SCHEME (CS)**
92 -|(% style="width:874px" %)**Type of change**|(% style="width:154px" %)**Impact**|(% style="width:1044px" %)**Comments**
93 -|(% style="width:874px" %)**Addition of one or more new concepts in an existing CS**|(% style="width:154px" %)**Minor**: **N.+**|(% style="width:1044px" %)(((
94 -Data exchanged/disseminated using the old version of the CS can still be exchanged/disseminated using the new CS
96 +|**Type of change**|**Impact**|**Comments**
97 +|**Addition of one or more new concepts in an existing CS**|**Minor**: **N.+**|(((
98 +Data exchanged/disseminated using the old version of the
99 +
100 +CS can still be exchanged/disseminated using the new CS
95 95  )))
96 -|(% style="width:874px" %)**Removal of one or more existing concepts**|(% style="width:154px" %)**Major: +.0**|(% style="width:1044px" %)Data exchanged/disseminated using the old version of the CS can no longer be exchanged/disseminated using the new version with less concepts
102 +|**Removal of one or more existing concepts**|**Major: +.0**|Data exchanged/disseminated using the old version of the CS can no longer be exchanged/disseminated using the new version with less concepts
97 97  
104 +
105 +
98 98  |(% colspan="3" %)**DATA STRUCTURE DEFINITION (DSD)**
99 -|(% style="width:868px" %)**Type of change**|(% style="width:159px" %)**Impact**|(% style="width:1045px" %)**Comments**
100 -|(% style="width:868px" %)**Addition of a dimension**|(% style="width:159px" %)**Major**: **+.0**|(% style="width:1045px" %)Adding a new dimension has a strong impact because a dimension represents the identifier of a dataset, thus requiring a remodelling of the data as existing structural validation will fail
101 -|(% style="width:868px" %)**Addition of a mandatory attribute**|(% style="width:159px" %)**Major**: **+.0**|(% style="width:1045px" %)If the attribute is mandatory, the situation is the same as under point “Addition of a dimension”
102 -|(% style="width:868px" %)**Addition of a conditional attribute**|(% style="width:159px" %)**Minor**: **N.+**|(% style="width:1045px" %)If the attribute is conditional backward compatibility is maintained
103 -|(% style="width:868px" %)**Removal of a dimension or attribute**|(% style="width:159px" %)**Major**: **+.0**|(% style="width:1045px" %)Whatever the type of component, the change does not guarantee backward compatibility
107 +|**Type of change**|**Impact**|**Comments**
108 +|**Addition of a dimension**|**Major**: **+.0**|Adding a new dimension has a strong impact because a dimension represents the identifier of a dataset, thus requiring a remodelling of the data as existing structural validation will fail
109 +|**Addition of a mandatory attribute**|**Major**: **+.0**|If the attribute is mandatory, the situation is the same as under point “Addition of a dimension”
110 +|**Addition of a conditional attribute**|**Minor**: **N.+**|If the attribute is conditional backward compatibility is maintained
111 +|**Removal of a dimension or attribute**|**Major**: **+.0**|Whatever the type of component, the change does not guarantee backward compatibility
104 104  
105 105  For concrete examples, see the Appendix.
106 106  
107 -= 5. How versioning works for inter-dependent artefacts =
115 +=== 5. How versioning works for inter-dependent artefacts ===
108 108  
109 109  This section describes how version changes to inter-dependent or parent/child artefacts affect each other. For example, how a Concept Scheme is affected when one of the Code Lists that it references changes version.
110 110  
... ... @@ -127,40 +127,51 @@
127 127  The replacement of a reference with a different reference has the same impact for every artefact.
128 128  
129 129  |(% colspan="3" %)**ALL ARTEFACTS**
130 -|(% style="width:492px" %)**Type of change**|(% style="width:441px" %)**Impact**|**Comments**
131 -|(% style="width:492px" %)(((
132 -**Replacement of a child artefact having a different version, but same id and Agency**
133 -)))|(% style="width:441px" %)(((
134 -**The child artefact version change is replicated in the parent artefact**
138 +|**Type of change**|**Impact**|**Comments**
139 +|(((
140 +**Replacement of a child artefact having a different version, but same id and**
141 +
142 +**Agency**
135 135  )))|(((
144 +**The child artefact version change is replicated in the**
145 +
146 +**parent artefact**
147 +)))|(((
136 136  If a child artefact (e.g. a Code List) has a minor version change, then the parent artefact (e.g. a Concept Scheme) should also have a minor version change.
149 +
137 137  If there are several child artefact version changes, the most severe impact is replicated in the parent artefact. For example, if two Code Lists have minor changes, and one Code List has a major change at the same time, the parent Concept Scheme has a major version change
138 138  )))
139 -|(% style="width:492px" %)(((
140 -**Replacement of a referenced child artefact having a different id or Agency**
141 -)))|(% style="width:441px" %)**The parent artefact version impact depends on the backward/ forward compatibility as shown in the tables above**|Technically, the child artefact is not considered to be related to the previous child artefact. It needs to be checked whether exchange contracts can still be guaranteed (backward/forward compatibility principle)
152 +|(((
153 +**Replacement of a referenced child artefact having a**
142 142  
155 +**different id or Agency**
156 +)))|**The parent artefact version impact depends on the backward/ forward compatibility as shown in the tables above**|Technically, the child artefact is not considered to be related to the previous child artefact. It needs to be checked whether exchange contracts can still be guaranteed (backward/forward compatibility principle)
157 +
143 143  ==== b. Addition or removal of referenced artefacts ====
144 144  
145 -|(% colspan="3" style="width:876px" %)**CONCEPT SCHEME (CS)**
146 -|(% style="width:845px" %)**Type of change**|(% style="width:156px" %)**Impact**|(% style="width:1071px" %)**Comments**
147 -|(% style="width:845px" %)(((
148 -**Addition or removal of a child Code List**
149 -)))|(% style="width:156px" %)**Minor: N.+**|(% style="width:1071px" %)The child Code Lists in a Data Structure Definition have priority over those referenced in a Concept Scheme. Child Code Lists added to or removed from a Concept Scheme do not have a direct impact on the data exchange. Backward/forward compatibility depends on the way Code Lists are referenced in Data Structure Definitions referencing the concept scheme. This needs to be taken into account when creating a new version of a DSD accordingly
160 +| |(% colspan="2" %)**CONCEPT SCHEME (CS)**
161 +|**Type of change**|**Impact**|**Comments**
162 +|(((
163 +**Addition or removal of a child**
150 150  
165 +**Code List**
166 +)))|**Minor: N.+**|The child Code Lists in a Data Structure Definition have priority over those referenced in a Concept Scheme. Child Code Lists added to or removed from a Concept Scheme do not have a direct impact on the data exchange. Backward/forward compatibility depends on the way Code Lists are referenced in Data Structure Definitions referencing the concept scheme. This needs to be taken into account when creating a new version of a DSD accordingly
151 151  
152 152  
153 -|(% colspan="3" %)**DATA STRUCTURE DEFINITION (DSD)**
169 +
170 +| |(% colspan="2" %)**DATA STRUCTURE DEFINITION (DSD)**
154 154  |**Type of change**|**Impact**|**Comments**
155 155  |**Addition or removal of a child Code List**|(((
156 -**If same id and Agency, then the child artefact version change is replicated in the parent artefact.
157 -If different id or Agency, impact wil depend on the backward/forward compatibility as shown in the tables above**
173 +**If same id and Agency, then the child artefact version change is replicated in the parent artefact.**
174 +
175 +**If different id or Agency, impact wil depend on the backward/forward compatibility as shown in the tables above**
158 158  )))|(((
159 159  If a child Code List has a minor version change, then the DSD should also have a minor version change.
178 +
160 160  If there are several Code List version changes, the most severe impact is replicated in the DSD. For example, if two Code Lists have minor changes, and one Code List has a major change at the same time, the parent DSD has a major version change
161 161  )))
162 162  
163 -= 6. Appendix - Examples =
182 +=== 6. Appendix - Examples ===
164 164  
165 165  **Example 1 – Change to a Code List name, for clarification purposes**. **Patch Impact: N.M.+**
166 166  
... ... @@ -182,8 +182,10 @@
182 182  |(% colspan="2" %)**AGGREGATION OF EXISTING CODES**
183 183  |**Old version**|**New version**
184 184  |**2011** Heifers (female bovine that never calved), live **2012** Cows, live|**2010** Heifers and cows, live
185 -|(% colspan="2" %)Codes **2011** and **2012** are fully{{footnote}}i.e. without integration into or combination with another existing code.{{/footnote}} __**removed**__ and replaced with one __**brand new**__ code. In this case there is a many to 1 correspondence between the codes.
204 +|(% colspan="2" %)Codes **2011** and **2012** are fully{{footnote}}i.e. without integration into or combination with another existing code.{{/footnote}} **removed** and replaced with one **brand new** code. In this case there is a many to 1 correspondence between the codes.
186 186  
206 +
207 +
187 187  |(% colspan="2" %)**DISAGGREGATION OF EXISTING CODES**
188 188  |**Old version**|**New version**
189 189  |**1010** Live horses|(((
... ... @@ -190,8 +190,10 @@
190 190  1. Pure bred breeding horses, live
191 191  1. Other horses, live
192 192  )))
193 -|(% colspan="2" %)Code __**1010**__ is fully __**removed**__ and replaced with two __**brand new**__ codes. In this case there is a 1 to m correspondence between the codes.
214 +|(% colspan="2" %)Code **1010** is fully **removed** and replaced with two **brand new** codes. In this case there is a 1 to m correspondence between the codes.
194 194  
216 +
217 +
195 195  |(% colspan="2" %)**REORGANISATION OF EXISTING CODES**
196 196  |**Old version**|**New version**
197 197  |(((
... ... @@ -221,17 +221,17 @@
221 221  |(% colspan="2" %)**ADDING A NEW CODE IN AN EXISTING HIERARCHY – HIERARCHICAL CODE LIST**
222 222  |**Old version**|**New version**
223 223  |(((
224 - A1 - World (codelist ref. ECB@CL_AREAS@1.0) o E1 - Europe (ECB@CL_COUNTRIES@1.0)
247 + A1 - World (codelist ref. ECB@CL_AREAS@1.0) o E1 - Europe (ECB@CL_COUNTRIES@1.0)
225 225  
226 -ES - Spain FR - France
249 + ES - Spain FR - France
227 227  
228 228  GR - Greece
229 229  
230 230  IT - Italy o E4 - Africaetc.
231 231  )))|(((
232 -A1=World (codelist ref. ECB@CL_AREAS@1.0) o E1 =Europe (ECB@CL_COUNTRIES@1.0)
255 +A1=World (codelist ref. ECB@CL_AREAS@1.0) o E1 =Europe (ECB@CL_COUNTRIES@1.0)
233 233  
234 -ES = Spain FR = FranceGR = Greece
257 + ES = Spain FR = FranceGR = Greece
235 235  
236 236  IT = Italy
237 237  
© Semantic R&D Group, 2026