Wiki source code of Part VI. Samples

Version 13.1 by Helena on 2025/07/20 13:33

Hide last authors
Helena 5.2 1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 = 1 Introduction =
6
Helena 5.6 7 This document provides a brief overview of the [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] XML sample files.
Helena 5.2 8
Helena 5.6 9 All samples use the xsi:schemaLocation [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] to define the location of the XSD schema files for the relevant namespaces. The samples assume that the schemas are held locally in a directory called 'schemas' and are referenced as a relative file path. For example:
Helena 5.2 10
Helena 5.6 11 `xsi:schemaLocation="http:~/~/www.sdmx.org/resources/sdmxml/schemas/v3_1/message ../../schemas/SDMXMessage.xsd"`
Helena 5.2 12
Helena 5.6 13 Copies of the [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] XSD schemas files will need to be in the appropriate directory in order to validate correctly.
Helena 5.2 14
15 = 2 Structure Samples =
16
Helena 8.1 17 The Structure Samples provide examples of [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] messages within the //structure// namespace which is used for all [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] artefacts.
Helena 5.2 18
19 == Codelist ==
20
21 (% class="wikigeneratedid" id="Hcodelist.xml" %)
Helena 6.2 22 **codelist.xml**
Helena 5.2 23
Helena 5.6 24 A simple enumerated [[code list>>doc:sdmx:Glossary.Code list.WebHome]] directly equivalent to those in (% style="color:#e74c3c" %)version(%%) 2.1 and earlier.
Helena 5.2 25
Helena 5.6 26 This example shows the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]]:CL_AGE '[[Age>>doc:sdmx:Glossary.Age.WebHome]]' cross domain [[code list>>doc:sdmx:Glossary.Code list.WebHome]].
Helena 5.2 27
28 (% class="wikigeneratedid" id="Hcodelist-extended.xml" %)
Helena 6.2 29 **codelist - extended.xml**
Helena 5.2 30
Helena 5.6 31 Extended [[code list>>doc:sdmx:Glossary.Code list.WebHome]].
Helena 5.2 32
Helena 5.6 33 Illustration of the feature introduced in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 3.0 allowing [[code lists>>doc:sdmx:Glossary.Code list.WebHome]] to be defined as an extension of others. One use case envisaged is adding additional [[codes>>doc:sdmx:Glossary.Code.WebHome]] to standard cross domain [[code lists>>doc:sdmx:Glossary.Code list.WebHome]] without needing to take and maintain an explicit copy.
Helena 5.2 34
Helena 5.6 35 The sample message has two [[codelists>>doc:sdmx:Glossary.Code list.WebHome]]:
Helena 5.2 36
Helena 5.6 37 * [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]]:CL_AGE, a simple enumerated [[codelist>>doc:sdmx:Glossary.Code list.WebHome]]; and
38 * EXAMPLE:CL_EXTENDED_AGE, an extension of [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]]:CL_AGE.
Helena 5.2 39
Helena 5.6 40 CL_EXTENDED_AGE defines two additional [[codes>>doc:sdmx:Glossary.Code.WebHome]] "I" and "S".
Helena 5.2 41
Helena 5.6 42 In addition, the ExclusiveCodeSelection option to exclude the "Y" [[code>>doc:sdmx:Glossary.Code.WebHome]] from the CL_AGE [[code list>>doc:sdmx:Glossary.Code list.WebHome]]. The result is CL_AGE, minus "Y", plus "I" and "S". The InclusiveCodeSelection option could have been used if a specific set of [[codes>>doc:sdmx:Glossary.Code.WebHome]] were needed from CL_AGE.
Helena 5.2 43
44 (% class="wikigeneratedid" id="Hcodelist-discriminatedunion.xml" %)
Helena 6.2 45 **codelist - discriminated union.xml**
Helena 5.2 46
Helena 5.6 47 Discriminated union of [[code lists>>doc:sdmx:Glossary.Code list.WebHome]].
Helena 5.2 48
Helena 5.6 49 This sample illustrates the discriminated union of [[code lists>>doc:sdmx:Glossary.Code list.WebHome]] use case where a classification or breakdown has multiple "variants" which are all valid or mutually exclusive.
Helena 5.2 50
51 Economic activity has been used with ISIC4 and NACE2 examples of two mutually exclusive variants.
52
53 In the sample:
54
Helena 12.1 55 * [[Code list>>doc:sdmx:Glossary.Code list.WebHome]] extension is used to create a new EXAMPLE:CL_ACTIVITY [[code list>>doc:sdmx:Glossary.Code list.WebHome]] consisting of both the SDMX:CL_ACTIVITY_NACE2 and SDMX:CL_ACTIVITY_ISIC4 [[codelists>>doc:sdmx:Glossary.Code list.WebHome]].
Helena 5.6 56 * The [[code list>>doc:sdmx:Glossary.Code list.WebHome]] extension prefix feature has been used to prefix the NACE [[codes>>doc:sdmx:Glossary.Code.WebHome]] with "NACE2_", and similarly the ISIC [[codes>>doc:sdmx:Glossary.Code.WebHome]] with "ISIC4_". This ensures there is no ambiguity where the same [[code>>doc:sdmx:Glossary.Code.WebHome]] appear in both NACE and ISIC [[code lists>>doc:sdmx:Glossary.Code list.WebHome]].
57 * A [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] has been created with an enumerated ACTIVITY [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] using the EXAMPLE:CL_ACTIVITY [[code list>>doc:sdmx:Glossary.Code list.WebHome]].
58 * Two [[data flows>>doc:sdmx:Glossary.Dataflow.WebHome]] are created referencing the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]. One [[data flow>>doc:sdmx:Glossary.Dataflow.WebHome]] has a data (% style="color:#e74c3c" %)constraint(%%) attached with a CubeRegion for ACTIVITY and Value = "NACE2_%". The other has a similar data (% style="color:#e74c3c" %)constraint(%%) with Value = "ISIC4_%". The "%" is the wildcard character for (% style="color:#e74c3c" %)constraints(%%) introduced in (% style="color:#e74c3c" %)version(%%) 3.0.
Helena 5.2 59
Helena 5.6 60 The discriminated unions are achieved by requesting either of the [[data flows>>doc:sdmx:Glossary.Dataflow.WebHome]] with references="all" and detail="referencepartial". The result being CL_ACTIVITY with the extensions resolved and the relevant data (% style="color:#e74c3c" %)constraint(%%) applied. Thus CL_ACTIVITY will only contain [[codes>>doc:sdmx:Glossary.Code.WebHome]] prefixed according to the [[data flow>>doc:sdmx:Glossary.Dataflow.WebHome]]: either beginning "NACE2_" or "ISIC4_"
Helena 5.2 61
62 (% class="wikigeneratedid" id="Hvaluelist.xml" %)
63 **valuelist.xml**
64
65 A simple enumerated value list.
66
Helena 5.6 67 Value lists were introduced in (% style="color:#e74c3c" %)version(%%) 3.0 to allow the definition of enumerations where the [[codes>>doc:sdmx:Glossary.Code.WebHome]] do not need to comply with the strict [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] rules for identifiers. Thus a "value" can be any string of characters.
Helena 5.2 68
Helena 5.6 69 In [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] valuelists are treated as a class of enumeration so appear in the structure message under [[Codelists>>doc:sdmx:Glossary.Code list.WebHome]] alongside simple and extended [[codelists>>doc:sdmx:Glossary.Code list.WebHome]], and specialised geospatial [[codelist>>doc:sdmx:Glossary.Code list.WebHome]] variants.
Helena 5.2 70
Helena 5.6 71 [[Currency>>doc:sdmx:Glossary.Currency.WebHome]] is used as the example with the values being [[currency>>doc:sdmx:Glossary.Currency.WebHome]] symbols including "$", "£", "¥" and "﷼".
Helena 5.2 72
73 == Concept Scheme ==
74
75 (% class="wikigeneratedid" id="Hconceptscheme.xml" %)
76 **conceptscheme.xml**
77
Helena 5.6 78 The example illustrates a single [[concept scheme>>doc:sdmx:Glossary.Concept scheme.WebHome]] ECB:ECB_CONCEPTS containing multiple individual (% style="color:#e74c3c" %)concepts(%%).
Helena 5.2 79
Helena 7.1 80 == Data Structure Definition ==
Helena 5.2 81
Helena 7.1 82 **ECB EXR.xml**
Helena 5.2 83
Helena 5.6 84 The example illustrates a [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] ([[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]) for ECB:EXR exchange rates. The (% style="color:#e74c3c" %)concept(%%) of primary [[measure>>doc:sdmx:Glossary.Measure.WebHome]] has been deprecated in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 3.0 and the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]'s MeasureList can contain multiple [[measures>>doc:sdmx:Glossary.Measure.WebHome]]. In this case, a single [[measure>>doc:sdmx:Glossary.Measure.WebHome]] OBS_VALUE is defined.
Helena 5.2 85
Helena 7.1 86 == Dataflow ==
Helena 5.2 87
Helena 7.1 88 **dataflow.xml**
Helena 5.2 89
Helena 5.6 90 A simple [[data flow>>doc:sdmx:Glossary.Dataflow.WebHome]] for the ECB:EXR [[data set>>doc:sdmx:Glossary.Data set.WebHome]].
Helena 5.2 91
Helena 7.1 92 == Geospatial ==
Helena 5.2 93
Helena 7.1 94 **geospatial geocomponents.xml**
Helena 5.2 95
Helena 5.6 96 An example of the use of the "GeospatialInformation" [[representation>>doc:sdmx:Glossary.Representation.WebHome]] type. The GeospatialInformation type can be assigned to a [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]], DataAttribute, MetadataAttribute or a [[Measure>>doc:sdmx:Glossary.Measure.WebHome]] in conjunction with the "GEO" role. Values of are included directly in data messages or metadata reports and must conform to the Geo Feature Set syntax defined in Section 6 of the Technical Specifications.
Helena 5.2 97
98 In the sample:
99
Helena 5.6 100 * A simple illustrative [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] has been defined with IDENTIFIER and TIME_PERIOD [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]], plus a series [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] AREA.
101 * The AREA [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] has the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] (% style="color:#e74c3c" %)Concept(%%) Role "GEO" defined identifying it generally as a geospatial [[component>>doc:sdmx:Glossary.Component.WebHome]] following guidelines.
102 * The AREA [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] also carries a LocalRepresentation with textType="GeospatialInformation".
Helena 5.2 103
Helena 7.1 104 **geospatial geographiccodelist.xml**
Helena 5.2 105
Helena 5.6 106 An example of the definition of GeographicCodelists, a specialised form of [[code list>>doc:sdmx:Glossary.Code list.WebHome]] introduced in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 3.0. GeographicCodelists are used in the same was as simple [[code lists>>doc:sdmx:Glossary.Code list.WebHome]] to assign a closed enumerated list of values to a [[component>>doc:sdmx:Glossary.Component.WebHome]]. The difference being that the definition of each GeoFeatureSetCode explicitly specifies the geospatial features to which it relates as a string expression using the Geo Feature Set syntax set out in Section 6 of the Technical Specifications. As with any other coded [[component>>doc:sdmx:Glossary.Component.WebHome]], [[data sets>>doc:sdmx:Glossary.Data set.WebHome]] only contain the [[codes>>doc:sdmx:Glossary.Code.WebHome]] and not the Feature Set information itself. Thus, GeoFeatureSetCodes act as pointers to the Geo Feature Set information held in the GeographicCodelist.
Helena 5.2 107
108 In the sample:
109
Helena 5.6 110 * A single illustrative GeographicCodelist has been defined which must be under [[Codelists>>doc:sdmx:Glossary.Code list.WebHome]] in the structure message.
111 * The GeographicCodelist geoType [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] must be given the value of "GeographicCodelist".
Helena 5.2 112 * Three illustrative GeoFeatureSetCodes have been defined with IDs "A1", "A2" and "A3".
Helena 5.6 113 * The GeoFeatureSetCode Value [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] specifies the geospatial features to which the [[code>>doc:sdmx:Glossary.Code.WebHome]] relates as a string expression. Note that the values shown are conceptual examples and are not syntactically valid Geo Feature Set expressions.
Helena 5.2 114
Helena 7.1 115 **geospatial geogridcodelist.xml**
Helena 5.2 116
Helena 5.6 117 An example of the definition of GeoGridCodelists, the second specialised form of [[codelist>>doc:sdmx:Glossary.Code list.WebHome]] for modelling gridded geographies.
118 Like GeographicCodelists, GeoGridCodelists act in the same way as simple [[code lists>>doc:sdmx:Glossary.Code list.WebHome]] to assign a closed enumerated list of values to a [[component>>doc:sdmx:Glossary.Component.WebHome]].
119 GeoGridCodelists define a geographical grid by setting the X and Y coordinates of a reference point, and the [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] of each cell. In addition, each GeoGridCode specifies to which cell in the grid it relates using row and column numbers.
Helena 5.2 120
121 In the sample:
122
Helena 5.6 123 * A single illustrative GeoGridCodelist has been defined which must be under [[Codelists>>doc:sdmx:Glossary.Code list.WebHome]] in the structure message.
124 * The GridDefinition element defines the grid for the [[code list>>doc:sdmx:Glossary.Code list.WebHome]] using a string expression conforming to the Geo Grid syntax set out in Section 6 of the Technical Specifications.
125 * Each GeoGridCode has an ID and a Name in common with the [[codes>>doc:sdmx:Glossary.Code.WebHome]] of simple [[code lists>>doc:sdmx:Glossary.Code list.WebHome]], but also has a GeoCell element containing the row and column of the grid cell as a string expression using the Grid Cell syntax set out in Section 6 of the Technical Specifications.
Helena 5.2 126
Helena 7.1 127 == VTL Transformations ==
Helena 5.2 128
Helena 7.1 129 **VTL Sample 1.xml**
Helena 5.2 130
Helena 5.6 131 Illustrates the use of [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Rulesets to validate an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]. The validation process adds additional identifiers and [[measures>>doc:sdmx:Glossary.Measure.WebHome]] to the resulting [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] indicating, on a row by row basis the validation rule applied and the outcome in terms of a valid / invalid. If invalid, details of the error found and its severity are added.
Helena 5.2 132
Helena 5.6 133 A second transformation takes the resulting [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] filtering out high-severity validation errors and persists the result back to a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] using [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] mappings.
Helena 5.2 134
Helena 7.1 135 **VTL Sample 2.xml**
Helena 5.2 136
Helena 5.6 137 Illustrates aggregation of an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] using [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] hierarchical rulesets, filtering and user defined operators.
Helena 5.2 138
Helena 5.6 139 After the initial aggregation, unaggregated observations removed are removed from the result [[dataset>>doc:sdmx:Glossary.Data set.WebHome]]. A user defined operator is subsequently applied to calculate a percentage [[measure>>doc:sdmx:Glossary.Measure.WebHome]] with the final persistent result (% style="color:#e74c3c" %)mapped(%%) from [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] to a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]].
Helena 5.2 140
Helena 7.1 141 **VTL Sample 3.xml**
Helena 5.2 142
Helena 5.6 143 Illustrates the calculation of a GDP per capita [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] from an input (% style="color:#e74c3c" %)mapped(%%) [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] containing GDP and population indicators on a country by country basis.
Helena 5.2 144
145 = 3 Data Samples =
146
Helena 5.6 147 [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] 3.0 has a single format for data transmission - the Structure Specific Data message. Alternative formats from (% style="color:#e74c3c" %)version(%%) 2.1 and earlier such as Generic, Utility and Cross Sectional are deprecated.
Helena 5.2 148
Helena 5.6 149 The Structure Specific Data message is characterised by the XML elements and [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] being derived from the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] of the [[data set>>doc:sdmx:Glossary.Data set.WebHome]]. This provides two main benefits:
Helena 5.2 150
151 1. The message content is relatively compact.
Helena 5.6 152 1. It is possible to use an XML schema to validate that the [[data set>>doc:sdmx:Glossary.Data set.WebHome]] contains the correct values as defined by the [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] and any (% style="color:#e74c3c" %)constraints(%%) attached to the [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] or data provision agreement.
Helena 5.2 153
Helena 5.6 154 The samples therefore include both the Structure Specific Data XML, and a corresponding example validation schema XSD. Successful schema validation confirms that the XML is both a valid Structure Specific Data message, and the content is valid according to the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]].
Helena 5.2 155
156 == Aggregated Time Series with Simple Data Attributes ==
157
Helena 7.1 158 **ECB EXR.xml**
Helena 5.2 159
160 Structure specific data message.
161
Helena 5.6 162 Excerpt from the ECB's Exchange Rates [[dataset>>doc:sdmx:Glossary.Data set.WebHome]].
Helena 5.2 163
Helena 5.6 164 In this example which is representative of aggregated time-series [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] with a single [[measure>>doc:sdmx:Glossary.Measure.WebHome]], observations are grouped together under series, which in turn are grouped under the [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] element.
Helena 5.2 165
Helena 5.6 166 The [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] values and those of series-(% style="color:#e74c3c" %)level(%%) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are expressed as XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] on each series element. Similarly, the TIME_PERIOD, OBS_VALUE and any observation-(% style="color:#e74c3c" %)level(%%) [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are expressed as XML [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] on each obs element.
Helena 5.2 167
168 Note that a structure specific namespace ns1 is defined using xsi:schemalocation to reference the validation schema location, in this case ECB_EXR_Dataflow.xsd.
169
Helena 12.1 170 **ECB EXR Dataflow.xsd**
Helena 5.2 171
Helena 5.6 172 Structure-specific schema for validating the [[dataset>>doc:sdmx:Glossary.Data set.WebHome]].
Helena 5.2 173
Helena 5.6 174 The schema defines a complex type called DataSetType derived from the [[data set>>doc:sdmx:Glossary.Data set.WebHome]]'s [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] and (% style="color:#e74c3c" %)constraints(%%), in this case those attached to the [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]].
Helena 5.2 175
Helena 7.1 176 == Aggregated Time Series with Complex Data Attributes ==
Helena 5.2 177
Helena 5.6 178 Complex [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] include those with multilingual text and arrays of values.
Helena 5.2 179
Helena 7.1 180 **EXB EXR CA.xml**
Helena 5.2 181
182 Structure specific data message.
183
Helena 5.6 184 A modification of the ECB's Exchange Rates [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] illustrating the following complex [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] use cases:
Helena 5.2 185
Helena 11.1 186 [[TITLE>>doc:sdmx:Glossary.Title.WebHome]] - multi-lingual series-level array [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]
Helena 5.2 187
Helena 11.1 188 SOURCE_AGENCY - coded series-level array [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] specifying a minimum of three values
Helena 5.2 189
Helena 11.1 190 SOURCE_PUB - uncoded string series-level array [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] with maximum length of 350 characters
Helena 5.2 191
Helena 11.1 192 OBS_STATUS - coded observation-level array [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]
Helena 5.2 193
194 Note that a structure specific namespace ns1 is defined using xsi:schemalocation to reference the validation schema location, in this case ECB_EXR_Dataflow.xsd.
195
Helena 7.1 196 **ECB EXR CA Dataflow.xsd**
Helena 5.2 197
Helena 5.6 198 Structure specific schema for validating the [[dataset>>doc:sdmx:Glossary.Data set.WebHome]].
Helena 5.2 199
Helena 5.6 200 The schema defines a complex type called DataSetType derived from the [[data set>>doc:sdmx:Glossary.Data set.WebHome]]'s [[data structure definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] and (% style="color:#e74c3c" %)constraints(%%), in this case those attached to the [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]].
Helena 5.2 201
Helena 5.6 202 Complex types based on the abstract [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:CompType are defined for each complex [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]].
Helena 5.2 203
Helena 7.1 204 **ECB EXR CA DSD.xml**
Helena 5.2 205
Helena 5.6 206 Structure message describing the [[Data Structure Definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] for the above [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] illustrating, in particular, the definition of complex [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]:
Helena 5.2 207
208 The XML attribute isMultiLingual="true" on the \<str:TextFormat…\> element specifies a multi-lingual string representation.
209
Helena 5.6 210 Setting the maxOccurs XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] to a number greater than 1 (or unbounded) on the \<str:LocalRepresentation…\> element specifies an array.