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

From version 4.2
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  
... ... @@ -158,11 +158,9 @@
158 158  **BaseValueType: **BaseValueType is a general structure which contains a reference to a data structure definition component and a value for that component. In this structure the reference to the component is optional to allow for usages where the actual reference might be provided in another context.
159 159  
160 160  Attributes:
161 -
162 162  id?, value
163 163  
164 164  Content:
165 -
166 166  {Empty}
167 167  
168 168  Attribute Documentation:
... ... @@ -175,15 +175,13 @@
175 175  
176 176  Derivation:
177 177  
178 -BaseValueType (restriction) 
179 - [[image:1750765436897-317.png]]ObsValueType
181 +* BaseValueType (restriction) 
182 +** ObsValueType
180 180  
181 181  Attributes:
182 -
183 183  id?, value
184 184  
185 185  Content:
186 -
187 187  {Empty}
188 188  
189 189  Attribute Documentation:
... ... @@ -196,15 +196,13 @@
196 196  
197 197  Derivation:
198 198  
199 -BaseValueType (restriction) 
200 - [[image:1750765436899-296.png]]ComponentValueType
200 +* BaseValueType (restriction) 
201 +** ComponentValueType
201 201  
202 202  Attributes:
203 -
204 204  id, value
205 205  
206 206  Content:
207 -
208 208  {Empty}
209 209  
210 210  Attribute Documentation:
... ... @@ -217,16 +217,14 @@
217 217  
218 218  Derivation:
219 219  
220 -//com:AnnotableType// (extension) 
221 - [[image:1750765436901-853.png]]DataSetType (restriction) 
222 - [[image:1750765436906-461.png]]TimeSeriesDataSetType
219 +* //com:AnnotableType// (extension) 
220 +** DataSetType (restriction) 
221 +*** TimeSeriesDataSetType
223 223  
224 224  Attributes:
225 -
226 226  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
227 227  
228 228  Content:
229 -
230 230  com:Annotations?, DataProvider?, Attributes?, Group*, Series*
231 231  
232 232  Attribute Documentation:
... ... @@ -255,12 +255,11 @@
255 255  
256 256  Derivation:
257 257  
258 -//com:AnnotableType// (extension) 
259 - [[image:1750765436911-979.png]]SeriesType (restriction) 
260 - [[image:1750765436912-452.png]]TimeSeriesType
255 +* //com:AnnotableType// (extension) 
256 +** SeriesType (restriction) 
257 +*** TimeSeriesType
261 261  
262 262  Content:
263 -
264 264  com:Annotations?, SeriesKey, Attributes?, Obs*
265 265  
266 266  Element Documentation:
... ... @@ -275,12 +275,11 @@
275 275  
276 276  Derivation:
277 277  
278 -//com:AnnotableType// (extension) 
279 - [[image:1750765436913-909.png]]ObsType (restriction) 
280 - [[image:1750765436914-333.png]]TimeSeriesObsType
274 +* //com:AnnotableType// (extension) 
275 +** ObsType (restriction) 
276 +*** TimeSeriesObsType
281 281  
282 282  Content:
283 -
284 284  com:Annotations?, ObsDimension, ObsValue?, Attributes?
285 285  
286 286  Element Documentation:
... ... @@ -295,15 +295,13 @@
295 295  
296 296  Derivation:
297 297  
298 -BaseValueType (restriction) 
299 - [[image:1750765436914-771.png]]TimeValueType
293 +* BaseValueType (restriction) 
294 +** TimeValueType
300 300  
301 301  Attributes:
302 -
303 303  id?, value
304 304  
305 305  Content:
306 -
307 307  {Empty}
308 308  
309 309  Attribute Documentation:
... ... @@ -312,14 +312,11 @@
312 312  |id (fixed: TIME_PERIOD)|com:NCNameIDType|The id attribute contains the identifier for the component for which a value is being provided.
313 313  |value|com: ObservationalTimePer iodType|The value attribute contains the provided component value.
314 314  
315 -1.
316 -11. Structure Specific Data Namespace
308 +== 2.2 Structure Specific Data Namespace ==
317 317  
318 318  **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific**
319 319  
320 -1.
321 -11.
322 -111. Summary
312 +=== Summary ===
323 323  
324 324  Referenced Namespaces:
325 325  
... ... @@ -329,27 +329,22 @@
329 329  |http:~/~/www.w3.org/2001/XMLSchema|xs
330 330  
331 331  Contents:
332 -
333 333  7 Complex Types
334 334  1 Simple Type
335 335  
336 -1.
337 -11.
338 -111. Complex Types
325 +=== Complex Types ===
339 339  
340 340  **//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.
341 341  
342 342  Derivation:
343 343  
344 -//com:AnnotableType// (extension) 
345 - [[image:1750765436915-836.png]]//DataSetType//
331 +* //com:AnnotableType// (extension) 
332 +** //DataSetType//
346 346  
347 347  Attributes:
348 -
349 349  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?, dataScope, REPORTING_YEAR_START_DAY?
350 350  
351 351  Content:
352 -
353 353  com:Annotations?, DataProvider?, Group*, (Series+ | Obs+)?
354 354  
355 355  Attribute Documentation:
... ... @@ -380,15 +380,13 @@
380 380  
381 381  Derivation:
382 382  
383 -//com:AnnotableType// (extension) 
384 - [[image:1750765436916-983.png]]//GroupType//
368 +* //com:AnnotableType// (extension) 
369 +** //GroupType//
385 385  
386 386  Attributes:
387 -
388 388  type?, REPORTING_YEAR_START_DAY?
389 389  
390 390  Content:
391 -
392 392  com:Annotations?
393 393  
394 394  Attribute Documentation:
... ... @@ -406,15 +406,13 @@
406 406  
407 407  Derivation:
408 408  
409 -//com:AnnotableType// (extension) 
410 - //SeriesType//
392 +* //com:AnnotableType// (extension) 
393 +** //SeriesType//
411 411  
412 412  Attributes:
413 -
414 414  TIME_PERIOD?, REPORTING_YEAR_START_DAY?
415 415  
416 416  Content:
417 -
418 418  com:Annotations?, Obs*
419 419  
420 420  Attribute Documentation:
... ... @@ -433,15 +433,13 @@
433 433  
434 434  Derivation:
435 435  
436 -//com:AnnotableType// (extension) 
437 - //ObsType//
417 +* //com:AnnotableType// (extension) 
418 +** //ObsType//
438 438  
439 439  Attributes:
440 -
441 441  type?, TIME_PERIOD?, REPORTING_YEAR_START_DAY?, OBS_VALUE?
442 442  
443 443  Content:
444 -
445 445  com:Annotations?
446 446  
447 447  Attribute Documentation:
... ... @@ -461,16 +461,14 @@
461 461  
462 462  Derivation:
463 463  
464 -//com:AnnotableType// (extension) 
465 - //DataSetType// (restriction) 
466 - //TimeSeriesDataSetType//
443 +* //com:AnnotableType// (extension) 
444 +** //DataSetType// (restriction) 
445 +*** //TimeSeriesDataSetType//
467 467  
468 468  Attributes:
469 -
470 470  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?, dataScope, REPORTING_YEAR_START_DAY?
471 471  
472 472  Content:
473 -
474 474  com:Annotations?, DataProvider?, Group*, Series*
475 475  
476 476  Attribute Documentation:
... ... @@ -500,16 +500,14 @@
500 500  
501 501  Derivation:
502 502  
503 -//com:AnnotableType// (extension) 
504 - //SeriesType// (restriction) 
505 - TimeSeriesType
480 +* //com:AnnotableType// (extension) 
481 +** //SeriesType// (restriction) 
482 +*** TimeSeriesType
506 506  
507 507  Attributes:
508 -
509 509  REPORTING_YEAR_START_DAY?
510 510  
511 511  Content:
512 -
513 513  com:Annotations?, Obs*
514 514  
515 515  Attribute Documentation:
... ... @@ -527,16 +527,14 @@
527 527  
528 528  Derivation:
529 529  
530 -//com:AnnotableType// (extension) 
531 - //ObsType// (restriction) 
532 - //TimeSeriesObsType//
505 +* //com:AnnotableType// (extension) 
506 +** //ObsType// (restriction) 
507 +*** //TimeSeriesObsType//
533 533  
534 534  Attributes:
535 -
536 536  TIME_PERIOD, REPORTING_YEAR_START_DAY?, OBS_VALUE?
537 537  
538 538  Content:
539 -
540 540  com:Annotations?
541 541  
542 542  Attribute Documentation:
... ... @@ -551,9 +551,7 @@
551 551  |**Name**|**Type**|**Documentation**
552 552  |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.
553 553  
554 -1.
555 -11.
556 -111. Simple Types
527 +=== Simple Types ===
557 557  
558 558  **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.
559 559  
... ... @@ -567,14 +567,11 @@
567 567  |Dataflow|The data set conforms to the known allowable content constraints applied to the dataflow.
568 568  |ProvisionAgreement|The data set conforms to the known allowable content constraints applied to the provision agreement.
569 569  
570 -1.
571 -11. Generic Metadata Namespace
541 +== Generic Metadata Namespace ==
572 572  
573 573  **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic**
574 574  
575 -1.
576 -11.
577 -111. Summary
545 +=== Summary ===
578 578  
579 579  Referenced Namespaces:
580 580  
... ... @@ -583,26 +583,21 @@
583 583  |http:~/~/www.w3.org/2001/XMLSchema|xs
584 584  
585 585  Contents:
586 -
587 587  6 Complex Types
588 588  
589 -1.
590 -11.
591 -111. Complex Types
556 +=== Complex Types ===
592 592  
593 593  **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.
594 594  
595 595  Derivation:
596 596  
597 -//com:AnnotableType// (extension) 
598 - MetadataSetType
562 +* //com:AnnotableType// (extension) 
563 +** MetadataSetType
599 599  
600 600  Attributes:
601 -
602 602  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
603 603  
604 604  Content:
605 -
606 606  com:Annotations?, com:Name*, DataProvider?, Report+
607 607  
608 608  Attribute Documentation:
... ... @@ -630,15 +630,13 @@
630 630  
631 631  Derivation:
632 632  
633 -//com:AnnotableType// (extension) 
634 - ReportType
596 +* //com:AnnotableType// (extension) 
597 +** ReportType
635 635  
636 636  Attributes:
637 -
638 638  id
639 639  
640 640  Content:
641 -
642 642  com:Annotations?, Target, AttributeSet
643 643  
644 644  Attribute Documentation:
... ... @@ -656,11 +656,9 @@
656 656  **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.
657 657  
658 658  Attributes:
659 -
660 660  id
661 661  
662 662  Content:
663 -
664 664  ReferenceValue+
665 665  
666 666  Attribute Documentation:
... ... @@ -676,11 +676,9 @@
676 676  **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.
677 677  
678 678  Attributes:
679 -
680 680  id
681 681  
682 682  Content:
683 -
684 684  (ObjectReference | DataKey | DataSetReference | ConstraintContentReference | ReportPeriod)
685 685  
686 686  Attribute Documentation:
... ... @@ -700,7 +700,6 @@
700 700  **AttributeSetType: **AttributeSetType defines the structure for a collection of reported metadata attributes.
701 701  
702 702  Content:
703 -
704 704  ReportedAttribute+
705 705  
706 706  Element Documentation:
... ... @@ -712,15 +712,13 @@
712 712  
713 713  Derivation:
714 714  
715 -//com:AnnotableType// (extension) 
716 - ReportedAttributeType
671 +* //com:AnnotableType// (extension) 
672 +** ReportedAttributeType
717 717  
718 718  Attributes:
719 -
720 720  id, value?
721 721  
722 722  Content:
723 -
724 724  com:Annotations?, (com:Text+ | com:StructuredText+)?, AttributeSet?
725 725  
726 726  Attribute Documentation:
... ... @@ -737,14 +737,11 @@
737 737  |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.
738 738  |AttributeSet|AttributeSetType|AttributeSet contains the reported metadata attribute values for the child metadata attributes.
739 739  
740 -1.
741 -11. Structure Specific Metadata Namespace
694 +== Structure Specific Metadata Namespace ==
742 742  
743 743  **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific**
744 744  
745 -1.
746 -11.
747 -111. Summary
698 +=== Summary ===
748 748  
749 749  Referenced Namespaces:
750 750  
... ... @@ -754,26 +754,21 @@
754 754  |http:~/~/www.w3.org/2001/XMLSchema|xs
755 755  
756 756  Contents:
757 -
758 758  5 Complex Types
759 759  
760 -1.
761 -11.
762 -111. Complex Types
710 +=== Complex Types ===
763 763  
764 764  **//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.
765 765  
766 766  Derivation:
767 767  
768 -//com:AnnotableType// (extension) 
769 - //MetadataSetType//
716 +* //com:AnnotableType// (extension) 
717 +** //MetadataSetType//
770 770  
771 771  Attributes:
772 -
773 773  structureRef, setID?, action?, reportingBeginDate?, reportingEndDate?, validFromDate?, validToDate?, publicationYear?, publicationPeriod?
774 774  
775 775  Content:
776 -
777 777  com:Annotations?, com:Name*, DataProvider?, Report+
778 778  
779 779  Attribute Documentation:
... ... @@ -801,15 +801,13 @@
801 801  
802 802  Derivation:
803 803  
804 -//com:AnnotableType// (extension) 
805 - //ReportType//
750 +* //com:AnnotableType// (extension) 
751 +** //ReportType//
806 806  
807 807  Attributes:
808 -
809 809  id?
810 810  
811 811  Content:
812 -
813 813  com:Annotations?, Target, AttributeSet
814 814  
815 815  Attribute Documentation:
... ... @@ -827,11 +827,9 @@
827 827  **//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.
828 828  
829 829  Attributes:
830 -
831 831  id?
832 832  
833 833  Content:
834 -
835 835  ReferenceValue+
836 836  
837 837  Attribute Documentation:
... ... @@ -847,11 +847,9 @@
847 847  **//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.
848 848  
849 849  Attributes:
850 -
851 851  id?
852 852  
853 853  Content:
854 -
855 855  (ObjectReference | DataKey | DataSetReference | ConstraintContentReference | ReportPeriod)
856 856  
857 857  Attribute Documentation:
... ... @@ -872,15 +872,13 @@
872 872  
873 873  Derivation:
874 874  
875 -//com:AnnotableType// (extension) 
876 - //ReportedAttributeType//
815 +* //com:AnnotableType// (extension) 
816 +** //ReportedAttributeType//
877 877  
878 878  Attributes:
879 -
880 880  id?, value?, isMetadataAttribute?
881 881  
882 882  Content:
883 -
884 884  com:Annotations?, (com:Text+ | com:StructuredText+)?, AttributeSet?
885 885  
886 886  Attribute Documentation:
... ... @@ -898,9 +898,10 @@
898 898  |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.
899 899  |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.
900 900  
901 -1. Mapping to Structure-Specific Schemas
902 -11. General
839 += Mapping to Structure-Specific Schemas =
903 903  
841 +== General ==
842 +
904 904  Data structure and metadata structure-specific schemas are each based on one single core construct found in their respective structure-specific namespaces;
905 905  
906 906  Data  - http:~/~/www.SDMX.org/resources/SDMXML/schemas/v2_1/data/structurespecific
... ... @@ -909,9 +909,7 @@
909 909  
910 910  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.
911 911  
912 -1.
913 -11.
914 -111. Basic Terminology
851 +=== Basic Terminology ===
915 915  
916 916  In the subsequent sections, the following namespace prefixes are used:
917 917  
... ... @@ -957,8 +957,7 @@
957 957  
958 958  **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).
959 959  
960 -1.
961 -11. Namespace Rules
897 +== Namespace Rules ==
962 962  
963 963  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.
964 964  
... ... @@ -966,21 +966,17 @@
966 966  
967 967  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".
968 968  
969 -1.
970 -11. General Rules
905 +== General Rules ==
971 971  
972 972  The following section details the general rules which apply to all structure specific schema creation.
973 973  
974 -1.
975 -11.
976 -111. Component Name Determination
909 +=== Component Name Determination ===
977 977  
978 978  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:
979 979  
980 -1. If the component defines an identifier, the element or attribute name is the value of that identifier
981 -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).
982 -11.
983 -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
984 984  
985 985  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).
986 986  
... ... @@ -994,40 +994,27 @@
994 994  
995 995  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.
996 996  
997 -1.
998 -11.
999 -111. Simple / Primitive Type Determination
929 +=== Simple / Primitive Type Determination ===
1000 1000  
1001 1001  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:]].
1002 1002  
1003 1003  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.
1004 1004  
1005 -1.
1006 -11.
1007 -111. Representation with Enumeration
935 +=== Representation with Enumeration ===
1008 1008  
1009 1009  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:
1010 1010  
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>
1011 1011  
1012 -<xs:simpleType name="ESTAT.CL_COUNTRY.1.0">
1013 1013  
1014 -<xs:restriction base="common:IDType">
948 +=== Representation with Text Format ===
1015 1015  
1016 -<xs:enumeration value="BE">
1017 -
1018 -<xs:annotation>
1019 -
1020 -<xs:documentation xml:lang="en">Belgium</xs:documentation>
1021 -
1022 -</xs:annotation>
1023 -
1024 -</xs:enumeration>
1025 -
1026 -
1027 -1.
1028 -11.
1029 -111. Representation with Text Format
1030 -
1031 1031  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:
1032 1032  
1033 1033  |**SDMX Data Type**|**XML Schema Data Type**
... ... @@ -1070,7 +1070,7 @@
1070 1070  |Day|xs:gDay
1071 1071  |Time|xs:time
1072 1072  |Duration|xs:duration
1073 -|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}}
1074 1074  |KeyValues|N/A^^1^^
1075 1075  |IdentifiableReference|N/A^^1^^
1076 1076  |DataSetReference|N/A^^1^^
... ... @@ -1081,7 +1081,7 @@
1081 1081  |**SDMX Facet**|**XML Schema Facet**
1082 1082  |minLength|xs:minLength
1083 1083  |maxLength|xs:maxLength
1084 -|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
1085 1085  |maxValue^^2^^|if ExclusiveValueRange: xs:maxExclusives, else: xs:maxInclusive
1086 1086  |decimals^^2^^|xs:fractionDigits
1087 1087  |pattern|xs:pattern
... ... @@ -1088,9 +1088,7 @@
1088 1088  
1089 1089  Any other facets are informational only, and will not affect the determined type.
1090 1090  
1091 -1.
1092 -11.
1093 -111. //Type Names//
1010 +=== Type Names ===
1094 1094  
1095 1095  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.
1096 1096  
... ... @@ -1117,16 +1117,13 @@
1117 1117  
1118 1118  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.
1119 1119  
1120 -1.
1121 -11. Data Structure Specific Schema
1037 +== Data Structure Specific Schema ==
1122 1122  
1123 1123  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.
1124 1124  
1125 1125  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.
1126 1126  
1127 -1.
1128 -11.
1129 -111. DataSetType
1043 +=== DataSetType ===
1130 1130  
1131 1131  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:
1132 1132  
... ... @@ -1139,9 +1139,10 @@
1139 1139  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)
1140 1140  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
1141 1141  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
1142 -11.
1143 -111. GroupType
1056 +11.
1144 1144  
1058 +=== GroupType ===
1059 +
1145 1145  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:
1146 1146  
1147 1147  1. A sequence consisting of:
... ... @@ -1168,9 +1168,9 @@
1168 1168  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
1169 1169  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
1170 1170  1. An attribute named type with a type of Group.ID, usage of optional, and a fixed value of the identifier of the group
1171 -11.
1172 -111. SeriesType
1173 1173  
1087 +=== SeriesType ===
1088 +
1174 1174  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:
1175 1175  
1176 1176  1. A sequence consisting of:
... ... @@ -1179,9 +1179,9 @@
1179 1179  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
1180 1180  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
1181 1181  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
1182 -11.
1183 -111. ObsType
1184 1184  
1098 +=== ObsType ===
1099 +
1185 1185  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:
1186 1186  
1187 1187  1. A sequence consisting of:
... ... @@ -1204,9 +1204,7 @@
1204 1204  
1205 1205  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.
1206 1206  
1207 -1.
1208 -11.
1209 -111. MetadataSetType
1122 +=== MetadataSetType ===
1210 1210  
1211 1211  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:
1212 1212  
... ... @@ -1258,9 +1258,11 @@
1258 1258  111. A local element named Ref, with a form of unqualified and a the type defined above as is [metadata target].[target object].Ref
1259 1259  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
1260 1260  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
1261 -111.
1262 -1111. Identifiable Object Target Type Determination
1263 1263  
1175 +
1176 +
1177 +==== Identifiable Object Target Type Determination ====
1178 +
1264 1264  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.
1265 1265  
1266 1266  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.
... ... @@ -1277,9 +1277,9 @@
1277 1277  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
1278 1278  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
1279 1279  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.
1280 -11.
1281 -111. ReportType
1282 1282  
1196 +=== ReportType ===
1197 +
1283 1283  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.
1284 1284  
1285 1285  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:
... ... @@ -1327,34 +1327,28 @@
1327 1327  1.
1328 1328  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
1329 1329  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]
1330 -11.
1331 -111.
1332 -1111. Attribute Set Complex Type Creation
1333 1333  
1246 +=== Attribute Set Complex Type Creation ===
1247 +
1334 1334  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:
1335 1335  
1336 1336  1. A sequence consisting of:
1337 1337  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].
1338 1338  
1339 -1. Special data functions
1340 -11. Updates
1253 += Special data functions =
1341 1341  
1255 +== Updates ==
1256 +
1342 1342  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.
1343 1343  
1344 -
1345 1345  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.
1346 1346  
1347 -1.
1348 -11. Deletes
1261 +== Deletes ==
1349 1349  
1350 1350  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.
1351 1351  
1352 -
1353 1353  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.
1354 1354  
1355 -
1356 1356  ----
1357 1357  
1358 -[[~[1~]>>path:#_ftnref1]] These types are only used in complex types and will be discussed within their appropriate context.
1359 -
1360 -[[~[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/}}