Changes for page Part IV. Data and Metadata Namespaces
Last modified by Artur on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -74,6 +74,7 @@ 74 74 **GroupType: **GroupType defines a structure which is used to communicate attribute values for a group defined in a data structure definition. The group can consist of either a subset of the dimensions defined by the data structure definition, or an association to an attachment constraint, which in turn defines key sets to which attributes can be attached. In the case that the group is based on an attachment constraint, only the identification of group is provided. It is expected that a system which is processing this will relate that identifier to the key sets defined in the constraint and apply the values provided for the attributes appropriately. 75 75 76 76 Derivation: 77 + 77 77 * //com:AnnotableType// (extension) 78 78 ** GroupType 79 79 ... ... @@ -106,6 +106,7 @@ 106 106 com:Annotations?, SeriesKey, Attributes?, Obs* 107 107 108 108 Element Documentation: 110 + 109 109 |**Name**|**Type**|**Documentation** 110 110 |com:Annotations|com:AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType my reference it. 111 111 |SeriesKey|ValuesType|SeriesKey contains the values for each all dimensions defined in the data structure definition, except for that which is declared to be at the observation level for this data set. This key is required, and every dimension must be provided a value. ... ... @@ -123,6 +123,7 @@ 123 123 com:Annotations?, ObsKey, ObsValue?, Attributes? 124 124 125 125 Element Documentation: 128 + 126 126 |**Name**|**Type**|**Documentation** 127 127 |com:Annotations|com:AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType my reference it. 128 128 |ObsKey|ValuesType|ObsKey contains the values for every dimension defined in the data structure definition. A value must be provided for each dimension. This key serves to disambiguate the un-grouped observation within the data set. ... ... @@ -140,6 +140,7 @@ 140 140 com:Annotations?, ObsDimension, ObsValue?, Attributes? 141 141 142 142 Element Documentation: 146 + 143 143 |**Name**|**Type**|**Documentation** 144 144 |com:Annotations|com:AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType my reference it. 145 145 |ObsDimension|BaseValueType|ObsDimension holds the key for the grouped observation, i.e. the value of the observation dimension. Note that in this element, the reference to the dimension is optional, since it can be inferred from the structure specification for the data set. This saves having to repeat the value unnecessarily. It is assumed that any application processing the data set will have the information from the structure specification available, so that if a dimension identifier is not supplied here, the proper reference can be applied. ... ... @@ -152,6 +152,7 @@ 152 152 Value+ 153 153 154 154 Element Documentation: 159 + 155 155 |**Name**|**Type**|**Documentation** 156 156 |Value|ComponentValueType|Value contains a component value and a reference to the component for which a value is being provided. 157 157 ... ... @@ -164,6 +164,7 @@ 164 164 {Empty} 165 165 166 166 Attribute Documentation: 172 + 167 167 |**Name**|**Type**|**Documentation** 168 168 |id|com:NCNameIDType|The id attribute contains the identifier for the component for which a value is being provided. 169 169 |value|xs:anySimpleType|The value attribute contains the provided component value. ... ... @@ -182,6 +182,7 @@ 182 182 {Empty} 183 183 184 184 Attribute Documentation: 191 + 185 185 |**Name**|**Type**|**Documentation** 186 186 |id (fixed: OBS_VALUE)|com:NCNameIDType|The id attribute contains a fixed reference to the primary measure component of the data structure definition. 187 187 |value|xs:string|The value attribute contains the provided component value. ... ... @@ -189,6 +189,7 @@ 189 189 **ComponentValueType: **ComponentValueType is a derivation of the BaseValueType which requires that the component reference be provided. This is used when the identification of the component cannot be inferred from another context. 190 190 191 191 Derivation: 199 + 192 192 * BaseValueType (restriction) 193 193 ** ComponentValueType 194 194 ... ... @@ -199,6 +199,7 @@ 199 199 {Empty} 200 200 201 201 Attribute Documentation: 210 + 202 202 |**Name**|**Type**|**Documentation** 203 203 |id|com:NCNameIDType|The id attribute contains the identifier for the component for which a value is being provided. 204 204 |value|xs:string|The value attribute contains the provided component value. ... ... @@ -206,6 +206,7 @@ 206 206 **TimeSeriesDataSetType: **TimeSeriesDataSetType is a derivation of the base DataSetType of the generic format the restricts the data set to only allow for grouped observations where the dimension at the observation level is the time dimension of the data structure definition. This means that unlike the base data set structure, there can be no un-grouped observations. Because this derivation is achieved using restriction, data sets conforming to this type will inherently conform to the base data set structure as well. In fact, data structured here will be identical to data in the base data set when the time dimension is the observation dimension. This means that the data contained in this structure can be processed in exactly the same manner as the base structure. 207 207 208 208 Derivation: 218 + 209 209 * //com:AnnotableType// (extension) 210 210 ** DataSetType (restriction) 211 211 *** TimeSeriesDataSetType ... ... @@ -217,6 +217,7 @@ 217 217 com:Annotations?, DataProvider?, Attributes?, Group*, Series* 218 218 219 219 Attribute Documentation: 230 + 220 220 |**Name**|**Type**|**Documentation** 221 221 |structureRef|xs:IDREF|The structureRef contains a reference to a structural specification in the header of a data or reference metadata message. The structural specification details which structure the data or reference metadata conforms to, as well as providing additional information such as how the data is structure (e.g. which dimension occurs at the observation level for a data set). 222 222 |setID|com:IDType|The setID provides an identification of the data or metadata set. ... ... @@ -240,6 +240,7 @@ 240 240 **TimeSeriesType: **TimeSeriesType defines a structure which is used to group a collection of observations which have a key in common, organised by time. The key for a series is every dimension defined in the data structure definition, save the time dimension. In addition to observations, values can be provided for attributes which are associated with the dimensions which make up this series key (so long as the attributes do not specify a group attachment or also have an relationship with the time dimension). It is possible for the series to contain only observations or only attribute values, or both. 241 241 242 242 Derivation: 254 + 243 243 * //com:AnnotableType// (extension) 244 244 ** SeriesType (restriction) 245 245 *** TimeSeriesType ... ... @@ -248,6 +248,7 @@ 248 248 com:Annotations?, SeriesKey, Attributes?, Obs* 249 249 250 250 Element Documentation: 263 + 251 251 |**Name**|**Type**|**Documentation** 252 252 |com:Annotations|com:AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType my reference it. 253 253 |SeriesKey|ValuesType|SeriesKey contains the values for each all dimensions defined in the data structure definition, except for that which is declared to be at the observation level for this data set. This key is required, and every dimension must be provided a value. ... ... @@ -257,6 +257,7 @@ 257 257 **TimeSeriesObsType: **TimeSeriesObsType defines the structure of a time series observation. The observation must be provided a value for the time dimension. This time value should disambiguate the observation within the series in which it is defined (i.e. there should not be another observation with the same time value). The observation can contain an observed value and/or attribute values. 258 258 259 259 Derivation: 273 + 260 260 * //com:AnnotableType// (extension) 261 261 ** ObsType (restriction) 262 262 *** TimeSeriesObsType ... ... @@ -265,6 +265,7 @@ 265 265 com:Annotations?, ObsDimension, ObsValue?, Attributes? 266 266 267 267 Element Documentation: 282 + 268 268 |**Name**|**Type**|**Documentation** 269 269 |com:Annotations|com:AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType my reference it. 270 270 |ObsDimension|TimeValueType|ObsDimension holds the key for the grouped observation, i.e. the value of the observation dimension. Note that in this element, the reference to the dimension is optional, since it can be inferred from the structure specification for the data set. This saves having to repeat the value unnecessarily. It is assumed that any application processing the data set will have the information from the structure specification available, so that if a dimension identifier is not supplied here, the proper reference can be applied. ... ... @@ -274,6 +274,7 @@ 274 274 **TimeValueType: **TimeValueType is a derivation of the BaseValueType which is used to provide a value for the time dimension. Since the identifier for the time dimension is fixed, the component reference for this structure is fixed. Note that this means that it is not necessary to provide a value in an instance as the fixed value will be provided in the post validation information set. 275 275 276 276 Derivation: 292 + 277 277 * BaseValueType (restriction) 278 278 ** TimeValueType 279 279 ... ... @@ -284,6 +284,7 @@ 284 284 {Empty} 285 285 286 286 Attribute Documentation: 303 + 287 287 |**Name**|**Type**|**Documentation** 288 288 |id (fixed: TIME_PERIOD)|com:NCNameIDType|The id attribute contains the identifier for the component for which a value is being provided. 289 289 |value|com: ObservationalTimePer iodType|The value attribute contains the provided component value. ... ... @@ -295,6 +295,7 @@ 295 295 === Summary === 296 296 297 297 Referenced Namespaces: 315 + 298 298 |**Namespace**|**Prefix** 299 299 | | 300 300 |http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/common|com ... ... @@ -309,6 +309,7 @@ 309 309 **//DataSetType//: **DataSetType is the abstract type which defines the base structure for any data structure definition specific data set. A derived data set type will be created that is specific to a data structure definition and the details of the organisation of the data (i.e. which dimension is the observation dimension and whether explicit measures should be used). Data is organised into either a collection of series (grouped observations) or a collection of un-grouped observations. The derived data set type will restrict this choice to be either grouped or un-grouped observations. If this dimension is "AllDimensions" then the derived data set type must consist of a collection of un-grouped observations; otherwise the data set will contain a collection of series with the observations in the series disambiguated by the specified dimension at the observation level. This data set is capable of containing data (observed values) and/or documentation (attribute values) and can be used for incremental updates and deletions (i.e. only the relevant updates or deletes are exchanged). It is assumed that each series or un-grouped observation will be distinct in its purpose. For example, if series contains both data and documentation, it assumed that each series will have a unique key. If the series contains only data or only documentation, then it is possible that another series with the same key might exist, but with not with the same purpose (i.e. to provide data or documentation) as the first series. This base type is designed such that derived types can be processed in a generic manner; it assures that data structure definition specific data will have a consistent structure. The group, series, and observation elements are unqualified, meaning that they are not qualified with a namespace in an instance. This means that in the derived data set types, the elements will always be the same, regardless of the target namespace of the schemas which defines these derived types. This allows for consistent processing of the structure without regard to what the namespace might be for the data structure definition specific schema. The data set can contain values for attributes which do not have an attribute relationship with any data structure definition components. These attribute values will exist in XML attributes in this element based on this type (DataSet). This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived data set type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). To allow for generic processing, it is required that the only unqualified XML attributes in the derived data set type (outside of the standard data set attributes) be for attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition attribute. 310 310 311 311 Derivation: 330 + 312 312 * //com:AnnotableType// (extension) 313 313 ** //DataSetType// 314 314 ... ... @@ -319,6 +319,7 @@ 319 319 com:Annotations?, DataProvider?, Group*, (Series+ | Obs+)? 320 320 321 321 Attribute Documentation: 341 + 322 322 |**Name**|**Type**|**Documentation** 323 323 |structureRef|xs:IDREF|The structureRef contains a reference to a structural specification in the header of a data or reference metadata message. The structural specification details which structure the data or reference metadata conforms to, as well as providing additional information such as how the data is structure (e.g. which dimension occurs at the observation level for a data set). 324 324 |setID|com:IDType|The setID provides an identification of the data or metadata set. ... ... @@ -344,6 +344,7 @@ 344 344 **//GroupType//: **GroupType is the abstract type which defines a structure which is used to communicate attribute values for a group defined in a data structure definition. The group can consist of either a subset of the dimensions defined by the data structure definition, or an association to an attachment constraint, which in turn defines key sets to which attributes can be attached. In the case that the group is based on an attachment constraint, only the identification of group is provided. It is expected that a system which is processing this will relate that identifier to the key sets defined in the constraint and apply the values provided for the attributes appropriately. Data structure definition schemas will drive types based on this for each group defined in the data structure definition. Both the dimension values which make up the key (if applicable) and the attribute values associated with the group will be represented with XML attributes. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived group type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the group dimensions and attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition dimension or attribute. 345 345 346 346 Derivation: 367 + 347 347 * //com:AnnotableType// (extension) 348 348 ** //GroupType// 349 349 ... ... @@ -354,6 +354,7 @@ 354 354 com:Annotations? 355 355 356 356 Attribute Documentation: 378 + 357 357 |**Name**|**Type**|**Documentation** 358 358 |type|com:IDType|The type attribute reference the identifier of the group as defined in the data structure definition. This is optional, but derived group types will provide a fixed value for this so that it always available in the post validation information set. This allows the group to be processed in a generic manner. 359 359 |REPORTING_YEAR_START_DAY|xs:gMonthDay|The REPORTING_YEAR_START_DAY attribute is an explict attribute for the reporting year start day, which provides context to the time dimension when its value contains a reporting period (e.g. 2010-Q1). This attribute is used to state the month and day that the reporting year begins (e.g. ~-~-07-01 for July 1st). In the absence of an explicit value provided in this attribute, all reporting period values will be assumed to be based on a reporting year start day of January 1. This is declared in the base schema since it has a fixed identifier and representation. The derived group types may either require or prohibit this attribute, depending on whether the data structure declared the reporting year start day attribute and if so, the attribute relationship and assignment status assigned to it. ... ... @@ -366,6 +366,7 @@ 366 366 **//SeriesType//: **SeriesType is the abstract type which defines a structure which is used to group a collection of observations which have a key in common. The key for a series is every dimension defined in the data structure definition, save the dimension declared to be at the observation level for this data set. In addition to observations, values can be provided for attributes which are associated with the dimensions which make up this series key (so long as the attributes do not specify a group attachment or also have an relationship with the observation dimension). It is possible for the series to contain only observations or only attribute values, or both. Data structure definition schemas will drive a type based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. Both the dimension values which make up the key and the attribute values associated with the key dimensions will be represented with XML attributes. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived series type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition dimension or attribute. 367 367 368 368 Derivation: 391 + 369 369 * //com:AnnotableType// (extension) 370 370 ** //SeriesType// 371 371 ... ... @@ -376,6 +376,7 @@ 376 376 com:Annotations?, Obs* 377 377 378 378 Attribute Documentation: 402 + 379 379 |**Name**|**Type**|**Documentation** 380 380 |TIME_PERIOD|com: ObservationalTimePer iodType|The TIME_PERIOD attribute is an explict attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type. 381 381 |REPORTING_YEAR_START_DAY|xs:gMonthDay|The REPORTING_YEAR_START_DAY attribute is an explict attribute for the reporting year start day, which provides context to the time dimension when its value contains a reporting period (e.g. 2010-Q1). This attribute is used to state the month and day that the reporting year begins (e.g. ~-~-07-01 for July 1st). In the absence of an explicit value provided in this attribute, all reporting period values will be assumed to be based on a reporting year start day of January 1. This is declared in the base schema since it has a fixed identifier and representation. The derived series type may either require or prohibit this attribute, depending on whether the data structure declared the reporting year start day attribute and if so, the attribute relationship and assignment status assigned to it. ... ... @@ -390,15 +390,13 @@ 390 390 391 391 Derivation: 392 392 393 -//com:AnnotableType// (extension) 394 - //ObsType//417 +* //com:AnnotableType// (extension) 418 +** //ObsType// 395 395 396 396 Attributes: 397 - 398 398 type?, TIME_PERIOD?, REPORTING_YEAR_START_DAY?, OBS_VALUE? 399 399 400 400 Content: 401 - 402 402 com:Annotations? 403 403 404 404 Attribute Documentation: ... ... @@ -418,16 +418,14 @@ 418 418 419 419 Derivation: 420 420 421 -//com:AnnotableType// (extension) 422 - //DataSetType// (restriction)423 - //TimeSeriesDataSetType//443 +* //com:AnnotableType// (extension) 444 +** //DataSetType// (restriction) 445 +*** //TimeSeriesDataSetType// 424 424 425 425 Attributes: 426 - 427 427 structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?, dataScope, REPORTING_YEAR_START_DAY? 428 428 429 429 Content: 430 - 431 431 com:Annotations?, DataProvider?, Group*, Series* 432 432 433 433 Attribute Documentation: ... ... @@ -457,16 +457,14 @@ 457 457 458 458 Derivation: 459 459 460 -//com:AnnotableType// (extension) 461 - //SeriesType// (restriction)462 - TimeSeriesType480 +* //com:AnnotableType// (extension) 481 +** //SeriesType// (restriction) 482 +*** TimeSeriesType 463 463 464 464 Attributes: 465 - 466 466 REPORTING_YEAR_START_DAY? 467 467 468 468 Content: 469 - 470 470 com:Annotations?, Obs* 471 471 472 472 Attribute Documentation: ... ... @@ -484,16 +484,14 @@ 484 484 485 485 Derivation: 486 486 487 -//com:AnnotableType// (extension) 488 - //ObsType// (restriction)489 - //TimeSeriesObsType//505 +* //com:AnnotableType// (extension) 506 +** //ObsType// (restriction) 507 +*** //TimeSeriesObsType// 490 490 491 491 Attributes: 492 - 493 493 TIME_PERIOD, REPORTING_YEAR_START_DAY?, OBS_VALUE? 494 494 495 495 Content: 496 - 497 497 com:Annotations? 498 498 499 499 Attribute Documentation: ... ... @@ -508,9 +508,7 @@ 508 508 |**Name**|**Type**|**Documentation** 509 509 |com:Annotations|com:AnnotationsType|Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType my reference it. 510 510 511 -1. 512 -11. 513 -111. Simple Types 527 +=== Simple Types === 514 514 515 515 **DataScopeType: **DataScopeType is an enumeration of the possible validity scopes for a data set. These scopes indicate the level at which the data is stated to be valid. 516 516 ... ... @@ -524,14 +524,11 @@ 524 524 |Dataflow|The data set conforms to the known allowable content constraints applied to the dataflow. 525 525 |ProvisionAgreement|The data set conforms to the known allowable content constraints applied to the provision agreement. 526 526 527 -1. 528 -11. Generic Metadata Namespace 541 +== Generic Metadata Namespace == 529 529 530 530 **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic** 531 531 532 -1. 533 -11. 534 -111. Summary 545 +=== Summary === 535 535 536 536 Referenced Namespaces: 537 537 ... ... @@ -540,26 +540,21 @@ 540 540 |http:~/~/www.w3.org/2001/XMLSchema|xs 541 541 542 542 Contents: 543 - 544 544 6 Complex Types 545 545 546 -1. 547 -11. 548 -111. Complex Types 556 +=== Complex Types === 549 549 550 550 **MetadataSetType: **MetadataSetType describes the structure for a metadata set, which contains a collection of reported metadata against a set of values for a given full or partial target identifier, as described in a metadata structure definition. The metadata set may contain reported metadata for multiple report structures defined in a metadata structure definition. 551 551 552 552 Derivation: 553 553 554 -//com:AnnotableType// (extension) 555 - MetadataSetType562 +* //com:AnnotableType// (extension) 563 +** MetadataSetType 556 556 557 557 Attributes: 558 - 559 559 structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod? 560 560 561 561 Content: 562 - 563 563 com:Annotations?, com:Name*, DataProvider?, Report+ 564 564 565 565 Attribute Documentation: ... ... @@ -587,15 +587,13 @@ 587 587 588 588 Derivation: 589 589 590 -//com:AnnotableType// (extension) 591 - ReportType596 +* //com:AnnotableType// (extension) 597 +** ReportType 592 592 593 593 Attributes: 594 - 595 595 id 596 596 597 597 Content: 598 - 599 599 com:Annotations?, Target, AttributeSet 600 600 601 601 Attribute Documentation: ... ... @@ -613,11 +613,9 @@ 613 613 **TargetType: **TargetType defines the structure of a target. It contains a set of target reference values which when taken together, identify the object or objects to which the reported metadata apply. 614 614 615 615 Attributes: 616 - 617 617 id 618 618 619 619 Content: 620 - 621 621 ReferenceValue+ 622 622 623 623 Attribute Documentation: ... ... @@ -633,11 +633,9 @@ 633 633 **ReferenceValueType: **ReferenceValueType defines the structure of a target object reference value. A target reference value will either be a reference to an identifiable object, a data key, a reference to a data set, or a report period. 634 634 635 635 Attributes: 636 - 637 637 id 638 638 639 639 Content: 640 - 641 641 (ObjectReference | DataKey | DataSetReference | ConstraintContentReference | ReportPeriod) 642 642 643 643 Attribute Documentation: ... ... @@ -657,7 +657,6 @@ 657 657 **AttributeSetType: **AttributeSetType defines the structure for a collection of reported metadata attributes. 658 658 659 659 Content: 660 - 661 661 ReportedAttribute+ 662 662 663 663 Element Documentation: ... ... @@ -669,15 +669,13 @@ 669 669 670 670 Derivation: 671 671 672 -//com:AnnotableType// (extension) 673 - ReportedAttributeType671 +* //com:AnnotableType// (extension) 672 +** ReportedAttributeType 674 674 675 675 Attributes: 676 - 677 677 id, value? 678 678 679 679 Content: 680 - 681 681 com:Annotations?, (com:Text+ | com:StructuredText+)?, AttributeSet? 682 682 683 683 Attribute Documentation: ... ... @@ -694,14 +694,11 @@ 694 694 |com:StructuredText|com:XHTMLType|StructuredText is used to supply parallel multi-lingual structured (as XHTML) textual values for the reported metadata attribute. This will be used if the text format of the metadata attribute has a type of XHTML and the multi-lingual value is set to true. 695 695 |AttributeSet|AttributeSetType|AttributeSet contains the reported metadata attribute values for the child metadata attributes. 696 696 697 -1. 698 -11. Structure Specific Metadata Namespace 694 +== Structure Specific Metadata Namespace == 699 699 700 700 **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific** 701 701 702 -1. 703 -11. 704 -111. Summary 698 +=== Summary === 705 705 706 706 Referenced Namespaces: 707 707 ... ... @@ -711,26 +711,21 @@ 711 711 |http:~/~/www.w3.org/2001/XMLSchema|xs 712 712 713 713 Contents: 714 - 715 715 5 Complex Types 716 716 717 -1. 718 -11. 719 -111. Complex Types 710 +=== Complex Types === 720 720 721 721 **//MetadataSetType//: **MetadataSetType is an abstract base type the forms the basis for a metadata structure specific metadata set. It is restricted by the metadata structure definition specific schema to meet its needs. 722 722 723 723 Derivation: 724 724 725 -//com:AnnotableType// (extension) 726 - //MetadataSetType//716 +* //com:AnnotableType// (extension) 717 +** //MetadataSetType// 727 727 728 728 Attributes: 729 - 730 730 structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod? 731 731 732 732 Content: 733 - 734 734 com:Annotations?, com:Name*, DataProvider?, Report+ 735 735 736 736 Attribute Documentation: ... ... @@ -758,15 +758,13 @@ 758 758 759 759 Derivation: 760 760 761 -//com:AnnotableType// (extension) 762 - //ReportType//750 +* //com:AnnotableType// (extension) 751 +** //ReportType// 763 763 764 764 Attributes: 765 - 766 766 id? 767 767 768 768 Content: 769 - 770 770 com:Annotations?, Target, AttributeSet 771 771 772 772 Attribute Documentation: ... ... @@ -784,11 +784,9 @@ 784 784 **//TargetType//: **TargetType is an abstract base type that forms the basis of a the metadata report's metadata target value. This type is restricted in the metadata structure definition specific schema so that the ReferenceValue elements conform to the targets specified in the metadata target defined in the metadata structure definition. 785 785 786 786 Attributes: 787 - 788 788 id? 789 789 790 790 Content: 791 - 792 792 ReferenceValue+ 793 793 794 794 Attribute Documentation: ... ... @@ -804,11 +804,9 @@ 804 804 **//ReferenceValueType//: **ReferenceValueType is an abstract base type that forms the basis of a target reference value. A target reference value will either be a reference to an identifiable object, a data key, a reference to a data set, or a report period. The choice of these options will be refined to only one according to the definition of the target in the metadata structure definition. 805 805 806 806 Attributes: 807 - 808 808 id? 809 809 810 810 Content: 811 - 812 812 (ObjectReference | DataKey | DataSetReference | ConstraintContentReference | ReportPeriod) 813 813 814 814 Attribute Documentation: ... ... @@ -829,15 +829,13 @@ 829 829 830 830 Derivation: 831 831 832 -//com:AnnotableType// (extension) 833 - //ReportedAttributeType//815 +* //com:AnnotableType// (extension) 816 +** //ReportedAttributeType// 834 834 835 835 Attributes: 836 - 837 837 id?, value?, isMetadataAttribute? 838 838 839 839 Content: 840 - 841 841 com:Annotations?, (com:Text+ | com:StructuredText+)?, AttributeSet? 842 842 843 843 Attribute Documentation: ... ... @@ -855,9 +855,10 @@ 855 855 |com:StructuredText|com:XHTMLType|StructuredText is used to supply parallel multi-lingual structured (as XHTML) textual values for the reported metadata attribute. This will be used if the text format of the metadata attribute has a type of XHTML and the multi-lingual value is set to true. If the multi-lingual flag is not set to true, it is expected that the maximum occurrence of this will be refined to be 1 in the metadata structure definition specific schema. 856 856 |AttributeSet|xs:anyType|AttributeSet contains the reported metadata attribute values for the child metadata attributes. This element is unqualified and un-typed so that it can refined by the metadata structure definition specific schema to validate that the reported metadata attributes conform to those prescribed by the metadata attribute definition. The content of this must be element only, and these elements must always represent a reported attribute. Since this can not be strictly enforced in XML Schema, additional steps have been added to make generic processing of this element simpler. When processing this element, any element found with the attribute isMetadataAttribute in this target namespace is assumed to be a reported metadata attribute and can be processed as such. 857 857 858 -1. Mapping to Structure-Specific Schemas 859 -11. General 839 += Mapping to Structure-Specific Schemas = 860 860 841 +== General == 842 + 861 861 Data structure and metadata structure-specific schemas are each based on one single core construct found in their respective structure-specific namespaces; 862 862 863 863 Data - http:~/~/www.SDMX.org/resources/SDMXML/schemas/v2_1/data/structurespecific ... ... @@ -866,9 +866,7 @@ 866 866 867 867 For a metadata structure, only a single schema will be created for the entire structure definition. For data structures, many variations of the base schema are possible, each specific as to how the data is organised. This will be discussed in more details in the specific rules for the data structure schemas. 868 868 869 -1. 870 -11. 871 -111. Basic Terminology 851 +=== Basic Terminology === 872 872 873 873 In the subsequent sections, the following namespace prefixes are used: 874 874 ... ... @@ -914,8 +914,7 @@ 914 914 915 915 **XML Attribute:** Refers to the definition of an XML attribute for a complex type (i.e. and xs:attribute element in a xs:complexType element). An attribute must define a name and type (name and type attributes) and may also specify a usage (use attribute). 916 916 917 -1. 918 -11. Namespace Rules 897 +== Namespace Rules == 919 919 920 920 Each format specific schema will specify its namespace in the target namespace of the schema (the targetNamespace attribute of the schema). This document also assumes that the root namespace (that which is defined by the xmlns attribute) of the schema will be the same as the target namespace. Therefore any types or global elements referenced in these descriptions without a namespace prefix are assumed to be in the format specific namespace. 921 921 ... ... @@ -923,21 +923,17 @@ 923 923 924 924 For the purpose of the descriptions here, the default element form for the schema (as specified in the elementFormDefault attribute of the schema) is “qualified", and the default attribute form (as specified in the attributeFormDefault attribute of the schema) is "unqualified". 925 925 926 -1. 927 -11. General Rules 905 +== General Rules == 928 928 929 929 The following section details the general rules which apply to all structure specific schema creation. 930 930 931 -1. 932 -11. 933 -111. Component Name Determination 909 +=== Component Name Determination === 934 934 935 935 When required to create an XML element or attribute, the name for a component is always its identifier. However, the identifier may be inherited. Therefore, the general rules is as follows: 936 936 937 -1. If the component defines an identifier, the element or attribute name is the value of that identifier 938 -1. Otherwise, the element or attribute name is the identifier of the concept from which it takes its semantic (Note that this is technically the component identifer). 939 -11. 940 -111. Representation Determination 913 +If the component defines an identifier, the element or attribute name is the value of that identifier 914 +Otherwise, the element or attribute name is the identifier of the concept from which it takes its semantic (Note that this is technically the component identifer). 915 +Representation Determination 941 941 942 942 Every component has a representation associated with it, whether it is defined as a local representation in the component definition, or it is inherited from the concept from which the component takes it semantic (as defined in the concept identity of the component). 943 943 ... ... @@ -951,40 +951,27 @@ 951 951 952 952 A text format consists of a data type and an optional collection of facets. It is the combination of these which determine the exact nature of the component representation. An enumeration consists of a reference to an item scheme, for which an enumerated list of possible values can be created. 953 953 954 -1. 955 -11. 956 -111. Simple / Primitive Type Determination 929 +=== Simple / Primitive Type Determination === 957 957 958 958 For any given representation, there exist rules for determining the simple or primitive type which should be used to validate the value. There are no specific requirements to how a simple type is named or if it is referenced or used as an anonymous type. This section simply serves to state the requirements of the type for a component based on its [[determined representation>>path:#_Representation_Determination:]]. 959 959 960 960 For example, a dimension may inherit its representation for a concept, and the data type of a representation data type may be a String. The simplest solution would be to use the xs:string primitive type. However, an implementer may have chosen to generate simple types for all concepts to avoid having to look up the concept core representation for very component. In this case, the type may be given a name based on the concept and be a simple derivation from the xs:string type that places no further restrictions. The result would be that the type that is actually used for the dimension, although named after the concept, is effectively the required xs:string. These rules are meant to allow such flexibility in how types are created. The only requirement is that the type meet the requirements stated here. 961 961 962 -1. 963 -11. 964 -111. Representation with Enumeration 935 +=== Representation with Enumeration === 965 965 966 966 A representation which defines an enumeration will result in a simple type that is a restriction of the common:IDType. The simple type will define enumerations for each item in the item scheme. The value for these enumerations will be identifier of the item. If desired, the names of the item may be placed in the documentation of the enumeration, but this is not required. Example: 967 967 939 +> <xs:simpleType name="ESTAT.CL_COUNTRY.1.0"> 940 +> <xs:restriction base="common:IDType"> 941 +> <xs:enumeration value="BE"> 942 +> <xs:annotation> 943 +> <xs:documentation xml:lang="en">Belgium</xs:documentation> 944 +> </xs:annotation> 945 +> </xs:enumeration> 968 968 969 -<xs:simpleType name="ESTAT.CL_COUNTRY.1.0"> 970 970 971 - <xs:restrictionbase="common:IDType">948 +=== Representation with Text Format === 972 972 973 -<xs:enumeration value="BE"> 974 - 975 -<xs:annotation> 976 - 977 -<xs:documentation xml:lang="en">Belgium</xs:documentation> 978 - 979 -</xs:annotation> 980 - 981 -</xs:enumeration> 982 - 983 - 984 -1. 985 -11. 986 -111. Representation with Text Format 987 - 988 988 A representation which defines a text format will result in a simple type or primitive type. The first step is to determine the base type from the text format data type: 989 989 990 990 |**SDMX Data Type**|**XML Schema Data Type** ... ... @@ -1027,7 +1027,7 @@ 1027 1027 |Day|xs:gDay 1028 1028 |Time|xs:time 1029 1029 |Duration|xs:duration 1030 -|XHTML|N/A [[~[1~]>>path:#_ftn1]]992 +|XHTML|N/A{{footnote}}These types are only used in complex types and will be discussed within their appropriate context.{{/footnote}} 1031 1031 |KeyValues|N/A^^1^^ 1032 1032 |IdentifiableReference|N/A^^1^^ 1033 1033 |DataSetReference|N/A^^1^^ ... ... @@ -1038,7 +1038,7 @@ 1038 1038 |**SDMX Facet**|**XML Schema Facet** 1039 1039 |minLength|xs:minLength 1040 1040 |maxLength|xs:maxLength 1041 -|minValue [[~[2~]>>path:#_ftn2]]|if ExclusiveValueRange: xs:minExclusives, else: xs:minInclusive1003 +|minValue{{footnote}}Note that these options only apply to numeric representations and should be ignored if the data type is non-numeric{{/footnote}}|if ExclusiveValueRange: xs:minExclusives, else: xs:minInclusive 1042 1042 |maxValue^^2^^|if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive 1043 1043 |decimals^^2^^|xs:fractionDigits 1044 1044 |pattern|xs:pattern ... ... @@ -1045,9 +1045,7 @@ 1045 1045 1046 1046 Any other facets are informational only, and will not affect the determined type. 1047 1047 1048 -1. 1049 -11. 1050 -111. //Type Names// 1010 +=== Type Names === 1051 1051 1052 1052 These rules will only dictate type names where absolutely necessary. In all other cases, it is the decision of the implementer as to how to name or use the type. It is also the implementer's requirement to ensure that any type name is properly unique within its scope. To assist in this, the following recommendations are offered for naming types such that they are unique. 1053 1053 ... ... @@ -1074,16 +1074,13 @@ 1074 1074 1075 1075 Only the constructs that will be detailed in the data and metadata structure-specific rules below are required to be in the specified target namespace of the structure-specific schema. So long as any other generated type conforms to the rules specified, it may exist in any namespace. 1076 1076 1077 -1. 1078 -11. Data Structure Specific Schema 1037 +== Data Structure Specific Schema == 1079 1079 1080 1080 Separate schemas will be created for the data structure depending on which dimension occurs at the observation level, and whether explicit measures are used in the case that the observation dimension is the measure dimension. The recommended target namespace of the data structured specific schema is: [Data Structure URN]:ObsLevelDim:[Observation Dimensions](:explicit)?. Note that the explicit trailer is only used when the measure dimension is used at the observation level and the explicit measure concepts are to be used. 1081 1081 1082 1082 The rules for generating the data structure specific-schema are broken into sections based on the level within the structure (i.e. data set, group, series, observation). Each section will state the rules for each variation of the structure specific format. 1083 1083 1084 -1. 1085 -11. 1086 -111. DataSetType 1043 +=== DataSetType === 1087 1087 1088 1088 A complex type named DataSetType must be created. Its content model will be derived via restriction. If the dimension at the observation level is the time dimension (TIME_PERIOD) the base type of the restriction is dsd:TimeSeriesDataSetType. Otherwise, the base type of the restriction is dsd:DataSetType. The complex type content model will be as follows: 1089 1089 ... ... @@ -1096,9 +1096,10 @@ 1096 1096 111. If the dimension at the observation level is AllDimensions, a local element named Obs with a form of unqualified, a maximum occurrence of unbounded, and a type of ObsType (as defined in the ObsType section which follows) 1097 1097 1. If the reporting year start day attribute is not declared in the data structure definition or if it is declared but does not declare an attribute relationship of None, an attribute named REPORTING_YEAR_START_DAY with a type of xs:gMonthDay and a usage of prohibited 1098 1098 1. An attribute for each attribute defined in the data structured definition that declares an attribute relationship of None. The XML attribute [[name>>path:#_Component_Name_Determination]] and [[type>>path:#_Simple_/_Primitive]] are defined according to the general rules defined in the previous section, and the usage is optional 1099 -11. 1100 -111. GroupType 1056 +11. 1101 1101 1058 +=== GroupType === 1059 + 1102 1102 If the data structure definition defines only one group, a complex type with its name taken from the identifier of the lone group must be defined. This type is used for the Group element in the DataSetType. Its content model will be derived via restriction of the dsd:GroupType. The complex type content model will be as follows: 1103 1103 1104 1104 1. A sequence consisting of: ... ... @@ -1125,9 +1125,9 @@ 1125 1125 1. If the reporting year start day attribute is not declared in the data structure definition or if it is declared but does not declare an attribute relationship with the group and does not specify the group as an attachment group, an attribute named REPORTING_YEAR_START_DAY with a type of xs:gMonthDay and a usage of prohibited 1126 1126 1. An attribute for each attribute defined in the data structure that declares an attribute relationship with the group or specifies the group as an attachment group. The XML attribute [[name>>path:#_Component_Name_Determination]] and [[type>>path:#_Simple_/_Primitive]] are defined according to the general rules defined in the previous section, and the usage is optional 1127 1127 1. An attribute named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group 1128 -11. 1129 -111. SeriesType 1130 1130 1087 +=== SeriesType === 1088 + 1131 1131 If the dimension at the observation is not AllDimensions, a complex type name SeriesType must be created. Its content model will be derived via restriction. If the dimension at the observation level is the time dimension (TIME_PERIOD) the base type of the restriction is dsd:TimeSeriesType. Otherwise, the base type of the restriction is dsd:SeriesType. The complex type content model will be as follows: 1132 1132 1133 1133 1. A sequence consisting of: ... ... @@ -1136,9 +1136,9 @@ 1136 1136 1. An attribute for each dimension defined by the data structure definition, except for the dimension at the observation level. The XML attribute [[name>>path:#_Component_Name_Determination]] and [[type>>path:#_Simple_/_Primitive]] are defined according to the general rules defined in the previous section, and the usage is required 1137 1137 1. If the reporting year start day attribute is not declared in the data structure definition or if it is declared and declares an attribute relationship of None, or with a group, or the dimension at the observation level, or specifies a group as an attachment group, an attribute named REPORTING_YEAR_START_DAY with a type of xs:gMonthDay and a usage of prohibited 1138 1138 1. An attribute for each attribute defined in the data structure that declares an attribute relationship with any dimension outside of the dimension at the observation level (so long as it does not also declare an attachment group). The XML attribute [[name>>path:#_Component_Name_Determination]] and [[type>>path:#_Simple_/_Primitive]] are defined according to the general rules defined in the previous section, and the usage is optional 1139 -11. 1140 -111. ObsType 1141 1141 1098 +=== ObsType === 1099 + 1142 1142 A complex type name ObsType must be created. Its content model will be derived via restriction. If the dimension at the observation level is the time dimension (TIME_PERIOD) the base type of the restriction is dsd:TimeSeriesObsType. Otherwise, the base type of the restriction is dsd:ObsType. If the explicit measure option is used, this complex type must be abstract. The complex type content model will be as follows: 1143 1143 1144 1144 1. A sequence consisting of: ... ... @@ -1161,9 +1161,7 @@ 1161 1161 1162 1162 The rules for generating the data structure specific-schema are broken into sections based on the level within the structure (i.e. metadata set, metadata targets, reports, metadata attributes). These rules will recommend names for generated types, and will refer back to these names throughout the description. These names are simply recommendations that should produce a unique name, but there is no requirement to use them. When a name is required, it will be made clear this is the case. 1163 1163 1164 -1. 1165 -11. 1166 -111. MetadataSetType 1122 +=== MetadataSetType === 1167 1167 1168 1168 A complex type that must be named MetadataSetType must be created. Its content model will be derived via restriction of the base type, msd:MetadataSetType. The complex type content model will be as follows: 1169 1169 ... ... @@ -1215,9 +1215,11 @@ 1215 1215 111. A local element named Ref, with a form of unqualified and a the type defined above as is [metadata target].[target object].Ref 1216 1216 111. A local element named URN, with a form of unqualified, a minimum occurrence of 0, and the type defined above as [item scheme agency].[item scheme identifier].[item scheme version].URN 1217 1217 11. A local element named URN, with a form of unqualified, and the type defined above as [item scheme agency].[item scheme identifier].[item scheme version].URN 1218 -111. 1219 -1111. Identifiable Object Target Type Determination 1220 1220 1175 + 1176 + 1177 +==== Identifiable Object Target Type Determination ==== 1178 + 1221 1221 An identifiable object target is meant to reference an SDMX identifiable object. In the metadata structure specific schema, the complex type which defines the reference is restricted according to the local representation and object type of the identifiable object target. If the identifiable object target does not provide an enumeration in its local representation, then the complex type for the target object is the specific reference type from the common namespace, based on the object type defined by the target object. For example, if the object type is DataProivder, the type will be common:DataProviderReferenceType. The general rule for the name of this type is common:[object type]ReferenceType. 1222 1222 1223 1223 If the target object defines an enumeration in its local representation, then the declared object type must be for the items contained the enumeration's referenced item scheme. If this is not true, the reference type as defined above is the type for the target object. ... ... @@ -1234,9 +1234,9 @@ 1234 1234 1. An attribute named maintinableParentID with a type of common:IDType, a use of required, and a fixed value of the identifier of the item scheme referenced from the enumeration 1235 1235 1. An attribute named maintainableParentVersion with a type of common:VersionType, a use of optional, and a fixed value of the version of the item scheme referenced from the enumeration 1236 1236 1. An attribute named id, with a use of option, and the type defined above as [item scheme agency].[item scheme identifier].[item scheme version].ID. 1237 -11. 1238 -111. ReportType 1239 1239 1196 +=== ReportType === 1197 + 1240 1240 A simple type with a recommend name of Report.ID must be created. This must restrict the common:IDType. For each report structure defined by the metadata structure definition, an enumeration will be created within the restriction with a value of the report structure identifier. 1241 1241 1242 1242 An abstract complex type with a recommended name of ReportType must be created. Its content model will be derived via restriction of the msd:ReportType. The complex type content model will be as follows: ... ... @@ -1284,34 +1284,28 @@ 1284 1284 1. 1285 1285 11. A local element named AttributeSet with a form of unqualified and a type as defined according to the rules defined in Attribute Set Complex Type Creation 1286 1286 1. An attribute named id with the type previously defined as Report.ID, a use of optional, and a fixed value of [report structure identifier] 1287 -11. 1288 -111. 1289 -1111. Attribute Set Complex Type Creation 1290 1290 1246 +=== Attribute Set Complex Type Creation === 1247 + 1291 1291 An attribute set is created for a report structure or a metadata attribute which contains child metadata attributes. This type is a complex type with a recommend name of [report structure identifier].[nested metadata attribute identifier].AttributeSet, where the metadata attribute section only applies to attribute sets created for metadata attributes and is assumed to consist of the full hierarchy of the metadata attribute's definition. This complex type must consists of: 1292 1292 1293 1293 1. A sequence consisting of: 1294 1294 11. A local element for each metadata attribute defined as a direct child of the object for which the attribute set is being created. The recommended name of this element is [metadata attribute identifier] and it has a form of unqualified. If the metadata attribute defines a minOccurs and maxOccurs, these values are translated to this element. The type of this element is the type previously created as [report structure identifier].[nested metadata attribute identifier]. 1295 1295 1296 -1. Special data functions 1297 -11. Updates 1253 += Special data functions = 1298 1298 1255 +== Updates == 1256 + 1299 1299 Both the generic and the structure-specific data messages allow for incremental updating of data. This purpose is noted in the action for the data set, which is either inherited from the header of the data message or explicitly stated at the data set level. 1300 1300 1301 - 1302 1302 A dataset with an action of Append is assumed to be an incremental update. This means that one the information provided explicitly in the message should be altered. Any data attribute or observation value that is to be changed must be provided. However, the absence of an observation value or a data attribute at any level does not imply deletion; instead it is simply implied that the value is to remain unchanged. Therefore, it is valid and acceptable to send a data message with an action of Append which contains only a Series elements with attribute values. In this case, the values for the attributes will be updated. Note that it is not permissible to update data attributes using partial keys (outside of those associated with defined groups). In order to update an attribute, a full key must always be provided even if the message format does not require this. 1303 1303 1304 -1. 1305 -11. Deletes 1261 +== Deletes == 1306 1306 1307 1307 Both the generic and the structure-specific data messages allow for incremental deletion of data. This purpose is noted in the action for the data set, which is either inherited from the header of the data message or explicitly stated at the data set level. 1308 1308 1309 - 1310 1310 A dataset with an action of Delete is assumed to be an incremental deletion. The deletion is assumed to take place of the lowest level of detail provided in the message. For example, if a delete message is sent with only a data set element, the entire data set will be deleted. On the other hand, if that data set contains a data attribute, only that data attribute value will be deleted. This same dynamic continues through the data set hierarchy. A data set containing only a series with no data attributes or observations will result in that entire series (all observations and data attributes) being deleted. If the series contains data attributes, only the supplied data attributes for that series will be deleted. Finally, if a series contains observations, then only the specified observations will be deleted. If an entire observation is to be deleted (value and data attributes), only the observation dimension should be provided. If only the observation value or particular data attributes are to be deleted, then these should be specified for the observation. Note that a group can only be used to delete the data attributes associated with it. Although the format might not require it, a full key must be provided to delete a series or observation. It is not permissible to wild card a key in order to delete more than one series or observation. Finally, to delete a data attribute or observation value it is recommended that the value to be deleted be supplied; however, it is only required that any valid value be provided. 1311 1311 1312 - 1313 1313 ---- 1314 1314 1315 -[[~[1~]>>path:#_ftnref1]] These types are only used in complex types and will be discussed within their appropriate context. 1316 - 1317 -[[~[2~]>>path:#_ftnref2]] Note that these options only apply to numeric representations and should be ignored if the data type is non-numeric 1269 +{{putFootnotes/}}