Changes for page Guidelines for SDMX Data Structure Definitions
Last modified by Artur K. on 2026/05/29 14:28
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -128,9 +128,9 @@ 128 128 129 129 === 2.3.4 Density and sparseness === 130 130 131 -The //density// of a DSD is closely related to its simplicity whereas //sparseness// often comes along with purity. For a dense DSD, a data flow provides data for all (or the large majority of) cells defined by the Cartesian product [[(%class="wikiinternallinkwikiinternallinkwikiinternallink"%)^^~[2~]^^>>path:#_ftn2]](%%)of the DSD dimensions. This is typically the case for simple DSDs. For pure DSDs with many dimensions, it is usually not feasible to share data 338 for the entire data space created by the combination of all dimensions.131 +The //density// of a DSD is closely related to its simplicity whereas //sparseness// often comes along with purity. For a dense DSD, a data flow provides data for all (or the large majority of) cells defined by the Cartesian product{{footnote}}A Cartesian product (or product set) is a mathematical construct that builds a new set out of a number of given sets. Each member of the Cartesian product corresponds to the selection of one element each in every one of the original sets.{{/footnote}} of the DSD dimensions. This is typically the case for simple DSDs. For pure DSDs with many dimensions, it is usually not feasible to share data 338 for the entire data space created by the combination of all dimensions. 132 132 133 -For example, a breakdown by “Institutional Sector” or “Gender” may only make sense for a subset of the “Indicators” provided. The sparseness may be measured in terms of the number of dimensions requiring a “not applicable” value or the number of observations that take at least one “not applicable” or “total” value (both as shares of the total number of dimension or the total number of observations, respectively) [[(%class="wikiinternallinkwikiinternallink wikiinternallink"%)^^~[3~]^^>>path:#_ftn3]](%%). An even more precise measure of sparseness is the proportion of theoretically possible key combinations that are irrelevant or not feasible or do not carry data.133 +For example, a breakdown by “Institutional Sector” or “Gender” may only make sense for a subset of the “Indicators” provided. The sparseness may be measured in terms of the number of dimensions requiring a “not applicable” value or the number of observations that take at least one “not applicable” or “total” value (both as shares of the total number of dimension or the total number of observations, respectively){{footnote}}In case a structure map is used to define reduced versions of the DSD, the number of unmapped dimensions is the equivalent measure of sparseness.{{/footnote}}. An even more precise measure of sparseness is the proportion of theoretically possible key combinations that are irrelevant or not feasible or do not carry data. 134 134 135 135 === 2.3.5 Unambiguousness === 136 136 ... ... @@ -138,6 +138,8 @@ 138 138 139 139 **Table 1. Unambiguousness example – dimensions** 140 140 141 +[[image:1768469016538-287.png]] 142 + 141 141 How would an observation of “Gross domestic product, volume, US dollars, reference year = 2005, millions” for the United States be represented with these dimensions? Table 2 provides three different possible representations (there may be even more). 142 142 143 143 **Table 2. Unambiguousness example – ambiguous representations** ... ... @@ -189,7 +189,7 @@ 189 189 190 190 The global BOP DSD that is currently being developed may serve as a more specific example for a multi-purpose DSD. It is supposed to support, amongst others, exchange of the ECB's Balance of Payments (BOP) and International Reserves Template (IRT) data, Eurostat's International Investment Position (IIP) and Trade in Services (TS) data, the OECD's BOP data, and the IMF's Coordinated Portfolio Investment (CPIS) and Coordinated Direct Investment (CDIS) data. 191 191 192 -Table 3 below shows some of the concepts considered relevant for some or all of these related data exchange exercises. [[(%class="wikiinternallinkwikiinternallinkwikiinternallink"%)^^~[4~]^^>>path:#_ftn4]](%%)Reporting Country and Unit of Measure are required by all data exchanges; the other concepts listed are only necessary (marked by an “X”) for a subset of the data exchanges. For instance, Eurostat's TS and IMF’s CDIS data do not require the distinction of flows and stocks, different maturities, or valuations (indicated by an “O”). Still, there is value in defining one master DSD that covers all concepts required for all of the data exchanges.194 +Table 3 below shows some of the concepts considered relevant for some or all of these related data exchange exercises.{{footnote}}Please note that the example is taken from the development status of the BOP DSD at the time of writing this document. The concepts and their relevance for certain data exchanges (represented as data flows or derived DSDs) may be different in the final version of the DSD.{{/footnote}} Reporting Country and Unit of Measure are required by all data exchanges; the other concepts listed are only necessary (marked by an “X”) for a subset of the data exchanges. For instance, Eurostat's TS and IMF’s CDIS data do not require the distinction of flows and stocks, different maturities, or valuations (indicated by an “O”). Still, there is value in defining one master DSD that covers all concepts required for all of the data exchanges. 193 193 194 194 If that approach is pursued, satellite DSDs for the individual purposes (or exchange exercises) can be created via constraints (and/or structure maps). Each exchange exercise may also be represented as a data flow (the constraints may also be defined in the data flow instead of the DSD). So there would be one data flow defined for each column in the table below. For instance, the IMF CPIS data flow would restrict “Flows and stocks indicator” and “Valuation” to certain values from the respective code lists. Data provision agreements may then be set up for each data flow with each reporting country. Constraints can be used to restrict the contribution of each country to its own data, so “Reporting country” would be set to the respective value. If the constraints are defined in the data flow and/or structure maps are used to exclude irrelevant dimensions, the satellite DSDs do not materialize; they are “virtual” DSDs. 195 195 ... ... @@ -243,50 +243,32 @@ 243 243 244 244 The range of options between the “//just one//”// //(mixed) and “//all component//” subject-matter dimensions approaches is subject to the comprehensiveness (i.e. size, coverage) of the data exchange that the DSD is being developed for. If using a “mixed dimensions” approach, rules for the composition of the mixed dimension(s) may be specified (e.g. concatenate concepts A, B, and C to get mixed dimension X), allowing their easy re-decomposition. In general composite dimensions should be avoided as previously recommended by the SDMX Technical Notes, but there are cases that suggest the usage of composite dimensions. Table 4 juxtaposes general pros and cons of the “//many pure concepts//” and “//fewer composite concepts//” approaches. 245 245 246 -|**Many pure concepts**|**Few composite concepts** 247 -|cleaner data structure|((( 248 -Mixed dimensions may be composed inconsistently making the decomposition into purer concepts and code lists difficult 248 +**Table 4. General comparison of data structuring approaches** 249 249 250 -(requiring complex mapping etc.). Information that corresponds to the same concept may be included in different dimensions, e.g. reference year is contained in the indicator dimension in the first example but in the unit in the second example below. The optimal common data structure would consist of Economic Indicator, Unit, and Base period. 251 -))) 250 +|(% style="width:360px" %)**Many pure concepts**|(% style="width:1255px" %)**Few composite concepts** 251 +|(% style="width:360px" %)cleaner data structure|(% style="width:1255px" %)((( 252 +Mixed dimensions may be composed inconsistently making the decomposition into purer concepts and code lists difficult (requiring complex mapping etc.). Information that corresponds to the same concept may be included in different dimensions, e.g. reference year is contained in the indicator dimension in the first example but in the unit in the second example below. The optimal common data structure would consist of Economic Indicator, Unit, and Base period. 252 252 253 - **Table4.General comparison of datastructuring approaches**254 +[[image:1768469652632-803.png||height="106" width="352"]] 254 254 255 -|(% rowspan="3" %)((( 256 256 257 +))) 258 +|(% style="width:360px" %)shorter and simpler code lists|(% style="width:1255px" %)code lists longer and more complex, may require hierarchy to be “readable” 259 +|(% style="width:360px" %)more flexible in terms of defining constraints, but constraints more complex|(% style="width:1255px" %)simpler constraints, but some constraints may be difficult to be represented because of mixed dimensions. Consider for instance a constraint “Base period = 1995” in the above example, where some observations include the base period in the Economic Indicator dimension, others in the Unit dimension. Instead of specifying a constraint on a pure Base Period dimension, the constraints may have to be specified at observation (or time series) level 260 +|(% style="width:360px" %)more flexible in terms of mapping to other data structures (used by other systems), further processing and analysis (e.g. tabulation, dissemination format), and future needs|(% style="width:1255px" %)“mixed” dimensions make data structure less flexible in these respects 261 +|(% style="width:360px" %)longer (i.e. more complex) observation keys|(% style="width:1255px" %)shorter keys 262 +|(% style="width:360px" %)special values of code lists such as “not applicable”, “total” may be rather heavily used|(% style="width:1255px" %)less usage of these special values 263 +|(% style="width:360px" %)creates sparse data if many observations use “not applicable”|(% style="width:1255px" %)way to avoid sparseness 264 +|(% style="width:360px" %)many constraints may be necessary due to sparseness|(% style="width:1255px" %)typically fewer constraints required because data are less sparse 265 +|(% style="width:360px" %) |(% style="width:1255px" %) 266 +|(% style="width:360px" %) |(% style="width:1255px" %) 257 257 258 - 259 -)))|**Economic Indicator**|**Unit** 260 -|Industrial production (2000=100)|Index 261 -|GDP real|US Dollars at 2005 prices 262 262 263 -shorter and simpler code lists code lists longer and more complex, may 264 264 265 -require hierarchy to be “readable” 266 - 267 - 268 -**Many pure concepts Few composite concepts** 269 - 270 -more flexible in terms of defining constraints, simpler constraints, but some constraints may 271 - 272 -but constraints more complex be difficult to be represented because of mixed 273 - 274 -dimensions. Consider for instance a constraint “Base period = 1995” in the above example, where some observations include the base period in the Economic Indicator dimension, others in the Unit dimension. Instead of specifying a constraint on a pure Base Period dimension, the constraints may have to be specified at observation (or time series) level 275 - 276 -|more flexible in terms of mapping to other data structures (used by other systems), further processing and analysis (e.g. tabulation, dissemination format), and future needs|“mixed” dimensions make data structure less flexible in these respects 277 -|longer (i.e. more complex) observation keys|shorter keys 278 -|special values of code lists such as “not applicable”, “total” may be rather heavily used|less usage of these special values 279 -|creates sparse data if many observations use “not applicable”|way to avoid sparseness 280 -|many constraints may be necessary due to sparseness|typically fewer constraints required because data are less sparse 281 -|many dimensions are tantamount to many attachment levels for attributes (i.e. DSD more flexible in terms of attribute attachment)|less dimensions = less possible attribute attachment levels 282 -|more difficult to handle by an end user|presumably more easily comprehensible and manageable by an end user 283 -|more flexible in terms of defining queries; can be mapped to any “mixed” representation|less flexible in terms of search and retrieval 284 - 285 - 286 - 287 287 The latter two aspects mentioned in the table could be summarized as the “many pure dimensions” approach being more difficult to handle for a “basic” user, but providing fewer options for an “advanced” user. When it comes to dissemination to end users, a purer data structure is the appropriate format for consumption by applications and advanced users. For less advanced user groups it makes sense to hide the (for them: unnecessary) complexity by means of concatenating dimensions, for instance to create a time series view. 288 288 289 -Comparing single-purpose and single-domain exchange scenarios with multi-domain and/or multi-purpose scenarios, pure concepts are typically easier to achieve in the former, whereas composite concepts/dimensions may make life easier in the latter, especially because certain cross-classification concepts may only apply to some domains and/or purposes covered. “Purpose” means either a certain data exchange exercise or data flow, for instance in the BOP DSD endeavor mentioned above each column represents one “purpose”, e.g. ECB IRT or OECD BOP. In multi-domain or –purpose scenarios, pure concepts are more easily obtained by a “many DSDs” approach, no matter if those are independent from each other or linked by a “master DSD”. Although it does not rule out the specification of pure concepts, a “one DSD” approach typically leads to using fewer, composite concepts (dimensions) in those scenarios. 272 +Comparing single-purpose and single-domain exchange scenarios with multi-domain and/or multi-purpose scenarios, pure concepts are typically easier to achieve in the former, whereas composite concepts/dimensions may make life easier in the latter, especially because certain cross-classification concepts may only apply to some domains and/or purposes covered. “Purpose” mean“mixed” dimensions make data structure less 273 +flexible in these respectsither a certain data exchange exercise or data flow, for instance in the BOP DSD endeavor mentioned above each column represents one “purpose”, e.g. ECB IRT or OECD BOP. In multi-domain or –purpose scenarios, pure concepts are more easily obtained by a “many DSDs” approach, no matter if those are independent from each other or linked by a “master DSD”. Although it does not rule out the specification of pure concepts, a “one DSD” approach typically leads to using fewer, composite concepts (dimensions) in those scenarios. 290 290 291 291 Table 5 provides an overview of the pros and cons of the “many pure concepts" and “fewer composite concepts” approaches in different data exchange settings with respect to the type of organizations involved. In any of these settings it is always possible to use one of the data structures that may already exist at one of the involved parties as DSD for the data exchange. The benefits and drawbacks discussed in the table assume that a new DSD is to be defined. A distinction between two different types of intended recipients is implicitly made. Inter-organizational data exchange is mostly machine-to-machine, whereas dissemination of data to end-users is often machine-to-user. 292 292 ... ... @@ -381,7 +381,6 @@ 381 381 382 382 in both cases: important to include only concepts, code lists, and codes actually available / used by the data 383 383 ))) 384 -| | | | | 385 385 386 386 In general, finding the “perfect” data structure is less important for bilateral data exchange. Independent, custom-tailored DSDs may do the job quite well, as harmonization and standardization are typically not of high importance. If the data exchange is just a part of a more comprehensive scenario (e.g. multi-purpose, multi-domain, gateway, or data-sharing scenarios), a master DSD with satellite DSDs is preferable. 387 387 ... ... @@ -406,7 +406,7 @@ 406 406 407 407 = 5 MINIMUM STRUCTURAL AND SEMANTIC REQUIREMENTS = 408 408 409 -Although each data exchange scenario has specific requirements, especially on whether a concept needs to be a dimension, a mandatory or conditional attribute, on the attachment level of attributes, and on the attributes provided in the header of a DSD, a small set of minimum structural and semantic requirements can be defined for all scenarios. [[(% class="wikiinternallinkwikiinternallinkwikiinternallink"%)^^~[5~]^^>>path:#_ftn5]]392 +Although each data exchange scenario has specific requirements, especially on whether a concept needs to be a dimension, a mandatory or conditional attribute, on the attachment level of attributes, and on the attributes provided in the header of a DSD, a small set of minimum structural and semantic requirements can be defined for all scenarios.{{footnote}}For other more technical requirements such as the admissible characters in a code or label see the SDMX technical documents.{{/footnote}} 410 410 411 411 Certain concepts can be broadly agreed upon as being relevant in any data exchange, although their roles may differ between scenarios. The SDMX Content-Oriented Guidelines define many of these cross-domain concepts and, thus, should be referred to for further details on their specification. 412 412 ... ... @@ -475,10 +475,8 @@ 475 475 476 476 == 5.2 Attribute attachment levels and definition of groups == 477 477 478 -Each concept can only be used once as a dimension or an attribute in one DSD. Each attribute must be explicitly attached to an observation, series, or group. The attachment level 461 +Each concept can only be used once as a dimension or an attribute in one DSD. Each attribute must be explicitly attached to an observation, series, or group. The attachment level depends on whether the value of the attribute changes by observation, observation group, or time series, or is the same for all observations. In the latter case, the attribute has to be specified at the //data flow// or //dataset// level. For some attributes described in the previous section, a certain attachment level applies, for others the attachment level depends on the data. For example, the time series title has to be attached at the time series level and the observation status at the observation level. 479 479 480 -depends on whether the value of the attribute changes by observation, observation group, or time series, or is the same for all observations. In the latter case, the attribute has to be specified at the //data flow// or //dataset// level. For some attributes described in the previous section, a certain attachment level applies, for others the attachment level depends on the data. For example, the time series title has to be attached at the time series level and the observation status at the observation level. 481 - 482 482 Series and groups are useful groupings of data that allow the specification of attributes for a set of observations instead of having to declare those attributes for every data point thereby. This increases the readability of an SDMX data file, reduces the size of the data file, and (in some cases) even increases the processing efficiency. 483 483 484 484 Series is relevant for time series data only. It refers to a group of observations that differ only with respect to the time dimension, i.e. all dimensions except time define the series attachment level. The best-known example of a group definition is the sibling group that combines time series with different frequencies. Observations in a sibling group differ with respect to frequency and time; all other dimensions are used to define the sibling group. A sibling group can be regarded as a time series group with the frequency excluded from the group definition. Any other combination of dimensions (or a single dimension) can also be used to define an observation group. An example for a group defined by a single dimension is reporting country. For instance, attributes related to methodology are often the same for all data of a country. In order to attach attributes to a group, a name for that group has to be specified. ... ... @@ -508,25 +508,36 @@ 508 508 509 509 Figure 1 provides an overview of the overall process. As a first step, the context of the data exchange(s) that should be covered by the DSD(s) is defined in terms of purpose, domains, level of exchange, type of data, type of recipient, role of in data exchange, process pattern, and GSBPM phase (see Figure 2). Since reusing existing artefacts is one of the guiding principles, the second step identifies existing DSDs that may be reused (see Figure 3). In case relevant DSDs are available, their suitability in the present context is evaluated in step 3. Aspects to be taken into account are concept coverage, concept roles, attribute attachment levels, and code lists (see Figure 4). Step 4 is subject to the outcome of step 3. In case of a favorable assessment, the DSDs are simply reused. If the DSDs are partly suitable, modified versions can be derived. See section 2. for a summary of possible DSD modification scenarios. If the DSDs are not suitable or if no relevant DSDs are available at all, new DSDs will be defined as described in section 3. Finally, supporting artefacts such as data flow definitions and data provision agreements are defined (see Figure 5). 510 510 511 -==== Figure 1. Overview of the DSD design process ==== 512 512 493 +(% class="wikigeneratedid" id="HFigure1.OverviewoftheDSDdesignprocess" %) 494 +Figure 1. Overview of the DSD design process 495 + 496 + 513 513 Figure 2 summarizes the characteristics of the data exchange context that is defined in step 1. These characteristics affect the decision on the data structuring approach that is part of the process of defining the concepts of a new DSD (step 4.3. in Figure 1; see Figure 7 in section 2.). 514 514 515 515 516 -==== Figure 2. Characteristics of data exchange context ==== 500 +(% class="wikigeneratedid" id="HFigure2.Characteristicsofdataexchangecontext" %) 501 +Figure 2. Characteristics of data exchange context 517 517 518 518 Figure 3 recaps the priorities given to different types of existing DSDs when searching for candidates for reuse in step 2. Global DSDs maintained by the SDMX consortium are ranked the highest. They can be found via the Global SDMX Registry. 519 519 520 -==== Figure 3. Priority ranking of existing DSDs for reuse ==== 521 521 506 +(% class="wikigeneratedid" id="HFigure3.PriorityrankingofexistingDSDsforreuse" %) 507 +Figure 3. Priority ranking of existing DSDs for reuse 508 + 509 + 522 522 Figure 4 summarizes the aspects to be considered in the assessment of the suitability of existing DSDs in step 3. For a detailed description of the cases of partial unsuitability see section 2.1. above. 523 523 524 -==== Figure 4. Aspects of DSD suitability ==== 525 525 513 +(% class="wikigeneratedid" id="HFigure4.AspectsofDSDsuitability" %) 514 +Figure 4. Aspects of DSD suitability 515 + 516 + 526 526 Figure 5 lists the most relevant artefacts required in addition to a DSD, its concept scheme, and code lists. 527 527 528 -**Figure 5. Supporting artefacts** 529 529 520 +Figure 5. Supporting artefacts 521 + 530 530 == 6.2 Defining modified DSDs == 531 531 532 532 Figure 6 briefly recapitulates the actions that can be taken to overcome partial unsuitability of DSDs. As far as possible, existing artefacts should be reused in this case. This means that even if a DSD cannot be reused as a whole, concepts and code lists from that DSD can be included in the new DSD by reference. ... ... @@ -559,11 +559,14 @@ 559 559 (% class="wikigeneratedid" id="HFigure13.Codelistspecificationprocess" %) 560 560 Figure 13. Code list specification process 561 561 554 + 562 562 Figure 14 recaps the priorities given to different types of existing code lists when searching for candidates for reuse (step 4.3.2.1.). Code lists recommended by the SDMX COG (and maintained by the SDMX consortium) are ranked the highest. 563 563 557 + 564 564 (% class="wikigeneratedid" id="HFigure14.Priorityrankingofexistingcodelistsforreuse" %) 565 565 Figure 14. Priority ranking of existing code lists for reuse 566 566 561 + 567 567 Figure 15 summarizes the aspects to be considered in the evaluation of the suitability of existing code lists (step 4.3.2.2.). Figure 16 summarizes the scenarios of adapting existing code lists that do not fully meet the specified needs (step 4.3.2.3.2). For a detailed description of the cases of partial unsuitability see section 2.1. above. 568 568 569 569 ... ... @@ -570,6 +570,7 @@ 570 570 (% class="wikigeneratedid" id="HFigure15.Aspectsofcodelistsuitability" %) 571 571 Figure 15. Aspects of code list suitability 572 572 568 + 573 573 (% class="wikigeneratedid" id="HFigure16.Codelistmodificationscenarios" %) 574 574 Figure 16. Code list modification scenarios 575 575 ... ... @@ -596,7 +596,7 @@ 596 596 597 597 Concepts assume different roles in a data structure definition: 598 598 599 -* //dimensions// are required to uniquely identify an observation (a data value); e.g., for time series, at least one geographic, one temporal, and one (“mixed") subject-matter dimension are required to identify a data value (for instance: reference area = Mexico, time = 2002, indicator = GDP nominal, US$) [[(% class="wikiinternallinkwikiinternallinkwikiinternallink"%)^^~[6~]^^>>path:#_ftn6]](%%);595 +* //dimensions// are required to uniquely identify an observation (a data value); e.g., for time series, at least one geographic, one temporal, and one (“mixed") subject-matter dimension are required to identify a data value (for instance: reference area = Mexico, time = 2002, indicator = GDP nominal, US$){{footnote}}Please note that this is not a recommendation to always have three dimensions only. This is just a simplified example.{{/footnote}}; 600 600 * //measures// are the containers of the actual observation or data values; 601 601 * //attributes// provide additional meta-information required to interpret the data correctly but not to identify the observations; for instance, data for the same observation defined by a value combination of the dimensions (also termed “key”) will usually only be provided for one unit multiplier, e.g. in millions; hence unit multiplier is not necessary to identify an observation, but it is still required for a proper interpretation. Attributes can be defined as mandatory or not mandatory, and they can be attached at different levels, e.g. at observation level or at the level of groups defined by the value combinations of a predefined subset of dimensions (for example reporting currency may be attached at the country level). 602 602 ... ... @@ -636,19 +636,6 @@ 636 636 637 637 METIS: Generic Statistical Business Process Model (GSBPM). Available online at http:~/~/www1.unece.org/stat/platform/display/metis/The+Generic+Statistical+Business+Process+Model. UN's System of National Accounts Manual 2008 (SNA2008). Available online at http:~/~/unstats.un.org/unsd/nationalaccount/sna2008.asp. 638 638 639 - 640 640 ---- 641 641 642 -[[~[2~]>>path:#_ftnref2]] A Cartesian product (or product set) is a mathematical construct that builds a new set out of a number of given sets. Each member of the Cartesian product corresponds to the selection of one element each in every one of the original sets. 643 - 644 -[[~[3~]>>path:#_ftnref3]] In case a structure map is used to define reduced versions of the DSD, the number of unmapped dimensions is the equivalent measure of sparseness. 645 - 646 -[[~[4~]>>path:#_ftnref4]] Please note that the example is taken from the development status of the BOP DSD at the time of writing this document. The concepts and their relevance for certain data exchanges (represented as data flows or derived DSDs) may be different in the final version of the DSD. 647 - 648 -[[~[5~]>>path:#_ftnref5]] For other more technical requirements such as the admissible characters in a code or label see the SDMX technical documents. 649 - 650 -[[~[6~]>>path:#_ftnref6]] Please note that this is not a recommendation to always have three dimensions only. This is just a simplified example. 651 - 652 ----- 653 - 654 654 {{putFootnotes/}}
- 1768468989793-901.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.9 KB - Content
- 1768469016538-287.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.6 KB - Content
- 1768469652632-803.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +10.7 KB - Content