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

From version 3.4
edited by Helena
on 2025/07/02 15:55
Change comment: There is no comment for this version
To version 3.7
edited by Helena
on 2025/07/02 16:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -425,57 +425,56 @@
425 425  
426 426  === 3.3.1 Component Name Determination ===
427 427  
428 -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 are as follows:
428 +When required to create an XML element or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], the name for a [[component>>doc:sdmx:Glossary.Component.WebHome]] is always its identifier. However, the identifier may be inherited. Therefore, the general rules are as follows:
429 429  
430 -1. If the component defines an identifier, the element or attribute name is the value of that identifier
431 -2. 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 identifier).
430 +1. If the [[component>>doc:sdmx:Glossary.Component.WebHome]] defines an identifier, the element or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name is the value of that identifier
431 +2. Otherwise, the element or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] name is the identifier of the (% style="color:#e74c3c" %)concept(%%) from which it takes its semantic (Note that this is technically the [[component>>doc:sdmx:Glossary.Component.WebHome]] identifier).
432 432  
433 433  === 3.3.2 Representation Determination ===
434 434  
435 -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).
435 +Every [[component>>doc:sdmx:Glossary.Component.WebHome]] has a [[representation>>doc:sdmx:Glossary.Representation.WebHome]] associated with it, whether it is defined as a local [[representation>>doc:sdmx:Glossary.Representation.WebHome]] in the [[component>>doc:sdmx:Glossary.Component.WebHome]] definition, or it is inherited from the (% style="color:#e74c3c" %)concept(%%) from which the [[component>>doc:sdmx:Glossary.Component.WebHome]] takes it semantic (as defined in the (% style="color:#e74c3c" %)concept(%%) identity of the [[component>>doc:sdmx:Glossary.Component.WebHome]]).
436 436  
437 -The representation of a component is determined by the following precedence:
437 +The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of a [[component>>doc:sdmx:Glossary.Component.WebHome]] is determined by the following precedence:
438 438  
439 -1. The local representation defined by the component
440 -1. The core representation defined in the concept from which the component takes its semantic
441 -1. A default representation of an un-faceted text format with a data type of String.
439 +1. The local [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined by the [[component>>doc:sdmx:Glossary.Component.WebHome]]
440 +1. The core [[representation>>doc:sdmx:Glossary.Representation.WebHome]] defined in the (% style="color:#e74c3c" %)concept(%%) from which the [[component>>doc:sdmx:Glossary.Component.WebHome]] takes its semantic
441 +1. A default [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of an un-faceted text format with a data type of String.
442 442  
443 -The representation will either define a text format, an enumeration with an enumeration format, or a union of the former with the value of a irrelevant representation ‘’ (tilde).
443 +The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] will either define a text format, an enumeration with an enumeration format, or a union of the former with the value of a irrelevant [[representation>>doc:sdmx:Glossary.Representation.WebHome]] ‘’ (tilde).
444 444  
445 -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 a codelist, hierarchy, or value list, for which an enumerated list of possible values can be created.
445 +A text format consists of a data type and an optional collection of [[facets>>doc:sdmx:Glossary.Facet.WebHome]]. It is the combination of these which determine the exact nature of the [[component>>doc:sdmx:Glossary.Component.WebHome]] [[representation>>doc:sdmx:Glossary.Representation.WebHome]]. An enumeration consists of a reference to a [[codelist>>doc:sdmx:Glossary.Code list.WebHome]], [[hierarchy>>doc:sdmx:Glossary.Hierarchy.WebHome]], or value list, for which an enumerated list of possible values can be created.
446 446  
447 447  === 3.3.3 Simple / Primitive Type Determination ===
448 448  
449 -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](#332-Representation-Determination).
449 +For any given [[representation>>doc:sdmx:Glossary.Representation.WebHome]], 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>>doc:sdmx:Glossary.Component.WebHome]] based on its [determined [[representation>>doc:sdmx:Glossary.Representation.WebHome]]](#332-[[Representation>>doc:sdmx:Glossary.Representation.WebHome]]-Determination).
450 450  
451 -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.
451 +For example, a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] may inherit its [[representation>>doc:sdmx:Glossary.Representation.WebHome]] for a (% style="color:#e74c3c" %)concept(%%), and the data type of a [[representation>>doc:sdmx:Glossary.Representation.WebHome]] 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 (% style="color:#e74c3c" %)concepts(%%) to avoid having to look up the (% style="color:#e74c3c" %)concept(%%) core [[representation>>doc:sdmx:Glossary.Representation.WebHome]] for very [[component>>doc:sdmx:Glossary.Component.WebHome]]. In this case, the type may be given a name based on the (% style="color:#e74c3c" %)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>>doc:sdmx:Glossary.Dimension.WebHome]], although named after the (% style="color:#e74c3c" %)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.
452 452  
453 453  === 3.3.4 Representation with Codelist Enumeration ===
454 454  
455 -A representation which defines an enumeration from a codelist or hierarchy will result in a simple type that is a restriction of the common:IDType. The simple type will define enumerations for each code in the codelist or hierarchy, accounting for extensions. 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:
455 +A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines an enumeration from a [[codelist>>doc:sdmx:Glossary.Code list.WebHome]] or [[hierarchy>>doc:sdmx:Glossary.Hierarchy.WebHome]] will result in a simple type that is a restriction of the common:IDType. The simple type will define enumerations for each [[code>>doc:sdmx:Glossary.Code.WebHome]] in the [[codelist>>doc:sdmx:Glossary.Code list.WebHome]] or [[hierarchy>>doc:sdmx:Glossary.Hierarchy.WebHome]], accounting for extensions. 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:
456 456  
457 -xml
458 - <xs:simpleType name="ESTAT.CL\_COUNTRY.1.0">
459 - <xs:restriction base="common:IDType">
460 - <xs:enumeration value="BE">
461 - <xs:annotation>
462 - <xs:documentation xml:lang="en">Belgium</xs:documentation>
463 - </xs:annotation>
464 - </xs:enumeration>
457 +> <xs:simpleType name="ESTAT.CL\_COUNTRY.1.0">
458 +> <xs:restriction base="common:IDType">
459 +> <xs:enumeration value="BE">
460 +> <xs:annotation>
461 +> <xs:documentation xml:lang="en">Belgium</xs:documentation>
462 +> </xs:annotation>
463 +> </xs:enumeration>
465 465  
466 466  === 3.3.5 Representation with Value List Enumeration ===
467 467  
468 -A representation which defines an enumeration from a value list will result in a simple type that is a restriction of the xs:string data type. The simple type will define enumerations for each value item in the value list. 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.
467 +A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines an enumeration from a value list will result in a simple type that is a restriction of the xs:string data type. The simple type will define enumerations for each value item in the value list. 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.
469 469  
470 470  === 3.3.6 Representation with Simple Text Format ===
471 471  
472 -A representation which defines a simple text format will result in a simple type or primitive type. The representation is simple if none of the following conditions are true:
471 +A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines a simple text format will result in a simple type or primitive type. The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is simple if none of the following conditions are true:
473 473  
474 -* representation max occurs is greater than 1
473 +* [[representation>>doc:sdmx:Glossary.Representation.WebHome]] max occurs is greater than 1
475 475  * text format data type is XHMTL
476 476  * text format is multi-lingual
477 477  
478 -If the representation is not simple, see the rules in the following section for complex text formats. If the representation is simple, the first step is to determine the base type from the text format data type:
477 +If the [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is not simple, see the rules in the following section for complex text formats. If the [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is simple, the first step is to determine the base type from the text format data type:
479 479  
480 480  (% style="width:679.294px" %)
481 481  |(% style="width:286px" %)**SDMX Data Type**|(% style="width:390px" %)**XML Schema Data Type**
... ... @@ -521,7 +521,7 @@
521 521  |(% style="width:286px" %)GeospatialInformation|(% style="width:390px" %)xs:string
522 522  |(% style="width:286px" %)XHTML|(% style="width:390px" %)See the following section for complex representations
523 523  
524 -If the text format does not specify any further facets, then the determined type is the listed type or a type which derives from the listed type without placing any addition restrictions on it. However, if one or more facets are specified, then a simple type based on the listed type is necessary. The simple type derives via restriction from the listed type and adds facets according to the following table (the values are mapped as is):
523 +If the text format does not specify any further [[facets>>doc:sdmx:Glossary.Facet.WebHome]], then the determined type is the listed type or a type which derives from the listed type without placing any addition restrictions on it. However, if one or more [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are specified, then a simple type based on the listed type is necessary. The simple type derives via restriction from the listed type and adds [[facets>>doc:sdmx:Glossary.Facet.WebHome]] according to the following table (the values are (% style="color:#e74c3c" %)mapped(%%) as is):
525 525  
526 526  (% style="width:1007.29px" %)
527 527  |(% style="width:267px" %)**SDMX Facet**|(% style="width:729px" %)**XML Schema Facet**
... ... @@ -532,37 +532,34 @@
532 532  |(% style="width:267px" %)decimals^^1^^|(% style="width:729px" %)xs:fractionDigits
533 533  |(% style="width:267px" %)pattern|(% style="width:729px" %)xs:pattern
534 534  
535 -Any other facets are informational only and will not affect the determined type.
534 +Any other [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are informational only and will not affect the determined type.
536 536  
537 537  === 3.3.7 Representation for Not Applicable Dimensions ===
538 538  
539 -Not applicable dimensions, i.e., when reported measures or attributes are not attached to those dimensions, take as value the tilde ‘’ character. This is required for datasets defined by a DSD that has the ‘evolving structure’ property set to true and that includes data from dataflows, which only use a subset of dimensions as defined by a dimension constraint. This is also required for data-related higher-level (i.e., attached to dataflow or partial list of Dimensions) reference metadata attributes that don’t have a fixed pre-defined attachment.
538 +Not applicable [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]], i.e., when reported [[measures>>doc:sdmx:Glossary.Measure.WebHome]] or [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are not attached to those [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]], take as value the tilde ‘’ character. This is required for [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] defined by a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] that has the ‘evolving structure’ property set to true and that includes data from [[dataflows>>doc:sdmx:Glossary.Dataflow.WebHome]], which only use a subset of [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] as defined by a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)constraint(%%). This is also required for data-related higher-(% style="color:#e74c3c" %)level(%%) (i.e., attached to [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] or partial list of [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]) [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] that don’t have a fixed pre-defined attachment.
540 540  
541 -To support a specific type and allow for a not applicable dimension value, the structure-specific schema must union the type with the common:NotApplicableType, which enumerates the tilde ‘’ character. This is as shown in the following example:
540 +To support a specific type and allow for a not applicable [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] value, the structure-specific schema must union the type with the common:NotApplicableType, which enumerates the tilde ‘’ character. This is as shown in the following example:
542 542  
543 -xml
544 - <xs:simpleType name="DecimalOrNotApplicableType">
545 - <xs:union memberTypes="xs:decimal common:NotApplicableType"/>
546 - </xs:simpleType>
542 +> <xs:simpleType name="DecimalOrNotApplicableType">
543 +> <xs:union memberTypes="xs:decimal common:NotApplicableType"/>
544 +> </xs:simpleType>
547 547  
548 548  For enumerated types, the generated structure-specific schema can include the special value in the enumeration or create a union between the enumerated type and the common:NotApplicableType.
549 549  
550 550  Option 1: Augmenting the enumeration with the special value
551 551  
552 -xml
553 - <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
554 - <xs:union memberTypes="CL\_SUBINDICATOR common:NotApplicableType"/>
555 - </xs:simpleType>
550 +> <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
551 +> <xs:union memberTypes="CL\_SUBINDICATOR common:NotApplicableType"/>
552 +> </xs:simpleType>
556 556  
557 557  Option 2: Extending the enumeration with the special value
558 558  
559 -xml
560 - <xs:simpleType name="CL\_ SUBINDICATOR ">
561 - <xs:restriction base="xs:string">
562 - <xs:enumeration value="A"/>
563 - <xs:enumeration value=""/>
564 - <xs:restriction>
565 - </xs:simpleType>
556 +> <xs:simpleType name="CL\_ SUBINDICATOR ">
557 +> <xs:restriction base="xs:string">
558 +> <xs:enumeration value="A"/>
559 +> <xs:enumeration value=""/>
560 +> <xs:restriction>
561 +> </xs:simpleType>
566 566  
567 567  For convenience the common schema provides the union types for the following data types.
568 568  
... ... @@ -599,38 +599,35 @@
599 599  
600 600  === 3.3.8 Representation for Intentionally Missing Measure and Attribute Values ===
601 601  
602 -For intentionally missing measure and attribute values, even if mandatory, the following special values can be used:
598 +For intentionally missing [[measure>>doc:sdmx:Glossary.Measure.WebHome]] and [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] values, even if mandatory, the following special values can be used:
603 603  
604 604  * NaN for all numeric types (float, double)
605 605  * #N/A for all other types
606 606  
607 -To support a specific type and allow for an intentionally missing measure or attribute value, the structure-specific schema must union the type with the common:MissingType, which enumerates the #N/A string. Note that XML natively already supports NaN for float and double values.
603 +To support a specific type and allow for an intentionally missing [[measure>>doc:sdmx:Glossary.Measure.WebHome]] or [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] value, the structure-specific schema must union the type with the common:MissingType, which enumerates the #N/A string. Note that XML natively already supports NaN for float and double values.
608 608  
609 609  This union is as shown in the following example:
610 610  
611 -xml
612 - <xs:simpleType name="DecimalOrMissingType">
613 - <xs:union memberTypes="xs:decimal common:MissingType"/>
614 - </xs:simpleType>
607 +> <xs:simpleType name="DecimalOrMissingType">
608 +> <xs:union memberTypes="xs:decimal common:MissingType"/>
609 +> </xs:simpleType>
615 615  
616 616  For enumerated types, the generated structure-specific schema can include the special value in the enumeration or create a union between the enumerated type and the common:MissingType.
617 617  
618 618  Option 1: Augmenting the enumeration with the special value
619 619  
620 -xml
621 - <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
622 - <xs:union memberTypes="CL\_SUBINDICATOR common:MissingType"/>
623 - </xs:simpleType>
615 + > <xs:simpleType name="CL\_SUBINDICATOR\_OR\_NOT\_APPLICABLE">
616 + > <xs:union memberTypes="CL\_SUBINDICATOR common:MissingType"/>
617 + > </xs:simpleType>
624 624  
625 625  Option 2: Extending the enumeration with the special value
626 626  
627 -xml
628 - <xs:simpleType name="CL\_ SUBINDICATOR ">
629 - <xs:restriction base="xs:string">
630 - <xs:enumeration value="A"/>
631 - <xs:enumeration value="#N/A"/>
632 - <xs:restriction>
633 - </xs:simpleType>
621 +> <xs:simpleType name="CL\_ SUBINDICATOR ">
622 +> <xs:restriction base="xs:string">
623 +> <xs:enumeration value="A"/>
624 +> <xs:enumeration value="#N/A"/>
625 +> <xs:restriction>
626 +> </xs:simpleType>
634 634  
635 635  For convenience the common schema provides the union types for the following data types.
636 636