Changes for page Part IV. Data and Reference Metadata Namespaces
Last modified by Elena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -379,45 +379,45 @@ 379 379 380 380 **Schema:** Refers to the format specific schema in general, and in particular the root xs:schema element of that schema file. 381 381 382 -**Global Element:** Refers to an element definition at the top level of the schema (i.e. an xs:element element in the root xs:schema element). It will define a name and type (name and type attributes) and possibly a substitution group (substitutionGroup attribute). 382 +**Global Element:** Refers to an element definition at the top (% style="color:#e74c3c" %)level(%%) of the schema (i.e. an xs:element element in the root xs:schema element). It will define a name and type (name and type [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]) and possibly a substitution group (substitutionGroup [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 383 383 384 -**Local Element:** Refers to an element definition within a complex type (i.e. an xs:element element contained within a xs:sequence element that is contained in a xs:complexType element). A local element must define a name and type (name and type attributes) and may also specify a minimum and maximum occurrence (minOccurs and maxOccurs attribute). 384 +**Local Element:** Refers to an element definition within a complex type (i.e. an xs:element element contained within a xs:sequence element that is contained in a xs:complexType element). A local element must define a name and type (name and type [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]) and may also specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 385 385 386 386 **Qualified/Unqualified Element:** A qualified element is an element that must be referred to by the namespace in which it was defined. An unqualified element does not have a namespace associated with it. The structure-specific schemas make use of unqualified elements to that the structure-specific schemas can restrict the base content to meet the specific needs of the structure, while maintaining as much of the original document structure as possible. 387 387 388 -**Element Reference:** Refers to an element definition within a complex type that is a reference to a global element (i.e. an xs:element element contained within a xs:sequence element that is contained in a xs:complexType element). An element reference must reference a global element (via its ref attribute) and may also specify a minimum and maximum occurrence (minOccurs and maxOccurs attribute). 388 +**Element Reference:** Refers to an element definition within a complex type that is a reference to a global element (i.e. an xs:element element contained within a xs:sequence element that is contained in a xs:complexType element). An element reference must reference a global element (via its ref [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and may also specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 389 389 390 -**Complex Type:** Refers to a complex type definition. In this context, all complex type definitions occur at the top level of the schema (i.e. an xs:complexType element in the root xs:schema element). A complex type must define a name (name attribute) and may be made abstract (via the abstract attribute’s boolean value). 390 +**Complex Type:** Refers to a complex type definition. In this context, all complex type definitions occur at the top (% style="color:#e74c3c" %)level(%%) of the schema (i.e. an xs:complexType element in the root xs:schema element). A complex type must define a name (name [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and may be made abstract (via the abstract [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]’s boolean value). 391 391 392 -**Simple Type:** Refers to a simple type definition. In this context, all simple type definitions occur at the top level of the schema (i.e. an xs:simpleType element in the root xs:schema element). In this context, a simple type will always be defined via a restriction (an xs:restriction element in the xs:simpleType element). The restriction will reference a base type. 392 +**Simple Type:** Refers to a simple type definition. In this context, all simple type definitions occur at the top (% style="color:#e74c3c" %)level(%%) of the schema (i.e. an xs:simpleType element in the root xs:schema element). In this context, a simple type will always be defined via a restriction (an xs:restriction element in the xs:simpleType element). The restriction will reference a base type. 393 393 394 394 **Anonymous Type:** A complex or simple type definition which occurs within an element definition. The method is sometimes referred to a the "Russian-doll" technique as it creates nested constructs. Anonymous types are not given names and cannot be abstract. The can however, be derived from other types. 395 395 396 396 **Content Group:** A group which defines a content model for reuse. This is contained in the xs:group element and is defined at the root of the schema. It allows for a common sequence or choice of elements to be reused across multiple types without having to redefine the sequence or choice in each type. 397 397 398 -**Uniqueness Constraint:** A uniqueness constraint is defined within an element and is used to force descendent elements to be unique based on some criteria of it fields (elements or attributes). This is defined in an \<xs:unique\> element and has content of an \<xs:selector\> and multiple \<xs:field\> elements. The selector designates the descendants that must be unique (with an xpath attribute) and the field specifies which property of the selected element must be unique (also with an xpath attribute) 398 +**Uniqueness (% style="color:#e74c3c" %)Constraint(%%):** A uniqueness (% style="color:#e74c3c" %)constraint(%%) is defined within an element and is used to force descendent elements to be unique based on some criteria of it fields (elements or [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]). This is defined in an \<xs:unique\> element and has content of an \<xs:selector\> and multiple \<xs:field\> elements. The selector designates the descendants that must be unique (with an xpath [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and the field specifies which property of the selected element must be unique (also with an xpath [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) 399 399 400 -**Extension:** Refers to the definition of a complex type that is an extension of another complex type. The extension will always make a reference to a base. In the schema, this is defined within the xs:complexType element as a child xs:complexContent element containing an xs:extension element (with a base attribute). 400 +**Extension:** Refers to the definition of a complex type that is an extension of another complex type. The extension will always make a reference to a base. In the schema, this is defined within the xs:complexType element as a child xs:complexContent element containing an xs:extension element (with a base [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 401 401 402 -**Restriction:** Refers to the definition of a simple or complex type that is a restriction of another type of the same variety. The restriction will always make a reference to a base. In the schema, this is defined with an xs:restriction element (with a base attribute). 402 +**Restriction:** Refers to the definition of a simple or complex type that is a restriction of another type of the same variety. The restriction will always make a reference to a base. In the schema, this is defined with an xs:restriction element (with a base [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 403 403 404 -**Sequence:** Refers to a sequence of elements that may be defined as the root of a complex type content model, or as part of the content of a choice or another sequence. This is defined as an xs:sequence element. The sequence may specify a minimum and maximum occurrence (minOccurs and maxOccurs attribute). 404 +**Sequence:** Refers to a sequence of elements that may be defined as the root of a complex type content model, or as part of the content of a choice or another sequence. This is defined as an xs:sequence element. The sequence may specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 405 405 406 -**Choice:** Refers to a choice of elements that may be defined as the root of a complex type content model, or as part of the content of a sequence or another choice. This is defined as an xs:choice element. The sequence may specify a minimum and maximum occurrence (minOccurs and maxOccurs attribute). 406 +**Choice:** Refers to a choice of elements that may be defined as the root of a complex type content model, or as part of the content of a sequence or another choice. This is defined as an xs:choice element. The sequence may specify a minimum and maximum occurrence (minOccurs and maxOccurs [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 407 407 408 -**Facet:** Refers to a single detail of a simple type restriction. This is represented by elements such as xs:minInclusive, xs:totalDigits, xs:minLength, and is contained in the xs:restriction element of a simple type definition. The value of the facet is contained in a value attribute of the particular element. 408 +**[[Facet>>doc:sdmx:Glossary.Facet.WebHome]]:** Refers to a single detail of a simple type restriction. This is represented by elements such as xs:minInclusive, xs:totalDigits, xs:minLength, and is contained in the xs:restriction element of a simple type definition. The value of the [[facet>>doc:sdmx:Glossary.Facet.WebHome]] is contained in a value [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the particular element. 409 409 410 -**Enumeration:** Refers to an enumerated value of a simple type definition. It is represented by an xs:enumeration element contained within an xs:restriction element of a simple type definition. An enumeration defines a value (in the value attribute) and documentation (in xs:documentation elements contained in an xs:annotation element). 410 +**Enumeration:** Refers to an enumerated value of a simple type definition. It is represented by an xs:enumeration element contained within an xs:restriction element of a simple type definition. An enumeration defines a value (in the value [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) and documentation (in xs:documentation elements contained in an xs:[[annotation>>doc:sdmx:Glossary.Annotation.WebHome]] element). 411 411 412 -**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). 412 +**XML [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]:** Refers to the definition of an XML [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for a complex type (i.e. and xs:[[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] element in a xs:complexType element). An [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] must define a name and type (name and type [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]]) and may also specify a usage (use [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]). 413 413 414 414 == 3.2 Namespace Rules == 415 415 416 -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. 416 +Each format specific schema will specify its namespace in the target namespace of the schema (the targetNamespace [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the schema). This document also assumes that the root namespace (that which is defined by the xmlns [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]]) 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. 417 417 418 418 The format specific schemas will incorporate the core format namespace and the common namespace by importing the schemas (via the xs:import element). If necessary, additional namespaces may be imported and referenced. 419 419 420 -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". 420 +For the purpose of the descriptions here, the default element form for the schema (as specified in the elementFormDefault [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the schema) is "qualified", and the default [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] form (as specified in the attributeFormDefault [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the schema) is "unqualified". 421 421 422 422 == 3.3 General Rules == 423 423 ... ... @@ -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 ... ... @@ -667,40 +667,40 @@ 667 667 668 668 === 3.3.9 Representation with Complex Text Format === 669 669 670 -A representation which defines a complex text format will result in a complex type. The representation is complex if any of the following conditions are true: 663 +A [[representation>>doc:sdmx:Glossary.Representation.WebHome]] which defines a complex text format will result in a complex type. The [[representation>>doc:sdmx:Glossary.Representation.WebHome]] is complex if any of the following conditions are true: 671 671 672 -* representation max occurs is greater than 1 665 +* [[representation>>doc:sdmx:Glossary.Representation.WebHome]] max occurs is greater than 1 673 673 * text format data type is XHMTL 674 674 * text format is multi-lingual 675 675 676 676 The resulting complex type will be derived via restriction of the common:ValueType. In simple cases, there are pre-defined types that can be used: 677 677 678 -* if the text format data type is XHTML, common:StructuredTextValueType can be used; note that this type cannot be further restricted – all other facets are ignored 679 -* if the text format is multi-lingual, common:TextValueType can be used; note that this type cannot be further restricted – all other facets are ignored 680 -* if the text format has no additional facets and the data type is: 681 - +Boolean, common:BooleanValueType can be used682 - +String, common:StringValueType can be used683 - +Integer, common:IntValueType can be used684 - +Double, common:DoubleValueType can be used685 - +ObservationalTimePeriod, common:ObservationalTimePeriodValueType can be used671 +* if the text format data type is XHTML, common:StructuredTextValueType can be used; note that this type cannot be further restricted – all other [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are ignored 672 +* if the text format is multi-lingual, common:TextValueType can be used; note that this type cannot be further restricted – all other [[facets>>doc:sdmx:Glossary.Facet.WebHome]] are ignored 673 +* if the text format has no additional [[facets>>doc:sdmx:Glossary.Facet.WebHome]] and the data type is: 674 +** Boolean, common:BooleanValueType can be used 675 +** String, common:StringValueType can be used 676 +** Integer, common:IntValueType can be used 677 +** Double, common:DoubleValueType can be used 678 +** ObservationalTimePeriod, common:ObservationalTimePeriodValueType can be used 686 686 687 -If a pre-defined type cannot be used, one will have to be created. The complex type must define a simple content restriction of the common:ValueType. The restriction should define an anonymous simple type based on the text format data type and facets as described in the previous section. 680 +If a pre-defined type cannot be used, one will have to be created. The complex type must define a simple content restriction of the common:ValueType. The restriction should define an anonymous simple type based on the text format data type and [[facets>>doc:sdmx:Glossary.Facet.WebHome]] as described in the previous section. 688 688 689 689 === 3.3.10 Type Names === 690 690 691 691 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. 692 692 693 -* It the type is an enumeration from an item scheme, the recommended name is [Item Scheme Class].[Maintenance Agency].[Item Scheme ID].[Item Scheme Version] 694 -* If the type is based on a text format of a concept core representation, the recommended name is Concept.[Maintenance Agency].[Concept Scheme ID].[Concept Scheme Version].[Concept ID] 695 -* If the type is based on a text format of a component local representation, and; 696 - +The component id is required to be unique for all components within the scope of the structure which defines it (e.g. a dimension), the recommended name is [Component ID]697 - +The component id is only required to be unique within the component list and which defines it (e.g. a metadata attribute), the recommend name is [Component List ID].[Parent Component ID]\*.[Component ID]686 +* It the type is an enumeration from an [[item scheme>>doc:sdmx:Glossary.Item scheme.WebHome]], the recommended name is ~[[[Item Scheme>>doc:sdmx:Glossary.Item scheme.WebHome]] Class].[Maintenance Agency].~[[[Item Scheme>>doc:sdmx:Glossary.Item scheme.WebHome]] ID].~[[[Item Scheme>>doc:sdmx:Glossary.Item scheme.WebHome]] Version] 687 +* If the type is based on a text format of a (% style="color:#e74c3c" %)concept(%%) core [[representation>>doc:sdmx:Glossary.Representation.WebHome]], the recommended name is (% style="color:#e74c3c" %)Concept(%%).[Maintenance Agency].[(% style="color:#e74c3c" %)Concept(%%) Scheme ID].[(% style="color:#e74c3c" %)Concept(%%) Scheme Version].[(% style="color:#e74c3c" %)Concept(%%) ID] 688 +* If the type is based on a text format of a [[component>>doc:sdmx:Glossary.Component.WebHome]] local [[representation>>doc:sdmx:Glossary.Representation.WebHome]], and; 689 +** The [[component>>doc:sdmx:Glossary.Component.WebHome]] id is required to be unique for all [[components>>doc:sdmx:Glossary.Component.WebHome]] within the scope of the structure which defines it (e.g. a [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]]), the recommended name is ~[[[Component>>doc:sdmx:Glossary.Component.WebHome]] ID] 690 +** The [[component>>doc:sdmx:Glossary.Component.WebHome]] id is only required to be unique within the [[component>>doc:sdmx:Glossary.Component.WebHome]] list and which defines it (e.g. a metadata attribute), the recommend name is [Component List ID].[Parent Component ID]\*.[Component ID] 698 698 699 699 === 3.3.11 Type Reuse === 700 700 701 701 It is possible that organisations that manage a large number of structure-specific schemas my wish to take advantage of the reuse of previously defined type in order to simply the structure-specific schema creation and lessen the number of schema elements which are created. The structure-specific formats are designed in such a way that this would be allowed without any adverse affects. 702 702 703 -For example, an organisation my create predefined types for all of codelists and concept schemes which their structures utilize. These could be contained in a common schema with any namespace deemed appropriate. This would allow the structure-specific schemas generation process to recognize the reused components and not be concerned with regenerating types. The logical flow for setting the representation of a component might be as follows: 696 +For example, an organisation my create predefined types for all of [[codelists>>doc:sdmx:Glossary.Code list.WebHome]] and [[concept schemes>>doc:sdmx:Glossary.Concept scheme.WebHome]] which their structures utilize. These could be contained in a common schema with any namespace deemed appropriate. This would allow the structure-specific schemas generation process to recognize the reused [[components>>doc:sdmx:Glossary.Component.WebHome]] and not be concerned with regenerating types. The logical flow for setting the [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of a [[component>>doc:sdmx:Glossary.Component.WebHome]] might be as follows: 704 704 705 705 Does the component define a local type? 706 706 Yes: Is that type enumerated? ... ... @@ -712,24 +712,24 @@ 712 712 713 713 == 3.4 Data-Structure-Specific Schema == 714 714 715 -Separate schemas will be created for the data structure depending on which dimension occurs at the observation level. The recommended target namespace of the data structured specific schema is: [Data Structure URN]:ObsLevelDim:[Observation Dimensions]. 708 +Separate schemas will be created for the data structure depending on which [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] occurs at the observation (% style="color:#e74c3c" %)level(%%). The recommended target namespace of the data structured specific schema is: [Data Structure URN]:ObsLevelDim:[Observation Dimensions]. 716 716 717 -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, attributes, observation). Each section will state the rules for each variation of the structure-specific format. 710 +The rules for generating the data-structure-specific-schema are broken into sections based on the (% style="color:#e74c3c" %)level(%%) within the structure (i.e. [[data set>>doc:sdmx:Glossary.Data set.WebHome]], group, series, [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]], observation). Each section will state the rules for each variation of the structure-specific format. 718 718 719 719 === 3.4.1 DataSetType === 720 720 721 -A complex type named DataSetType must be created. Its content model will be derived via restriction. The base type of the restriction is dsd:DataSetType. The complex type content model will be as follows: 714 +A complex type named DataSetType must be created. Its content model will be derived via restriction. The base type of the restriction is [[dsd>>doc:sdmx:Glossary.Data structure definition.WebHome]]:DataSetType. The complex type content model will be as follows: 722 722 723 723 ~1. A sequence consisting of: 724 724 725 -* i. An element reference to common:Annotations, with a minimum occurrence of 0 718 +* i. An element reference to common:[[Annotations>>doc:sdmx:Glossary.Annotation.WebHome]], with a minimum occurrence of 0 726 726 * ii A local element named DataProvider with the type common:DataProviderReferenceType, a form of unqualified and a minimum occurrence of 0 727 727 * iii A choice with a minimum occurrence of 0 and a maximum occurrence of unbounded consisting of: 728 728 ** a. A local element named Atts with a form of unqualified and a type of AttsType (as defined in the AttsType section which follows) 729 729 ** b. If the data structure defines groups, a local element named Group with a form of unqualified. The type of this element should be the type that is described in the GroupType section which follows. 730 -** c. If the dimension at the observation level is not AllDimensions, a local element named Series with a form of unqualified and a type of SeriesType (as defined in the SeriesType section which follows) 731 -** d. If the dimension at the observation level is AllDimensions, a local element named Obs with a form of unqualified and a type of ObsType (as defined in the ObsType section which follows) 732 -* iv. If any metadata attribute usages defined in the data structure that declares an attribute relationship of dataflow, a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurences of 0 723 +** c. If the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) is not AllDimensions, a local element named Series with a form of unqualified and a type of SeriesType (as defined in the SeriesType section which follows) 724 +** d. If the [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] at the observation (% style="color:#e74c3c" %)level(%%) is AllDimensions, a local element named Obs with a form of unqualified and a type of ObsType (as defined in the ObsType section which follows) 725 +* iv. If any metadata [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] usages defined in the data structure that declares an [[attribute relationship>>doc:sdmx:Glossary.Attribute relationship.WebHome]] of [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], a local element named Metadata with the type metadata:MetadataSetType a form of unqualified, and a minimum occurences of 0 733 733 734 734 === 3.4.2 GroupType === 735 735