Changes for page 13 Structure Mapping
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -101,32 +101,20 @@ 101 101 |(% style="width:240px" %)**Source**|(% style="width:246px" %)**Target**|(% style="width:329px" %)**Output Series Key** 102 102 |(% style="width:240px" %)SERIES_CODE=XMAN_Z_21|(% style="width:246px" %)((( 103 103 Dimensions 104 - 105 105 INDICATOR=XM 106 - 107 107 FREQ=A 108 - 109 109 ADJUSTMENT=N 110 - 111 111 Attributes 112 - 113 113 UNIT_MEASURE=_Z 114 - 115 115 COMP_ORG=21 116 116 )))|(% style="width:329px" %)XM:A:N 117 117 |(% style="width:240px" %)SERIES_CODE=XMAN_Z_34|(% style="width:246px" %)((( 118 118 Dimensions 119 - 120 120 INDICATOR=XM 121 - 122 122 FREQ=A 123 - 124 124 ADJUSTMENT=N 125 - 126 126 Attributes 127 - 128 128 UNIT_MEASURE=_Z 129 - 130 130 COMP_ORG=34 131 131 )))|(% style="width:329px" %)XM:A:N 132 132 ... ... @@ -144,24 +144,26 @@ 144 144 145 145 A Representation Map mapping ISO 2-character to ISO 3-character Codelists would take the following form: 146 146 147 -|CL_ISO_ALPHA2|CL_ISO_ALPHA3 148 -|AF|AFG 149 -|AL|ALB 150 -|DZ|DZA 151 -|AS|ASM 152 -|AD|AND 153 -|etc…| 135 +(% style="width:763.294px" %) 136 +|(% style="width:252px" %)**CL_ISO_ALPHA2**|(% style="width:508px" %)**CL_ISO_ALPHA3** 137 +|(% style="width:252px" %)AF|(% style="width:508px" %)AFG 138 +|(% style="width:252px" %)AL|(% style="width:508px" %)ALB 139 +|(% style="width:252px" %)DZ|(% style="width:508px" %)DZA 140 +|(% style="width:252px" %)AS|(% style="width:508px" %)ASM 141 +|(% style="width:252px" %)AD|(% style="width:508px" %)AND 142 +|(% style="width:252px" %)etc…|(% style="width:508px" %) 154 154 155 155 A Representation Map mapping free text country names to an ISO 2-character Codelist could be similarly described: 156 156 157 -|Text|CL_ISO_ALPHA2 158 -|"Germany"|DE 159 -|"France"|FR 160 -|"United Kingdom"|GB 161 -|"Great Britain"|GB 162 -|"Ireland"|IE 163 -|"Eire"|IE 164 -|etc…| 146 +(% style="width:770.294px" %) 147 +|(% style="width:247px" %)**Text**|(% style="width:520px" %)**CL_ISO_ALPHA2** 148 +|(% style="width:247px" %)"Germany"|(% style="width:520px" %)DE 149 +|(% style="width:247px" %)"France"|(% style="width:520px" %)FR 150 +|(% style="width:247px" %)"United Kingdom"|(% style="width:520px" %)GB 151 +|(% style="width:247px" %)"Great Britain"|(% style="width:520px" %)GB 152 +|(% style="width:247px" %)"Ireland"|(% style="width:520px" %)IE 153 +|(% style="width:247px" %)"Eire"|(% style="width:520px" %)IE 154 +|(% style="width:247px" %)etc…|(% style="width:520px" %) 165 165 166 166 Valuelists, introduced in SDMX 3.0, are equivalent to Codelists but allow the maintenance of non-SDMX identifiers. Importantly, their IDs do not need to conform to IDType, but as a consequence are not Identifiable. 167 167 ... ... @@ -169,10 +169,11 @@ 169 169 170 170 In common with Codelists, each item in a Valuelist has a multilingual name giving it a human-readable label and an optional description. For example: 171 171 172 -|Value|Locale|Name 173 -|$|en|United States Dollar 174 -|%|En|Percentage 175 -| |fr|Pourcentage 162 +(% style="width:780.294px" %) 163 +|(% style="width:126px" %)**Value**|(% style="width:153px" %)**Locale**|(% style="width:498px" %)**Name** 164 +|(% style="width:126px" %)$|(% style="width:153px" %)en|(% style="width:498px" %)United States Dollar 165 +|(% style="width:126px" %)%|(% style="width:153px" %)En|(% style="width:498px" %)Percentage 166 +|(% style="width:126px" %) |(% style="width:153px" %)fr|(% style="width:498px" %)Pourcentage 176 176 177 177 Other characteristics of Representation Maps: 178 178 ... ... @@ -196,30 +196,31 @@ 196 196 197 197 Below is an example set of regular expression rules for a particular component. 198 198 199 -|Regex|Description|Output 200 -|A|Rule match if input = 'A'|OUT_A 201 -|^[A-G]|Rule match if the input starts with letters A to G|OUT_B 202 -|A~|B|Rule match if input is either 'A' or 'B'|OUT_C 190 +(% style="width:708.294px" %) 191 +|(% style="width:133px" %)**Regex**|(% style="width:377px" %)**Description**|(% style="width:194px" %)**Output** 192 +|(% style="width:133px" %)A|(% style="width:377px" %)Rule match if input = 'A'|(% style="width:194px" %)OUT_A 193 +|(% style="width:133px" %)^[A-G]|(% style="width:377px" %)Rule match if the input starts with letters A to G|(% style="width:194px" %)OUT_B 194 +|(% style="width:133px" %)A~|B|(% style="width:377px" %)Rule match if input is either 'A' or 'B'|(% style="width:194px" %)OUT_C 203 203 204 204 Like all mapping rules, the output is either a Code, a Value or free text depending on the representation of the Component in the target Data Structure Definition. 205 205 206 206 If the regular expression contains capture groups, these can be used in the definition of the output value, by specifying \//**n** //as an output value where //**n**// is the number of the capture group starting from 1. For example 207 207 208 -|Regex|Target output|Example Input|Example Output 209 -|((( 210 -([0-9]{4})[0- 200 +(% style="width:720.294px" %) 201 +|(% style="width:199px" %)**Regex**|(% style="width:126px" %)**Target output**|(% style="width:192px" %)**Example Input**|(% style="width:200px" %)**Example Output** 202 +|(% style="width:199px" %)((( 203 +([0-9]{4})[0-9]([0-9]{1}) 204 +)))|(% style="width:126px" %)\1-Q\2|(% style="width:192px" %)200933|(% style="width:200px" %)2009-Q3 211 211 212 -9]([0-9]{1}) 213 -)))|\1-Q\2|200933|2009-Q3 214 - 215 215 As regular expression rules can be used as a general catch-all if nothing else matches, the ordering of the rules is important. Rules should be tested starting with the highest priority, moving down the list until a match is found. 216 216 217 217 The following example shows this: 218 218 219 -|Priority|Regex|Description|Output 220 -|1|A|Rule match if input = 'A'|OUT_A 221 -|2|B|Rule match if input = 'B'|OUT_B 222 -|3|[A-Z]|Any character A-Z|OUT_C 210 +(% style="width:725.294px" %) 211 +|(% style="width:198px" %)**Priority**|(% style="width:148px" %)**Regex**|(% style="width:212px" %)**Description**|(% style="width:164px" %)**Output** 212 +|(% style="width:198px" %)1|(% style="width:148px" %)A|(% style="width:212px" %)Rule match if input = 'A'|(% style="width:164px" %)OUT_A 213 +|(% style="width:198px" %)2|(% style="width:148px" %)B|(% style="width:212px" %)Rule match if input = 'B'|(% style="width:164px" %)OUT_B 214 +|(% style="width:198px" %)3|(% style="width:148px" %)[A-Z]|(% style="width:212px" %)Any character A-Z|(% style="width:164px" %)OUT_C 223 223 224 224 The input 'A' matches both the first and the last rule, but the first takes precedence having the higher priority. The output is OUT_A. 225 225 ... ... @@ -231,14 +231,16 @@ 231 231 232 232 For instance: 233 233 234 -|Input String|Start|Length|Output 235 -|ABC_DEF_XYZ|5|3|DEF 236 -|XULADS|1|2|XU 226 +(% style="width:742.294px" %) 227 +|(% style="width:191px" %)**Input String**|(% style="width:154px" %)**Start**|(% style="width:211px" %)**Length**|(% style="width:182px" %)**Output** 228 +|(% style="width:191px" %)ABC_DEF_XYZ|(% style="width:154px" %)5|(% style="width:211px" %)3|(% style="width:182px" %)DEF 229 +|(% style="width:191px" %)XULADS|(% style="width:154px" %)1|(% style="width:211px" %)2|(% style="width:182px" %)XU 237 237 238 238 Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' map to Y// as shown in the following example: 239 239 240 -|Start|Length|Source|Target 241 -|1|2|XU|Y 233 +(% style="width:740.294px" %) 234 +|(% style="width:194px" %)**Start**|(% style="width:151px" %)**Length**|(% style="width:208px" %)**Source**|(% style="width:183px" %)**Target** 235 +|(% style="width:194px" %)1|(% style="width:151px" %)2|(% style="width:208px" %)XU|(% style="width:183px" %)Y 242 242 243 243 == 13.7 Mapping non-SDMX time formats to SDMX formats == 244 244 ... ... @@ -250,15 +250,16 @@ 250 250 251 251 The output of a time-based mapping is derived from the output Frequency, which is either explicitly stated in the mapping or defined as the value output by a specific Dimension or Attribute in the output mapping. If the output frequency is unknown or if the SDMX format is not desired, then additional rules can be provided to specify the output date format for the given frequency Id. The default rules are: 252 252 253 -|Frequency|Format|Example 254 -|A|YYYY|2010 255 -|D|YYYY-MM-DD|2010-01-01 256 -|I|YYYY-MM-DDThh:mm:ss|2010-01T20:22:00 257 -|M|YYYY-MM|2010-01 258 -|Q|YYYY-Qn|2010-Q1 259 -|S|YYYY-Sn|2010-S1 260 -|T|YYYY-Tn|2010-T1 261 -|W|YYYY-Wn|YYYY-W53 247 +(% style="width:771.294px" %) 248 +|(% style="width:187px" %)**Frequency**|(% style="width:159px" %)**Format**|(% style="width:422px" %)**Example** 249 +|(% style="width:187px" %)A|(% style="width:159px" %)YYYY|(% style="width:422px" %)2010 250 +|(% style="width:187px" %)D|(% style="width:159px" %)YYYY-MM-DD|(% style="width:422px" %)2010-01-01 251 +|(% style="width:187px" %)I|(% style="width:159px" %)YYYY-MM-DDThh:mm:ss|(% style="width:422px" %)2010-01T20:22:00 252 +|(% style="width:187px" %)M|(% style="width:159px" %)YYYY-MM|(% style="width:422px" %)2010-01 253 +|(% style="width:187px" %)Q|(% style="width:159px" %)YYYY-Qn|(% style="width:422px" %)2010-Q1 254 +|(% style="width:187px" %)S|(% style="width:159px" %)YYYY-Sn|(% style="width:422px" %)2010-S1 255 +|(% style="width:187px" %)T|(% style="width:159px" %)YYYY-Tn|(% style="width:422px" %)2010-T1 256 +|(% style="width:187px" %)W|(% style="width:159px" %)YYYY-Wn|(% style="width:422px" %)YYYY-W53 262 262 263 263 In the case where the input frequency is lower than the output frequency, the mapping defaults to end of period, but can be explicitly set to start, end or mid-period. 264 264 ... ... @@ -271,36 +271,35 @@ 271 271 272 272 Date and time formats are specified by date and time pattern strings based on Java's Simple Date Format. Within date and time pattern strings, unquoted letters from 'A' to 'Z' and from 'a' to 'z' are interpreted as pattern letters representing the components of a date or time string. Text can be quoted using single quotes (') to avoid interpretation. "''" represents a single quote. All other characters are not interpreted; they're simply copied into the output string during formatting or matched against the input string during parsing. 273 273 274 -Due to the fact that dates may differ per locale, an optional property, defining the locale of the pattern, is provided. This would assist processing of source dates, according to the given locale ^^[[(% class="wikiinternallink wikiinternallinkwikiinternallink"%)^^44^^>>path:#sdfootnote44sym||name="sdfootnote44anc"]](%%)^^. An indicative list of examples is presented in the following table:269 +Due to the fact that dates may differ per locale, an optional property, defining the locale of the pattern, is provided. This would assist processing of source dates, according to the given locale{{footnote}}Unidimensional datasets are those with a single 'indicator' or 'series code' dimension.{{/footnote}}. An indicative list of examples is presented in the following table: 275 275 276 -|English (en)|Australia (AU)|en-AU 277 -|English (en)|Canada (CA)|en-CA 278 -|English (en)|United Kingdom (GB)|en-GB 279 -|English (en)|United States (US)|en-US 280 -|Estonian (et)|Estonia (EE)|et-EE 281 -|Finnish (fi)|Finland (FI)|fi-FI 282 -|French (fr)|Belgium (BE)|fr-BE 283 -|French (fr)|Canada (CA)|fr-CA 284 -|French (fr)|France (FR)|fr-FR 285 -|French (fr)|Luxembourg (LU)|fr-LU 286 -|French (fr)|Switzerland (CH)|fr-CH 287 -|German (de)|Austria (AT)|de-AT 288 -|German (de)|Germany (DE)|de-DE 271 +(% style="width:772.294px" %) 272 +|(% style="width:190px" %)English (en)|(% style="width:230px" %)Australia (AU)|(% style="width:348px" %)en-AU 273 +|(% style="width:190px" %)English (en)|(% style="width:230px" %)Canada (CA)|(% style="width:348px" %)en-CA 274 +|(% style="width:190px" %)English (en)|(% style="width:230px" %)United Kingdom (GB)|(% style="width:348px" %)en-GB 275 +|(% style="width:190px" %)English (en)|(% style="width:230px" %)United States (US)|(% style="width:348px" %)en-US 276 +|(% style="width:190px" %)Estonian (et)|(% style="width:230px" %)Estonia (EE)|(% style="width:348px" %)et-EE 277 +|(% style="width:190px" %)Finnish (fi)|(% style="width:230px" %)Finland (FI)|(% style="width:348px" %)fi-FI 278 +|(% style="width:190px" %)French (fr)|(% style="width:230px" %)Belgium (BE)|(% style="width:348px" %)fr-BE 279 +|(% style="width:190px" %)French (fr)|(% style="width:230px" %)Canada (CA)|(% style="width:348px" %)fr-CA 280 +|(% style="width:190px" %)French (fr)|(% style="width:230px" %)France (FR)|(% style="width:348px" %)fr-FR 281 +|(% style="width:190px" %)French (fr)|(% style="width:230px" %)Luxembourg (LU)|(% style="width:348px" %)fr-LU 282 +|(% style="width:190px" %)French (fr)|(% style="width:230px" %)Switzerland (CH)|(% style="width:348px" %)fr-CH 283 +|(% style="width:190px" %)German (de)|(% style="width:230px" %)Austria (AT)|(% style="width:348px" %)de-AT 284 +|(% style="width:190px" %)German (de)|(% style="width:230px" %)Germany (DE)|(% style="width:348px" %)de-DE 289 289 290 -[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_59eee18f.gif||alt="Shape8" height="1" width="192"]] 286 +|(% style="width:190px" %)German (de)|(% style="width:234px" %)Luxembourg (LU)|(% style="width:1514px" %)de-LU 287 +|(% style="width:190px" %)German (de)|(% style="width:234px" %)Switzerland (CH)|(% style="width:1514px" %)de-CH 288 +|(% style="width:190px" %)Greek (el)|(% style="width:234px" %)Cyprus (CY)|(% style="width:1514px" %)el-CY__([[*>>https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]])__ 289 +|(% style="width:190px" %)Greek (el)|(% style="width:234px" %)Greece (GR)|(% style="width:1514px" %)el-GR 290 +|(% style="width:190px" %)Hebrew (iw)|(% style="width:234px" %)Israel (IL)|(% style="width:1514px" %)iw-IL 291 +|(% style="width:190px" %)Hindi (hi)|(% style="width:234px" %)India (IN)|(% style="width:1514px" %)hi-IN 292 +|(% style="width:190px" %)Hungarian (hu)|(% style="width:234px" %)Hungary (HU)|(% style="width:1514px" %)hu-HU 293 +|(% style="width:190px" %)Icelandic (is)|(% style="width:234px" %)Iceland (IS)|(% style="width:1514px" %)is-IS 294 +|(% style="width:190px" %)Indonesian (in)|(% style="width:234px" %)Indonesia (ID)|(% style="width:1514px" %)in-ID[[__(*)__>>url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]][[url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]] 295 +|(% style="width:190px" %)Irish (ga)|(% style="width:234px" %)Ireland (IE)|(% style="width:1514px" %)ga-IE[[__(*)__>>url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]][[url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]] 296 +|(% style="width:190px" %)Italian (it)|(% style="width:234px" %)Italy (IT)|(% style="width:1514px" %)it-IT 291 291 292 -|German (de)|Luxembourg (LU)|de-LU 293 -|German (de)|Switzerland (CH)|de-CH 294 -|Greek (el)|Cyprus (CY)|el-CY[[__(*)__>>url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]][[url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]] 295 -|Greek (el)|Greece (GR)|el-GR 296 -|Hebrew (iw)|Israel (IL)|iw-IL 297 -|Hindi (hi)|India (IN)|hi-IN 298 -|Hungarian (hu)|Hungary (HU)|hu-HU 299 -|Icelandic (is)|Iceland (IS)|is-IS 300 -|Indonesian (in)|Indonesia (ID)|in-ID[[__(*)__>>url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]][[url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]] 301 -|Irish (ga)|Ireland (IE)|ga-IE[[__(*)__>>url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]][[url:https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html#cldrlocale]] 302 -|Italian (it)|Italy (IT)|it-IT 303 - 304 304 Examples 305 305 306 306 22/06/1981 would be described as dd/MM/YYYY, with locale en-GB ... ... @@ -317,7 +317,7 @@ 317 317 318 318 |Letter|Date or Time Component|Presentation|Examples 319 319 |G|Era designator|[[Text>>url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#text]][[url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#text]]|AD 320 -|yy|Year short (upper case is Year of Week^^[[(% class="wikiinternallink wikiinternallink wikiinternallink" %)^^45^^>>path:#sdfootnote45sym||name="sdfootnote45anc"]](%%)^^)|[[Year>>url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#year]][[url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#year]]|96 314 +|yy|Year short (upper case is Year of Week^^[[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^45^^>>path:#sdfootnote45sym||name="sdfootnote45anc"]](%%)^^)|[[Year>>url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#year]][[url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#year]]|96 321 321 |yyyy|Year Full (upper case is Year of Week)|Year|1996 322 322 |MM|Month number in year starting with 1|Month|07 323 323 |MMM|Month name short|Month|Jul