Last modified by Artur on 2025/09/10 11:19

From version 4.3
edited by Helena
on 2025/06/24 14:47
Change comment: There is no comment for this version
To version 5.1
edited by Helena
on 2025/06/24 15:00
Change comment: There is no comment for this version

Summary

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.
... ... @@ -207,16 +207,14 @@
207 207  
208 208  Derivation:
209 209  
210 -//com:AnnotableType// (extension) 
211 - [[image:1750765436901-853.png]]DataSetType (restriction) 
212 - [[image:1750765436906-461.png]]TimeSeriesDataSetType
219 +* //com:AnnotableType// (extension) 
220 +** DataSetType (restriction) 
221 +*** TimeSeriesDataSetType
213 213  
214 214  Attributes:
215 -
216 216  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
217 217  
218 218  Content:
219 -
220 220  com:Annotations?, DataProvider?, Attributes?, Group*, Series*
221 221  
222 222  Attribute Documentation:
... ... @@ -245,12 +245,11 @@
245 245  
246 246  Derivation:
247 247  
248 -//com:AnnotableType// (extension) 
249 - [[image:1750765436911-979.png]]SeriesType (restriction) 
250 - [[image:1750765436912-452.png]]TimeSeriesType
255 +* //com:AnnotableType// (extension) 
256 +** SeriesType (restriction) 
257 +*** TimeSeriesType
251 251  
252 252  Content:
253 -
254 254  com:Annotations?, SeriesKey, Attributes?, Obs*
255 255  
256 256  Element Documentation:
... ... @@ -265,12 +265,11 @@
265 265  
266 266  Derivation:
267 267  
268 -//com:AnnotableType// (extension) 
269 - [[image:1750765436913-909.png]]ObsType (restriction) 
270 - [[image:1750765436914-333.png]]TimeSeriesObsType
274 +* //com:AnnotableType// (extension) 
275 +** ObsType (restriction) 
276 +*** TimeSeriesObsType
271 271  
272 272  Content:
273 -
274 274  com:Annotations?, ObsDimension, ObsValue?, Attributes?
275 275  
276 276  Element Documentation:
... ... @@ -285,15 +285,13 @@
285 285  
286 286  Derivation:
287 287  
288 -BaseValueType (restriction) 
289 - [[image:1750765436914-771.png]]TimeValueType
293 +* BaseValueType (restriction) 
294 +** TimeValueType
290 290  
291 291  Attributes:
292 -
293 293  id?, value
294 294  
295 295  Content:
296 -
297 297  {Empty}
298 298  
299 299  Attribute Documentation:
... ... @@ -302,14 +302,11 @@
302 302  |id (fixed: TIME_PERIOD)|com:NCNameIDType|The id attribute contains the identifier for the component for which a value is being provided.
303 303  |value|com: ObservationalTimePer iodType|The value attribute contains the provided component value.
304 304  
305 -1.
306 -11. Structure Specific Data Namespace
308 +== 2.2 Structure Specific Data Namespace ==
307 307  
308 308  **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific**
309 309  
310 -1.
311 -11.
312 -111. Summary
312 +=== Summary ===
313 313  
314 314  Referenced Namespaces:
315 315  
... ... @@ -319,27 +319,22 @@
319 319  |http:~/~/www.w3.org/2001/XMLSchema|xs
320 320  
321 321  Contents:
322 -
323 323  7 Complex Types
324 324  1 Simple Type
325 325  
326 -1.
327 -11.
328 -111. Complex Types
325 +=== Complex Types ===
329 329  
330 330  **//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.
331 331  
332 332  Derivation:
333 333  
334 -//com:AnnotableType// (extension) 
335 - [[image:1750765436915-836.png]]//DataSetType//
331 +* //com:AnnotableType// (extension) 
332 +** //DataSetType//
336 336  
337 337  Attributes:
338 -
339 339  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?, dataScope, REPORTING_YEAR_START_DAY?
340 340  
341 341  Content:
342 -
343 343  com:Annotations?, DataProvider?, Group*, (Series+ | Obs+)?
344 344  
345 345  Attribute Documentation:
... ... @@ -370,15 +370,13 @@
370 370  
371 371  Derivation:
372 372  
373 -//com:AnnotableType// (extension) 
374 - [[image:1750765436916-983.png]]//GroupType//
368 +* //com:AnnotableType// (extension) 
369 +** //GroupType//
375 375  
376 376  Attributes:
377 -
378 378  type?, REPORTING_YEAR_START_DAY?
379 379  
380 380  Content:
381 -
382 382  com:Annotations?
383 383  
384 384  Attribute Documentation:
... ... @@ -396,15 +396,13 @@
396 396  
397 397  Derivation:
398 398  
399 -//com:AnnotableType// (extension) 
400 - //SeriesType//
392 +* //com:AnnotableType// (extension) 
393 +** //SeriesType//
401 401  
402 402  Attributes:
403 -
404 404  TIME_PERIOD?, REPORTING_YEAR_START_DAY?
405 405  
406 406  Content:
407 -
408 408  com:Annotations?, Obs*
409 409  
410 410  Attribute Documentation:
... ... @@ -423,15 +423,13 @@
423 423  
424 424  Derivation:
425 425  
426 -//com:AnnotableType// (extension) 
427 - //ObsType//
417 +* //com:AnnotableType// (extension) 
418 +** //ObsType//
428 428  
429 429  Attributes:
430 -
431 431  type?, TIME_PERIOD?, REPORTING_YEAR_START_DAY?, OBS_VALUE?
432 432  
433 433  Content:
434 -
435 435  com:Annotations?
436 436  
437 437  Attribute Documentation:
... ... @@ -451,16 +451,14 @@
451 451  
452 452  Derivation:
453 453  
454 -//com:AnnotableType// (extension) 
455 - //DataSetType// (restriction) 
456 - //TimeSeriesDataSetType//
443 +* //com:AnnotableType// (extension) 
444 +** //DataSetType// (restriction) 
445 +*** //TimeSeriesDataSetType//
457 457  
458 458  Attributes:
459 -
460 460  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?, dataScope, REPORTING_YEAR_START_DAY?
461 461  
462 462  Content:
463 -
464 464  com:Annotations?, DataProvider?, Group*, Series*
465 465  
466 466  Attribute Documentation:
... ... @@ -490,16 +490,14 @@
490 490  
491 491  Derivation:
492 492  
493 -//com:AnnotableType// (extension) 
494 - //SeriesType// (restriction) 
495 - TimeSeriesType
480 +* //com:AnnotableType// (extension) 
481 +** //SeriesType// (restriction) 
482 +*** TimeSeriesType
496 496  
497 497  Attributes:
498 -
499 499  REPORTING_YEAR_START_DAY?
500 500  
501 501  Content:
502 -
503 503  com:Annotations?, Obs*
504 504  
505 505  Attribute Documentation:
... ... @@ -517,16 +517,14 @@
517 517  
518 518  Derivation:
519 519  
520 -//com:AnnotableType// (extension) 
521 - //ObsType// (restriction) 
522 - //TimeSeriesObsType//
505 +* //com:AnnotableType// (extension) 
506 +** //ObsType// (restriction) 
507 +*** //TimeSeriesObsType//
523 523  
524 524  Attributes:
525 -
526 526  TIME_PERIOD, REPORTING_YEAR_START_DAY?, OBS_VALUE?
527 527  
528 528  Content:
529 -
530 530  com:Annotations?
531 531  
532 532  Attribute Documentation:
... ... @@ -541,9 +541,7 @@
541 541  |**Name**|**Type**|**Documentation**
542 542  |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.
543 543  
544 -1.
545 -11.
546 -111. Simple Types
527 +=== Simple Types ===
547 547  
548 548  **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.
549 549  
... ... @@ -557,14 +557,11 @@
557 557  |Dataflow|The data set conforms to the known allowable content constraints applied to the dataflow.
558 558  |ProvisionAgreement|The data set conforms to the known allowable content constraints applied to the provision agreement.
559 559  
560 -1.
561 -11. Generic Metadata Namespace
541 +== Generic Metadata Namespace ==
562 562  
563 563  **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic**
564 564  
565 -1.
566 -11.
567 -111. Summary
545 +=== Summary ===
568 568  
569 569  Referenced Namespaces:
570 570  
... ... @@ -573,26 +573,21 @@
573 573  |http:~/~/www.w3.org/2001/XMLSchema|xs
574 574  
575 575  Contents:
576 -
577 577  6 Complex Types
578 578  
579 -1.
580 -11.
581 -111. Complex Types
556 +=== Complex Types ===
582 582  
583 583  **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.
584 584  
585 585  Derivation:
586 586  
587 -//com:AnnotableType// (extension) 
588 - MetadataSetType
562 +* //com:AnnotableType// (extension) 
563 +** MetadataSetType
589 589  
590 590  Attributes:
591 -
592 592  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
593 593  
594 594  Content:
595 -
596 596  com:Annotations?, com:Name*, DataProvider?, Report+
597 597  
598 598  Attribute Documentation:
... ... @@ -620,15 +620,13 @@
620 620  
621 621  Derivation:
622 622  
623 -//com:AnnotableType// (extension) 
624 - ReportType
596 +* //com:AnnotableType// (extension) 
597 +** ReportType
625 625  
626 626  Attributes:
627 -
628 628  id
629 629  
630 630  Content:
631 -
632 632  com:Annotations?, Target, AttributeSet
633 633  
634 634  Attribute Documentation:
... ... @@ -646,11 +646,9 @@
646 646  **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.
647 647  
648 648  Attributes:
649 -
650 650  id
651 651  
652 652  Content:
653 -
654 654  ReferenceValue+
655 655  
656 656  Attribute Documentation:
... ... @@ -666,11 +666,9 @@
666 666  **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.
667 667  
668 668  Attributes:
669 -
670 670  id
671 671  
672 672  Content:
673 -
674 674  (ObjectReference | DataKey | DataSetReference | ConstraintContentReference | ReportPeriod)
675 675  
676 676  Attribute Documentation:
... ... @@ -690,7 +690,6 @@
690 690  **AttributeSetType: **AttributeSetType defines the structure for a collection of reported metadata attributes.
691 691  
692 692  Content:
693 -
694 694  ReportedAttribute+
695 695  
696 696  Element Documentation:
... ... @@ -702,15 +702,13 @@
702 702  
703 703  Derivation:
704 704  
705 -//com:AnnotableType// (extension) 
706 - ReportedAttributeType
671 +* //com:AnnotableType// (extension) 
672 +** ReportedAttributeType
707 707  
708 708  Attributes:
709 -
710 710  id, value?
711 711  
712 712  Content:
713 -
714 714  com:Annotations?, (com:Text+ | com:StructuredText+)?, AttributeSet?
715 715  
716 716  Attribute Documentation:
... ... @@ -727,14 +727,11 @@
727 727  |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.
728 728  |AttributeSet|AttributeSetType|AttributeSet contains the reported metadata attribute values for the child metadata attributes.
729 729  
730 -1.
731 -11. Structure Specific Metadata Namespace
694 +== Structure Specific Metadata Namespace ==
732 732  
733 733  **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific**
734 734  
735 -1.
736 -11.
737 -111. Summary
698 +=== Summary ===
738 738  
739 739  Referenced Namespaces:
740 740  
... ... @@ -744,26 +744,21 @@
744 744  |http:~/~/www.w3.org/2001/XMLSchema|xs
745 745  
746 746  Contents:
747 -
748 748  5 Complex Types
749 749  
750 -1.
751 -11.
752 -111. Complex Types
710 +=== Complex Types ===
753 753  
754 754  **//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.
755 755  
756 756  Derivation:
757 757  
758 -//com:AnnotableType// (extension) 
759 - //MetadataSetType//
716 +* //com:AnnotableType// (extension) 
717 +** //MetadataSetType//
760 760  
761 761  Attributes:
762 -
763 763  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
764 764  
765 765  Content:
766 -
767 767  com:Annotations?, com:Name*, DataProvider?, Report+
768 768  
769 769  Attribute Documentation:
... ... @@ -791,15 +791,13 @@
791 791  
792 792  Derivation:
793 793  
794 -//com:AnnotableType// (extension) 
795 - //ReportType//
750 +* //com:AnnotableType// (extension) 
751 +** //ReportType//
796 796  
797 797  Attributes:
798 -
799 799  id?
800 800  
801 801  Content:
802 -
803 803  com:Annotations?, Target, AttributeSet
804 804  
805 805  Attribute Documentation:
... ... @@ -817,11 +817,9 @@
817 817  **//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.
818 818  
819 819  Attributes:
820 -
821 821  id?
822 822  
823 823  Content:
824 -
825 825  ReferenceValue+
826 826  
827 827  Attribute Documentation:
... ... @@ -837,11 +837,9 @@
837 837  **//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.
838 838  
839 839  Attributes:
840 -
841 841  id?
842 842  
843 843  Content:
844 -
845 845  (ObjectReference | DataKey | DataSetReference | ConstraintContentReference | ReportPeriod)
846 846  
847 847  Attribute Documentation:
... ... @@ -862,15 +862,13 @@
862 862  
863 863  Derivation:
864 864  
865 -//com:AnnotableType// (extension) 
866 - //ReportedAttributeType//
815 +* //com:AnnotableType// (extension) 
816 +** //ReportedAttributeType//
867 867  
868 868  Attributes:
869 -
870 870  id?, value?, isMetadataAttribute?
871 871  
872 872  Content:
873 -
874 874  com:Annotations?, (com:Text+ | com:StructuredText+)?, AttributeSet?
875 875  
876 876  Attribute Documentation:
... ... @@ -888,9 +888,10 @@
888 888  |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.
889 889  |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.
890 890  
891 -1. Mapping to Structure-Specific Schemas
892 -11. General
839 += Mapping to Structure-Specific Schemas =
893 893  
841 +== General ==
842 +
894 894  Data structure and metadata structure-specific schemas are each based on one single core construct found in their respective structure-specific namespaces;
895 895  
896 896  Data  - http:~/~/www.SDMX.org/resources/SDMXML/schemas/v2_1/data/structurespecific
... ... @@ -899,9 +899,7 @@
899 899  
900 900  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.
901 901  
902 -1.
903 -11.
904 -111. Basic Terminology
851 +=== Basic Terminology ===
905 905  
906 906  In the subsequent sections, the following namespace prefixes are used:
907 907  
... ... @@ -947,8 +947,7 @@
947 947  
948 948  **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).
949 949  
950 -1.
951 -11. Namespace Rules
897 +== Namespace Rules ==
952 952  
953 953  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.
954 954  
... ... @@ -956,21 +956,17 @@
956 956  
957 957  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".
958 958  
959 -1.
960 -11. General Rules
905 +== General Rules ==
961 961  
962 962  The following section details the general rules which apply to all structure specific schema creation.
963 963  
964 -1.
965 -11.
966 -111. Component Name Determination
909 +=== Component Name Determination ===
967 967  
968 968  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:
969 969  
970 -1. If the component defines an identifier, the element or attribute name is the value of that identifier
971 -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).
972 -11.
973 -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
974 974  
975 975  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).
976 976  
... ... @@ -984,40 +984,27 @@
984 984  
985 985  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.
986 986  
987 -1.
988 -11.
989 -111. Simple / Primitive Type Determination
929 +=== Simple / Primitive Type Determination ===
990 990  
991 991  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:]].
992 992  
993 993  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.
994 994  
995 -1.
996 -11.
997 -111. Representation with Enumeration
935 +=== Representation with Enumeration ===
998 998  
999 999  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:
1000 1000  
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>
1001 1001  
1002 -<xs:simpleType name="ESTAT.CL_COUNTRY.1.0">
1003 1003  
1004 -<xs:restriction base="common:IDType">
948 +=== Representation with Text Format ===
1005 1005  
1006 -<xs:enumeration value="BE">
1007 -
1008 -<xs:annotation>
1009 -
1010 -<xs:documentation xml:lang="en">Belgium</xs:documentation>
1011 -
1012 -</xs:annotation>
1013 -
1014 -</xs:enumeration>
1015 -
1016 -
1017 -1.
1018 -11.
1019 -111. Representation with Text Format
1020 -
1021 1021  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:
1022 1022  
1023 1023  |**SDMX Data Type**|**XML Schema Data Type**
... ... @@ -1060,7 +1060,7 @@
1060 1060  |Day|xs:gDay
1061 1061  |Time|xs:time
1062 1062  |Duration|xs:duration
1063 -|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}}
1064 1064  |KeyValues|N/A^^1^^
1065 1065  |IdentifiableReference|N/A^^1^^
1066 1066  |DataSetReference|N/A^^1^^
... ... @@ -1071,7 +1071,7 @@
1071 1071  |**SDMX Facet**|**XML Schema Facet**
1072 1072  |minLength|xs:minLength
1073 1073  |maxLength|xs:maxLength
1074 -|minValue[[~[2~]>>path:#_ftn2]]|if ExclusiveValueRange: xs:minExclusives, else: xs:minInclusive
1003 +|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
1075 1075  |maxValue^^2^^|if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive
1076 1076  |decimals^^2^^|xs:fractionDigits
1077 1077  |pattern|xs:pattern
... ... @@ -1078,9 +1078,7 @@
1078 1078  
1079 1079  Any other facets are informational only, and will not affect the determined type.
1080 1080  
1081 -1.
1082 -11.
1083 -111. //Type Names//
1010 +=== Type Names ===
1084 1084  
1085 1085  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.
1086 1086  
... ... @@ -1107,16 +1107,13 @@
1107 1107  
1108 1108  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.
1109 1109  
1110 -1.
1111 -11. Data Structure Specific Schema
1037 +== Data Structure Specific Schema ==
1112 1112  
1113 1113  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.
1114 1114  
1115 1115  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.
1116 1116  
1117 -1.
1118 -11.
1119 -111. DataSetType
1043 +=== DataSetType ===
1120 1120  
1121 1121  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:
1122 1122  
... ... @@ -1129,9 +1129,10 @@
1129 1129  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)
1130 1130  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
1131 1131  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
1132 -11.
1133 -111. GroupType
1056 +11.
1134 1134  
1058 +=== GroupType ===
1059 +
1135 1135  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:
1136 1136  
1137 1137  1. A sequence consisting of:
... ... @@ -1158,9 +1158,9 @@
1158 1158  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
1159 1159  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
1160 1160  1. An attribute named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group
1161 -11.
1162 -111. SeriesType
1163 1163  
1087 +=== SeriesType ===
1088 +
1164 1164  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:
1165 1165  
1166 1166  1. A sequence consisting of:
... ... @@ -1169,9 +1169,9 @@
1169 1169  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
1170 1170  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
1171 1171  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
1172 -11.
1173 -111. ObsType
1174 1174  
1098 +=== ObsType ===
1099 +
1175 1175  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:
1176 1176  
1177 1177  1. A sequence consisting of:
... ... @@ -1194,9 +1194,7 @@
1194 1194  
1195 1195  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.
1196 1196  
1197 -1.
1198 -11.
1199 -111. MetadataSetType
1122 +=== MetadataSetType ===
1200 1200  
1201 1201  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:
1202 1202  
... ... @@ -1248,9 +1248,11 @@
1248 1248  111. A local element named Ref, with a form of unqualified and a the type defined above as is [metadata target].[target object].Ref
1249 1249  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
1250 1250  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
1251 -111.
1252 -1111. Identifiable Object Target Type Determination
1253 1253  
1175 +
1176 +
1177 +==== Identifiable Object Target Type Determination ====
1178 +
1254 1254  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.
1255 1255  
1256 1256  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.
... ... @@ -1267,9 +1267,9 @@
1267 1267  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
1268 1268  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
1269 1269  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.
1270 -11.
1271 -111. ReportType
1272 1272  
1196 +=== ReportType ===
1197 +
1273 1273  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.
1274 1274  
1275 1275  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:
... ... @@ -1317,34 +1317,28 @@
1317 1317  1.
1318 1318  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
1319 1319  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]
1320 -11.
1321 -111.
1322 -1111. Attribute Set Complex Type Creation
1323 1323  
1246 +=== Attribute Set Complex Type Creation ===
1247 +
1324 1324  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:
1325 1325  
1326 1326  1. A sequence consisting of:
1327 1327  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].
1328 1328  
1329 -1. Special data functions
1330 -11. Updates
1253 += Special data functions =
1331 1331  
1255 +== Updates ==
1256 +
1332 1332  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.
1333 1333  
1334 -
1335 1335  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.
1336 1336  
1337 -1.
1338 -11. Deletes
1261 +== Deletes ==
1339 1339  
1340 1340  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.
1341 1341  
1342 -
1343 1343  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.
1344 1344  
1345 -
1346 1346  ----
1347 1347  
1348 -[[~[1~]>>path:#_ftnref1]] These types are only used in complex types and will be discussed within their appropriate context.
1349 -
1350 -[[~[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/}}