Changes for page 16 Annex 6: Worked Use Case
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 - Methodology.SDMX 2\.1 User Guide.WebHome1 +WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. arturkryazhev1 +xwiki:XWiki.helena - Content
-
... ... @@ -4,37 +4,35 @@ 4 4 5 5 == 16.1 Scope == 6 6 7 -The scope of this Chapter is to show the SDMX-ML interactions with the Registry, database, and metadata repository for the use case scenario outlined in Chapter 3. The scenario is repeated below. 7 +The scope of this Chapter is to show the [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] interactions with the Registry, database, and [[metadata repository>>doc:sdmx:Glossary.Metadata repository.WebHome]] for the use case scenario outlined in Chapter 3. The scenario is repeated below. 8 8 9 -The SDMX-ML examples used are version 2.1. 9 +The [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] examples used are (% style="color:#e74c3c" %)version(%%) 2.1. 10 10 11 11 == 16.2 Scenario == 12 12 13 -This scenario is the dissemination of data and related reference metadata using SDMX web services. It shows how the data, reference metadata, and structural metadata are used to build a web dissemination system. 13 +This scenario is the dissemination of data and related [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] using [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] web services. It shows how the data, [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]], and [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] are used to build a web dissemination system. 14 14 15 -(% style="text-align: center;" %) 16 16 [[image:image-20250318221512-1.jpeg||data-xwiki-image-style-alignment="center"]] 17 17 18 18 (% style="text-align: center;" %) 19 -**{{id name="image_47"/}}Figure 47: Process flow of an SDMX Web Data Dissemination System** 18 +**{{id name="image_47"/}}Figure 47: Process flow of an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Web Data Dissemination System** 20 20 21 21 (% style="width:753.446px" %) 22 22 |**Process**|(% style="width:670px" %)**Description** 23 -|1|(% style="width:670px" %)Retrieve the DSD from a structural metadata source (e.g. an SDMX Registry), and create database tables. 24 -|2|(% style="width:670px" %)Read an SDMX data set file and load the data into the database 25 -|3|(% style="width:670px" %)Data discovery system continually synchronises its metadata with the structural metadata source. A user makes a data selection from choices built from the information held in an SDMX Registry (structural metadata such as category scheme, dataflow, DSD, data provider, provision agreements and data registration) 26 -|3|(% style="width:670px" %)These choices are logical choices, built from the dimension selections. 27 -|5|(% style="width:670px" %)The logical choice is formatted as an SDMX data query. This is passed to the Data Base which responds with an SDMX data set. 28 -|6|(% style="width:670px" %)Reference metadata relevant to the data returned is retrieved from a metadata repository. 29 -|7|(% style="width:670px" %)The data and metadata are passed to a visualization tool to display the data in tables, charts, graphs, maps etc. Often a download is offered in various formats. The download options often include also the DSD or MSD. 22 +|1|(% style="width:670px" %)Retrieve the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] from a [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] source (e.g. an [[SDMX Registry>>doc:sdmx:Glossary.SDMX Registry.WebHome]]), and create database tables. 23 +|2|(% style="width:670px" %)Read an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[data set>>doc:sdmx:Glossary.Data set.WebHome]] file and load the data into the database 24 +|3|(% style="width:670px" %)Data discovery system continually synchronises its metadata with the [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] source. A user makes a data selection from choices built from the information held in an [[SDMX Registry>>doc:sdmx:Glossary.SDMX Registry.WebHome]] ([[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] such as [[category scheme>>doc:sdmx:Glossary.Category scheme.WebHome]], [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], [[data provider>>doc:sdmx:Glossary.Data provider.WebHome]], [[provision agreements>>doc:sdmx:Glossary.Provision agreement.WebHome]] and data registration) 25 +|3|(% style="width:670px" %)These choices are logical choices, built from the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] selections. 26 +|5|(% style="width:670px" %)The logical choice is formatted as an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] data query. This is passed to the Data Base which responds with an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[data set>>doc:sdmx:Glossary.Data set.WebHome]]. 27 +|6|(% style="width:670px" %)[[Reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] relevant to the data returned is retrieved from a [[metadata repository>>doc:sdmx:Glossary.Metadata repository.WebHome]]. 28 +|7|(% style="width:670px" %)The data and metadata are passed to a visualization tool to display the data in tables, charts, graphs, (% style="color:#e74c3c" %)maps(%%) etc. Often a download is offered in various formats. The download options often include also the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] or MSD. 30 30 31 31 == 16.3 Structural Metadata == 32 32 33 33 === 16.3.1 Schematic === 34 34 35 -The following structural metadata and provisioning metadata is used in the scenario. 34 +The following [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] and provisioning metadata is used in the scenario. 36 36 37 -(% style="text-align: center;" %) 38 38 [[image:image-20250318221512-2.jpeg||data-xwiki-image-style-alignment="center"]] 39 39 40 40 (% style="text-align: center;" %) ... ... @@ -42,24 +42,28 @@ 42 42 43 43 === 16.3.2 Data Structure Definition === 44 44 45 -For the reasons of clarity a sub set of the contents of the Code Lists and Concept Schemes are used in this example, and only a few of the DSD Attributes are used. 43 +For the reasons of clarity a sub set of the contents of the [[Code Lists>>doc:sdmx:Glossary.Code list.WebHome]] and [[Concept Schemes>>doc:sdmx:Glossary.Concept scheme.WebHome]] are used in this example, and only a few of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are used. 46 46 47 -===== **Dimensions** ===== 45 +(% class="wikigeneratedid" id="HDimensions" %) 46 +**Dimensions** 48 48 49 49 (% style="text-align: center;" %) 50 50 [[image:image-20250318221512-3.jpeg]]** ** 51 51 52 -===== **Attributes** ===== 51 +(% class="wikigeneratedid" id="HAttributes" %) 52 +**Attributes** 53 53 54 54 (% style="text-align: center;" %) 55 55 [[image:image-20250318221512-4.jpeg]]** ** 56 56 57 -===== **Group** ===== 57 +(% class="wikigeneratedid" id="HGroup" %) 58 +**Group** 58 58 59 59 (% style="text-align: center;" %) 60 60 [[image:image-20250318221512-5.jpeg]]** ** 61 61 62 -===== **Primary Measure** ===== 63 +(% class="wikigeneratedid" id="HPrimaryMeasure" %) 64 +**Primary Measure** 63 63 64 64 (% style="text-align: center;" %) 65 65 [[image:image-20250318221512-6.jpeg]]** ** ... ... @@ -68,28 +68,29 @@ 68 68 69 69 === 16.4.1 Create Data Base === 70 70 71 -(% style="text-align: center;" %) 72 72 [[image:image-20250318221512-7.jpeg||data-xwiki-image-style-alignment="center"]] 73 73 74 74 (% style="text-align: center;" %) 75 75 **{{id name="image_49"/}}Figure 49: User Case - Create Database Tables from DSD** 76 76 77 -The following SDMX-ML is extracted from the Registry using the REST query http:~/~/[ ws-entry-point]/DataStructure_ECB/ECB_EXR1 78 +The following [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] is extracted from the Registry using the REST query http:~/~/[ ws-entry-point]/DataStructure_ECB/ECB_EXR1 78 78 79 -===== Dimensions ===== 80 +(% class="wikigeneratedid" id="HDimensions" %) 81 +**Dimensions** 80 80 81 -(% style="text-align: center;" %) 82 82 [[image:image-20250318221512-8.jpeg||data-xwiki-image-style-alignment="center"]] 83 83 84 84 Note that for brevity only the XML of the FREQ and TIME_PERIOD are shown in full. 85 85 86 -===== **Notes** ===== 87 +(% class="wikigeneratedid" id="HNotes" %) 88 +**Notes** 87 87 88 -1. A Dimension can state its position in the key, but the actual sequence is defined by the sequence in the <DimensionList> i.e. the inferred sequence in the<DimensionList>takes precedence over the value of the position attribute.89 -1. This DSD is converted from version 2.0. The version 2.0 Concepts were standalone in the form <Concept agencyID=”ECB” version=”1.0”/> 90 -1. The standalone concept is not supported in 2.1 and any standalone concept is placed in a Concept Scheme with the Id “STANDALONE_CONCEPT_SCHEME” of the version corresponding to the version of the original standalone concept. 90 +1. A [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] can state its position in the key, but the actual sequence is defined by the sequence in the i.e. the inferred sequence in the takes precedence over the value of the position attribute. 91 +1. This [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] is converted from (% style="color:#e74c3c" %)version(%%) 2.0. The (% style="color:#e74c3c" %)version(%%) 2.0 (% style="color:#e74c3c" %)Concepts(%%) were standalone in the form <Concept agencyID=”ECB” version=”1.0”/> 92 +1. The standalone (% style="color:#e74c3c" %)concept(%%) is not supported in 2.1 and any standalone (% style="color:#e74c3c" %)concept(%%) is placed in a [[Concept Scheme>>doc:sdmx:Glossary.Concept scheme.WebHome]] with the Id “STANDALONE_CONCEPT_SCHEME” of the (% style="color:#e74c3c" %)version(%%) corresponding to the (% style="color:#e74c3c" %)version(%%) of the original standalone (% style="color:#e74c3c" %)concept(%%). 91 91 92 -===== **Group** ===== 94 +(% class="wikigeneratedid" id="HGroup-1" %) 95 +**Group** 93 93 94 94 (% style="text-align: center;" %) 95 95 [[image:image-20250318221512-9.jpeg]]** ** ... ... @@ -99,17 +99,17 @@ 99 99 1. A Group in version 2.1 plays the same role as it does in version 2.0 except that it does not group Series in the data set. The Group in version 2.1 is used solely as a mechanism to attach Attributes in the data set. 100 100 1. The Group in version 2.1 is retained for compatibility with version 2.0 and for avoiding repetition in the new Attribute Relationship construct which is introduced in version 2.1. 101 101 102 -===== Attributes ===== 105 +(% class="wikigeneratedid" id="HAttributes" %) 106 +**Attributes** 103 103 104 -(% style="text-align: center;" %) 105 105 [[image:image-20250318221512-10.jpeg||data-xwiki-image-style-alignment="center"]] 106 106 107 -(% style="text-align: center;" %) 108 108 [[image:image-20250318221512-11.jpeg||data-xwiki-image-style-alignment="center"]] 109 109 110 110 Note that for brevity only the XML of the DECIMALS (relationship to a group) COLLECTION (relationship to a set of Dimensions) and OBS_CONF (relationship to the Primary Measure) are shown in full. 111 111 112 -===== **Notes** ===== 114 +(% class="wikigeneratedid" id="HNotes-1" %) 115 +**Notes** 113 113 114 114 1. The Attribute has a relationship to either a data set of one or more Dimensions as described in Chapter 4. 115 115 1. DECIMALS has a relationship to a Group with the Id of Group. ... ... @@ -116,22 +116,23 @@ 116 116 1. COLLECTION has a relationship to a set of Dimensions – in this case this is, in reality, the series key as this has been converted from version 2.0. It is possible for an attribute to have a relationship with just one, a few, or all of the Dimensions. 117 117 1. OBS_CONF has a relationship with the Primary Measure. 118 118 119 -===== **Measure** ===== 122 +(% class="wikigeneratedid" id="HMeasure" %) 123 +**Measure** 120 120 121 -(% style="text-align: center;" %) 122 122 [[image:image-20250318221512-12.jpeg||data-xwiki-image-style-alignment="center"]] 123 123 124 124 A typical database schema that can be set up using this DSD is shown below. 125 125 126 -===== **Series Key Table** ===== 129 +(% class="wikigeneratedid" id="HSeriesKeyTable" %) 130 +**Series Key Table** 127 127 128 -(% style="text-align: center;" %) 129 129 [[image:image-20250318221902-34.png||data-xwiki-image-style-alignment="center"]] 130 130 131 131 (% style="text-align: center;" %) 132 132 **{{id name="image_50"/}}Figure 50: Relational Table Structure created from a DSD Dimensions and Related Attributes** 133 133 134 -===== **Group “Group” Table** ===== 137 +(% class="wikigeneratedid" id="HGroup201CGroup201DTable" %) 138 +**Group “Group” Table** 135 135 136 136 (% style="text-align: center;" %) 137 137 [[image:image-20250318221512-13.jpeg]]** ** ... ... @@ -139,9 +139,9 @@ 139 139 (% style="text-align: center;" %) 140 140 **{{id name="image_51"/}}Figure 51: Relational Table Structure created from a DSD Group and Related Attributes** 141 141 142 -===== **Observation** ===== 146 +(% class="wikigeneratedid" id="HObservation" %) 147 +**Observation** 143 143 144 -(% style="text-align: center;" %) 145 145 [[image:image-20250318221512-14.jpeg||data-xwiki-image-style-alignment="center"]] 146 146 147 147 (% style="text-align: center;" %) ... ... @@ -149,7 +149,6 @@ 149 149 150 150 === 16.4.2 Load Database === 151 151 152 -(% style="text-align: center;" %) 153 153 [[image:image-20250318221512-15.jpeg||data-xwiki-image-style-alignment="center"]] 154 154 155 155 (% style="text-align: center;" %) ... ... @@ -157,15 +157,14 @@ 157 157 158 158 The following is an extract from the SDMX dataset. 159 159 160 -(% style="text-align: center;" %) 161 161 [[image:image-20250319123255-1.png||data-xwiki-image-style-alignment="center"]] 162 162 163 -(% style="text-align: center;" %) 164 164 [[image:image-20250319123339-2.png||data-xwiki-image-style-alignment="center"]] 165 165 166 166 Note that this is a sub set of the actual data message. 167 167 168 -===== **Notes** ===== 169 +(% class="wikigeneratedid" id="HNotes-2" %) 170 +**Notes** 169 169 170 170 1. The reference to the DSD is given in the message header and given a local structureId 171 171 1. The local structureId (DSD) is referenced from the DataSet ... ... @@ -175,17 +175,18 @@ 175 175 176 176 The diagrams below show the database content based on the schema created. 177 177 178 -===== **Series Key Table** ===== 180 +(% class="wikigeneratedid" id="HSeriesKeyTable-1" %) 181 +**Series Key Table** 179 179 180 -(% style="text-align: center;" %) 181 181 [[image:image-20250318221512-16.jpeg||data-xwiki-image-style-alignment="center"]] 182 182 183 -===== **Group Table** ===== 185 +(% class="wikigeneratedid" id="HGroupTable" %) 186 +**Group Table** 184 184 185 -(% style="text-align: center;" %) 186 186 [[image:image-20250318221512-17.jpeg||data-xwiki-image-style-alignment="center"]] 187 187 188 -===== **Observation Table** ===== 190 +(% class="wikigeneratedid" id="HObservationTable" %) 191 +**Observation Table** 189 189 190 190 (% style="text-align: center;" %) 191 191 [[image:image-20250318221512-18.jpeg]]** ** ... ... @@ -196,7 +196,6 @@ 196 196 197 197 The following registration is submitted to the Registry. 198 198 199 -(% style="text-align: center;" %) 200 200 [[image:image-20250318221512-19.jpeg||data-xwiki-image-style-alignment="center"]] 201 201 202 202 The SDMX web service of the database can now be searched for in the Registry. ... ... @@ -203,7 +203,6 @@ 203 203 204 204 === 16.4.4 Retrieve and Visualise Category Scheme and Dataflows === 205 205 206 -(% style="text-align: center;" %) 207 207 [[image:image-20250318221512-20.jpeg||data-xwiki-image-style-alignment="center"]] 208 208 209 209 (% style="text-align: center;" %) ... ... @@ -213,10 +213,8 @@ 213 213 214 214 [[http:~~/~~/ ~[ws-entry-point~]/categoryscheme/ECB/SDW_ECONOMIC_CONCEPTS/1.0?references=parents>>http:// [ws-entry-point]/categoryscheme/ECB/SDW_ECONOMIC_CONCEPTS/1.0?references=parents||rel="noopener noreferrer" target="_blank"]] 215 215 216 -(% style="text-align: center;" %) 217 217 [[image:image-20250318221512-21.jpeg||data-xwiki-image-style-alignment="center"]] 218 218 219 -(% style="text-align: center;" %) 220 220 [[image:image-20250318221512-22.jpeg||data-xwiki-image-style-alignment="center"]] 221 221 222 222 The application will now retrieve the Dataflows in the list of Categorisations – in this case there is only one – effective exchange rates. ... ... @@ -225,7 +225,6 @@ 225 225 226 226 [[http:~~/~~/ ~[ws-entry-point~]/dataflow/ECB/2034482/1.0>>http:// [ws-entry-point]/dataflow/ECB/2034482/1.0||rel="noopener noreferrer" target="_blank"]] 227 227 228 -(% style="text-align: center;" %) 229 229 [[image:image-20250318221512-23.jpeg||data-xwiki-image-style-alignment="center"]] 230 230 231 231 The actual choreography of the query application is dependent upon the implementation but the following is assumed for this example. ... ... @@ -238,10 +238,10 @@ 238 238 239 239 [[http:~~/~~/~[ws-entry-point~]/dataflow/ECB/2034482/1.0?references=provisionagreement>>http://[ws-entry-point]/dataflow/ECB/2034482/1.0?references=provisionagreement||rel="noopener noreferrer" target="_blank"]] 240 240 241 -(% style="text-align: center;" %) 242 242 [[image:image-20250318221512-24.jpeg||data-xwiki-image-style-alignment="center"]] 243 243 244 -===== **Notes** ===== 241 +(% class="wikigeneratedid" id="HNotes-3" %) 242 +**Notes** 245 245 246 246 ~1. The <URN> contains the same identification information as the individual attributes in the <Ref> tag in the context of the <Dataflow> and <Structure> tags (the <Dataflow> identifies that the <Structure> is a DataStructure). 247 247 ... ... @@ -249,23 +249,21 @@ 249 249 250 250 [[http:~~/~~/~[ws-entry-point~]/dataprovider/ECB>>http://[ws-entry-point]/dataprovider/ECB||rel="noopener noreferrer" target="_blank"]] 251 251 252 -===== **Notes** ===== 250 +(% class="wikigeneratedid" id="HNotes-4" %) 251 +**Notes** 253 253 254 254 ~1. As an Agency can have only one Data Provider Scheme and this has a mandatory Id of DATA_PROVIDER_SCHEME and must be version 1.0 there is no need to specify any other parameters to the REST query. 255 255 256 256 This returns the following as part of the Data Provider Scheme. 257 257 258 -(% style="text-align: center;" %) 259 259 [[image:image-20250318221512-25.jpeg||data-xwiki-image-style-alignment="center"]] 260 260 261 261 The following Registry query will return the REST data source referenced in a Registration for the Provision Agreement 262 262 263 -(% style="text-align: center;" %) 264 264 [[image:image-20250318221512-26.jpeg||data-xwiki-image-style-alignment="center"]] 265 265 266 266 The response from this query is: 267 267 268 -(% style="text-align: center;" %) 269 269 [[image:image-20250318221512-27.jpeg||data-xwiki-image-style-alignment="center"]] 270 270 271 271 The query application now has the details of the web service to call when making a query, and it also knows that the query expected uses the REST interface. ... ... @@ -276,7 +276,6 @@ 276 276 277 277 The application can now visualize the information it has retrieved from the Registry in a way that is meaningful to the user. An example visualization is shown below. 278 278 279 -(% style="text-align: center;" %) 280 280 [[image:image-20250318221512-28.jpeg||data-xwiki-image-style-alignment="center"]] 281 281 282 282 (% style="text-align: center;" %) ... ... @@ -286,12 +286,10 @@ 286 286 287 287 === 16.4.5 Build Dimension Selection and Logical Query === 288 288 289 -(% style="text-align: center;" %) 290 290 [[image:image-20250318221512-29.jpeg||data-xwiki-image-style-alignment="center"]] 291 291 292 292 Clicking on the Dataflow will cause the query application to query the Registry for the DSD associated to the Dataflow. The Dimensions and the relevant codes associated with the Dimensions are then shown for detailed data selections. 293 293 294 -(% style="text-align: center;" %) 295 295 [[image:image-20250318221512-30.jpeg||data-xwiki-image-style-alignment="center"]] 296 296 297 297 (% style="text-align: center;" %) ... ... @@ -301,12 +301,12 @@ 301 301 302 302 === 16.4.6 Query Database === 303 303 304 -(% style="text-align: center;" %) 305 305 [[image:image-20250318221512-31.jpeg||data-xwiki-image-style-alignment="center"]] 306 306 307 307 The logical query of the user is converted to an SDMX query and sent to the Data Web Service of the data publisher. The Data Web Service may also query the Metadata Repository in order to return both data and related metadata to the user application. The Data Web Service may also require structural metadata (DSD and MSD and related Code Lists and Concepts) from the structural metadata repository, in this example this an SDMX Registry. 308 308 309 -===== **Data Query Logical Selections** ===== 301 +(% class="wikigeneratedid" id="HDataQueryLogicalSelections" %) 302 +**Data Query Logical Selections** 310 310 311 311 (% style="width:551.446px" %) 312 312 |(% style="width:261px" %)**Dimension**|(% style="width:286px" %)**Values** ... ... @@ -317,18 +317,17 @@ 317 317 |(% style="width:261px" %)EXR_SUFFIX|(% style="width:286px" %)A 318 318 |(% style="width:261px" %)Time|(% style="width:286px" %)Jan 2008-Dec 2010 319 319 320 -===== **REST Query** ===== 313 +(% class="wikigeneratedid" id="HRESTQuery" %) 314 +**REST Query** 321 321 322 322 [[http:~~/~~/ws-entry-point/data/2034482/M.Z26+Z28.EUR+CZK+DKK.DFC0+EN00+A /ECB?startPeriod=2008-01&endPeriod=2010-12&detail=dataonly>>http://ws-entry-point/data/2034482/M.Z26+Z28.EUR+CZK+DKK.DFC0+EN00+A /ECB?startPeriod=2008-01&endPeriod=2010-12&detail=dataonly||rel="noopener noreferrer" target="_blank"]] 323 323 324 324 === 16.4.7 Visualise the Resultant Data Set === 325 325 326 -(% style="text-align: center;" %) 327 327 [[image:image-20250318221512-32.jpeg||data-xwiki-image-style-alignment="center" height="310" width="346"]] 328 328 329 329 The returned data and metadata can be presented to the user in many ways – tables, graphs, charts, maps etc. SDMX does not support visualization directly but it is possible to define roles for a Dimension and Attribute in the DSD. For instance, it is possible to assign a role of “Geography” or “Title” or “Measure Unit” etc. which will aid a data visualization service to present this information in a meaningful way to the user. 330 330 331 -(% style="text-align: center;" %) 332 332 [[image:image-20250318221512-33.jpeg||data-xwiki-image-style-alignment="center"]] 333 333 334 334 (% style="text-align: center;" %)