From 8de2adc8b46c69c5d155d1578686fcc2f9b7895c Mon Sep 17 00:00:00 2001 From: sdmx3mdt <79863147+sdmx3mdt@users.noreply.github.com> Date: Tue, 2 Mar 2021 09:41:01 +0000 Subject: [PATCH] Initial draft SDMX 3.0 schemas Initial draft SDMX 3.0 schemas --- schemas/SDMXCommon.xsd | 759 ++++------- schemas/SDMXCommonReferences.xsd | 1131 +++++++++------- schemas/SDMXDataStructureSpecific.xsd | 281 +++- schemas/SDMXMessage.xsd | 1093 ++------------- schemas/SDMXMessageFooter.xsd | 7 +- schemas/SDMXMetadataGeneric.xsd | 177 +-- schemas/SDMXRegistry.xsd | 4 +- schemas/SDMXRegistryBase.xsd | 10 +- schemas/SDMXRegistryRegistration.xsd | 439 +++--- schemas/SDMXRegistryStructure.xsd | 8 +- schemas/SDMXRegistrySubscription.xsd | 1204 ++++++++--------- schemas/SDMXStructure.xsd | 224 ++- schemas/SDMXStructureBase.xsd | 165 +-- schemas/SDMXStructureCategorisation.xsd | 8 +- schemas/SDMXStructureCategory.xsd | 8 +- schemas/SDMXStructureCodelist.xsd | 280 +++- schemas/SDMXStructureConcept.xsd | 8 +- schemas/SDMXStructureConstraint.xsd | 635 +++++++-- schemas/SDMXStructureDataStructure.xsd | 345 +++-- schemas/SDMXStructureDataflow.xsd | 7 +- schemas/SDMXStructureHierarchicalCodelist.xsd | 162 +-- schemas/SDMXStructureMetadataStructure.xsd | 372 +---- schemas/SDMXStructureMetadataflow.xsd | 30 +- schemas/SDMXStructureOrganisation.xsd | 21 +- schemas/SDMXStructureProcess.xsd | 13 +- schemas/SDMXStructureProvisionAgreement.xsd | 45 +- schemas/SDMXStructureReportingTaxonomy.xsd | 19 +- schemas/SDMXStructureStructureMappings.xsd | 294 ++++ schemas/SDMXStructureTransformation.xsd | 12 +- 29 files changed, 3805 insertions(+), 3956 deletions(-) create mode 100644 schemas/SDMXStructureStructureMappings.xsd diff --git a/schemas/SDMXCommon.xsd b/schemas/SDMXCommon.xsd index 6243e16..d4b03a4 100644 --- a/schemas/SDMXCommon.xsd +++ b/schemas/SDMXCommon.xsd @@ -1,15 +1,116 @@ - - + + - + SDMX Common Namespace Module The common namespace module contains common constructs that are used by constructs in other namespaces. - + + + + ValueType is an abstract class that is the basis for any component value that cannot be simply represented as a space-normalized value (e.g. in an XML attribute). Although its content is mixed, it should be restricted so that only character data or the Text or Structured text is used. See StringValueType, IntValueType, ObserverationalTimeValueType, TextValueType, and StructuredTextValueType for details. + + + + + + + + + + BooleanValueType is a refinement of SimpleValueType limiting the content to be a boolean. + + + + + + + + + + + + + StringValueType is a refinement of SimpleValueType limiting the content to be a string. This can be further refined with facets, patterns, etc. + + + + + + + + + + + + + IntValueType is a refinement of SimpleValueType limiting the content to be an integer. This can be further refined ranges, etc. + + + + + + + + + + + + + DoubleValueType is a refinement of SimpleValueType limiting the content to be a double. This can be further refined ranges, etc. + + + + + + + + + + + + + ObservationalTimePeriodValueType is a refinement of SimpleValueType limiting the content to be an observational time period. + + + + + + + + + + + + + TextValueType is a restriction of ValueType that allows mutliple Text elements to expressed a text value in multiple languages. The content of this should be restricted in its use to only allow a langue code (xml:lang) to be used once within an element of this type. + + + + + + + + + + + + + StructuredTextValueType is a restriction of ValueType that allows mutliple StructuredText (XHTML mixed content) elements to expressed a text value in multiple languages. The content of this should be restricted in its use to only allow a langue code (xml:lang) to be used once within an element of this type. + + + + + + + + + + TextType provides for a set of language-specific alternates to be provided for any human-readable constructs in the instance. @@ -137,7 +238,150 @@ + + + + Allows for the linking of other resources to identifiable objects. For example, if there is reference metadata associated with a structure, a link to the meatadata report can be dynamically inserted in the structure metadata. + + + + + + + The type of object that is being linked to. + + + + + The url of the object being linked. + + + + + A SDMX registry urn of the object being linked (if applicable). + + + + + The type of link (e.g. PDF, text, HTML, reference metadata report). + + + + + + + IdentifiableType is an abstract base type for all identifiable objects. + + + + + + + + + The id is the identifier for the object. + + + + + The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details). + + + + + The uri attribute holds a URI that contains a link to a resource with additional information about the object, such as a web page. This uri is not a SDMX message. + + + + + + + + NameableType is an abstract base type for all nameable objects. + + + + + + + Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms. + + + + + Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms. + + + + + + + + + + VersionableType is an abstract base type for all versionable objects. + + + + + + This version attribute holds a version number in the format of #[.#]+ (see common:VersionType definition for details). If not supplied, the version number is defaulted to 1.0. + + + + + The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version. + + + + + The validTo attribute provides the inclusive end date for providing supplemental validity information about the version. + + + + + + + + + MaintainableBaseType is an abstract type that only serves the purpose of forming the base for the actual MaintainableType. The purpose of this type is to restrict the VersionableType to require the id attribute. + + + + + + + + + + + + + + + + + MaintainableType is an abstract base type for all maintainable objects. + + + + + + The agencyID must be provided, and identifies the maintenance agency of the object. + + + + + The isExternalReference attribute, if true, indicates that the actual object is not defined the corresponding element, rather its full details are defined elsewhere - indicated by either the registryURL, the repositoryURL, or the structureURL. The purpose of this is so that each structure message does not have to redefine object that are already defined elsewhere. If the isExternalReference attribute is not set, then it is assumed to be false, and the object should contain the full definition of its contents. If more than one of the registryURL, the repositoryURL, and the structureURL are supplied, then the application processing the object can choose the method it finds best suited to retrieve the details of the object. + + + + + + + + The SetAttributeGroup defines a common set of attributes for use in data and reference metadata sets. @@ -147,11 +391,6 @@ The structureRef contains a reference to a structural specification in the header of a data or reference metadata message. The structural specification details which structure the data or reference metadata conforms to, as well as providing additional information such as how the data is structure (e.g. which dimension occurs at the observation level for a data set). - - - The setID provides an identification of the data or metadata set. - - The action attribute indicates whether the file is appending, replacing, or deleting. @@ -167,16 +406,6 @@ The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set. - - - The validFromDate indicates the inclusive start time indicating the validity of the information in the data or metadata set. - - - - - The validToDate indicates the inclusive end time indicating the validity of the information in the data or metadata set. - - The publicationYear holds the ISO 8601 four-digit year. @@ -579,480 +808,9 @@ - - - - ContentConstraintTypeCodeType defines a list of types for a content constraint. A content constraint can state which data is present or which content is allowed for the constraint attachment. - - - - - The constraint contains the allowed values for attachable object. - - - - - The constraints contains the actual data present for the attachable object. - - - - - - - - RegionType is an abstract type which defines a generic constraint region. This type can be refined to define regions for data or metadata sets. A region is defined by a collection of key values - each of which a collection of values for a component which disambiguates data or metadata (i.e. dimensions or the target objects of a metadata target). For each region, as collection of attribute values can be provided. Taken together, the key values and attributes serve to identify or describe a subset of a data or metadata set. Finally, the region can flagged as being included or excluded, although this flag only makes sense when the region is used in a particular context. - - - - - KeyValue contains a reference to a component which disambiguates the data or metadata (i.e. a dimension or target object) and provides a collection of values for the component. The collection of values can be flagged as being inclusive or exclusive to the region being defined. Any key component that is not included is assumed to be wild carded, which is to say that the cube includes all possible values for the un-referenced key components. Further, this assumption applies to the values of the components as well. The values for any given component can only be sub-setted in the region by explicit inclusion or exclusion. For example, a dimension X which has the possible values of 1, 2, 3 is assumed to have all of these values if a key value is not defined. If a key value is defined with an inclusion attribute of true and the values of 1 and 2, the only the values of 1 and 2 for dimension X are included in the definition of the region. If the key value is defined with an inclusion attribute of false and the value of 1, then the values of 2 and 3 for dimension X are included in the definition of the region. Note that any given key component must only be referenced once in the region. - - - - - Attributes contains a reference to an attribute component (data or metadata) and provides a collection of values for the referenced attribute. This serves to state that for the key which defines the region, the attributes that are specified here have or do not have (depending to the include attribute of the value set) the values provided. It is possible to provide and attribute reference without specifying values, for the purpose of stating the attribute is absent (include = false) or present with an unbounded set of values. As opposed to key components, which are assumed to be wild carded if absent, no assumptions are made about the absence of an attribute. Only attributes which are explicitly stated to be present or absent from the region will be know. All unstated attributes for the set cannot be assumed to absent or present. - - - - - - The include attribute indicates that the region is to be included or excluded within the context in which it is defined. For example, if the regions is defined as part of a content constraint, the exclude flag would mean the data identified by the region is not present. - - - - - - - - ComponentValueSetType is an abstract base type which is used to provide a set of value for a referenced component. Implementations of this type will be based on a particular component type and refine the allowed values to reflect the types of values that are possible for that type of component. - - - - - Value provides a simple value for the component, such as a coded, numeric, or simple text value. This type of component value is applicable for dimensions and attributes. - - - - - DataSet provides a reference to a data set and is used to state a value for the data set target component in a metadata target. - - - - - DataKey provides a set of dimension references and value, which form a full or partial data key. This is used to state a value for the key descriptor values target component in a metadata target. - - - - - Object provides a reference to an Identifiable object in the SDMX Information Model. This is used to state a value for an identifiable target component in a metadata target. - - - - - TimeValue provides a value for a component which has a time representation. This is repeatable to allow for a range to be specified, although a single value can also be provided. An operator is available on this to indicate whether the specified value indicates an exact value or the beginning/end of a range (inclusive or exclusive). - - - - - - The id attribute provides the identifier for the component for which values are being provided. This base type allows for a nested identifier to be provided, for the purpose of referencing a nested component (i.e. a metadata attribute). However, specific implementations will restrict this representation to only allow single level identifiers where appropriate. - - - - - The include attribute indicates whether the values provided for the referenced component are to be included are excluded from the region in which they are defined. - - - - - - - DistinctKeyType is an abstract base type which is a special type of region that only defines a distinct region of data or metadata. For each component defined in the region, only a single values is provided. However, the same rules that apply to the general region about unstated components being wild carded apply here as well. Thus, this type can define a distinct full or partial key for data or metadata. - - - - - - - - - The include attribute has a fixed value of true for a distinct key, since such a key is always assumed to identify existing data or metadata. - - - - - - - - - - DinstinctKeyValueType is an abstract base type which defines a singular, required value for a key component. - - - - - - - - - - - - - - - - - - DataKeyType is a region which defines a distinct full or partial data key. The key consists of a set of values, each referencing a dimension and providing a single value for that dimension. The purpose of the key is to define a subset of a data set (i.e. the observed value and data attribute) which have the dimension values provided in this definition. Any dimension not stated explicitly in this key is assumed to be wild carded, thus allowing for the definition of partial data keys. - - - - - - - - - - - - - DataKeyValueType is a type for providing a dimension value for the purpose of defining a distinct data key. Only a single value can be provided for the dimension. - - - - - - - - - - - - - - MetadataKeyType is a region which defines a distinct full or partial metadata key. The key consists of a set of values, each referencing a target object for the metadata target referenced in the metadataTarget attribute, which must be defined in the report structure referenced in the report attribute. Each target object can be assigned a single value. If an target object from the reference metadata target is not included in this key, the value of that is assumed to be all known objects for a reference target object, all possible keys for a key descriptor values target object, or all dates for report period target object. The purpose of this key reference a metadata conforming to a particular report structure for given object or set of objects. - - - - - - - - - The report attribute is required and holds the identifier of the report structure which the reference metadata being defined by this key is based on. - - - - - The metadataTarget attribute is required and identifies the metadata target for the report structure which this key is based upon. Note that a report structure can have multiple metadata targets, so to properly determine the object or objects for which the key applies, the proper metadata target must be identified. - - - - - - - - - MetadataKeyValueType is a type for providing a target object value for the purpose of defining a distinct metadata key. Only a single value can be provided for the target object. - - - - - - - - - - - - - - - - - CubeRegionType defines the structure of a data cube region. This is based on the abstract RegionType and simply refines the key and attribute values to conform with what is applicable for dimensions and attributes, respectively. See the documentation of the base type for more details on how a region is defined. - - - - - - - - - - - - - - MetadataTargetRegionType defines the structure of a metadata target region. A metadata target region must define the report structure and the metadata target from that structure on which the region is based. This type is based on the abstract RegionType and simply refines the key and attribute values to conform with what is applicable for target objects and metadata attributes, respectively. See the documentation of the base type for more details on how a region is defined. - - - - - - - - - - The report attribute is required and holds the identifier of the report structure which the reference metadata being defined by this region is based on. - - - - - The metadataTarget attribute is required and identifies the metadata target for the report structure which this region is based upon. Note that a report structure can have multiple metadata targets, so to properly determine the object or objects for which the region applies, the proper metadata target must be identified. - - - - - - - - - CubeRegionKeyType is a type for providing a set of values for a dimension for the purpose of defining a data cube region. A set of distinct value can be provided, or if this dimension is represented as time, and time range can be specified. - - - - - - - - - - - - - - - MetadataTargetRegionKeyType is a type for providing a set of values for a target object in a metadata target of a re fence metadata report. A set of values or a time range can be provided for a report period target object. A collection of the respective types of references can be provided for data set reference and identifiable object reference target objects. For a key descriptor values target object, a collection of data keys can be provided. - - - - - - - - - - - - - - - - - - AttributeValueSetType defines the structure for providing values for a data attribute. If no values are provided, the attribute is implied to include/excluded from the region in which it is defined, with no regard to the value of the data attribute. Note that for metadata attributes which occur within other metadata attributes, a nested identifier can be provided. For example, a value of CONTACT.ADDRESS.STREET refers to the metadata attribute with the identifier STREET which exists in the ADDRESS metadata attribute in the CONTACT metadata attribute, which is defined at the root of the report structure. - - - - - - - - - - - - - - - MetadataAttributeValueSetType defines the structure for providing values for a metadata attribute. If no values are provided, the attribute is implied to include/excluded from the region in which it is defined, with no regard to the value of the metadata attribute. - - - - - - - - - - - - - - SimpleValueType contains a simple value for a component, and if that value is from a code list, the ability to indicate that child codes in a simple hierarchy are part of the value set of the component for the region. - - - - - - The cascadeValues attribute, if true, indicates that if the value is taken from a code all child codes in a simple hierarchy are understood be included in the region. - - - - - - - - - SimpleKeyValueType derives from the SimpleValueType, but does not allow for the cascading of value in the hierarchy, as keys are meant to describe a distinct full or partial key. - - - - - - - - - - - TimeRangeValueType allows a time period value to be expressed as a range. It can be expressed as the period before a period, after a period, or between two periods. Each of these properties can specify their inclusion in regards to the range. - - - - - BeforePeriod is the period before which the period is meant to cover. This date may be inclusive or exclusive in the range. - - - - - AfterPeriod is the period after which the period is meant to cover. This date may be inclusive or exclusive in the range. - - - - - - StartPeriod is the start date or the range that the queried date must occur within. This date may be inclusive or exclusive in the range. - - - - - EndPeriod is the end period of the range. This date may be inclusive or exclusive in the range. - - - - - - - - TimePeriodRangeType defines a time period, and indicates whether it is inclusive in a range. - - - - - - The isInclusive attribute, when true, indicates that the time period specified is included in the range. - - - - - - - - - SimpleOperatorType provides an enumeration of simple operators to be applied to any value. - - - - - (!=) - value must not be equal to the value supplied. - - - - - (=) - value must be exactly equal to the value supplied. - - - - - - - - RangeOperatorType provides an enumeration of range operators to be applied to an ordered value. - - - - - (>=) - value must be greater than or equal to the value supplied. - - - - - (<=) - value must be less than or equal to the value supplied. - - - - - (>) - value must be greater than the value supplied. - - - - - (<) - value must be less than the value supplied. - - - - - - - - TextSearchOperatorType provides an enumeration of text search operators. - - - - - The text being searched must contain the supplied text. - - - - - The text being searched must start with the supplied text. - - - - - The text being searched must end with the supplied text. - - - - - The text being searched cannot contain the supplied text. - - - - - The text being searched cannot start with the supplied text. - - - - - The text being searched cannot end with the supplied text. - - - - - - - - OrderedOperatorType combines the SimpleOperatorType and the RangeOperatorType to provide a full range or operators for any ordered value. - - - - - - - - - - - - - - TimeOperatorType derives from the OrderedOperatorType to remove the notEqual operator. - - - - - - - - - - - + PayloadStructureType is an abstract base type used to define the structural information for data or metadata sets. A reference to the structure is provided (either explicitly or through a reference to a structure usage). @@ -1338,7 +1096,6 @@ - GenericMetadataStructureType defines the structural information for a generic metadata message. @@ -1357,6 +1114,19 @@ + + + + + + + ExcludeRootType is a single enumerated value that indciates that child values should be included, but that the actuall root should not. + + + + + + ObservationDimensionType allows for the dimension at the observation level to be specified by either providing the dimension identifier or using the explicit value "AllDimensions". @@ -1602,11 +1372,6 @@ This value indicates that the content of the component will be reference to a data provider, which is actually a formal reference to a data provider and a data set identifier value. - - - This value indicates that the content of the component will be reference to an attachment constraint, which is actually a combination of a collection of full or partial key values and a reference to a data set or data structure, usage, or provision agreement. - - diff --git a/schemas/SDMXCommonReferences.xsd b/schemas/SDMXCommonReferences.xsd index e546f78..159053f 100644 --- a/schemas/SDMXCommonReferences.xsd +++ b/schemas/SDMXCommonReferences.xsd @@ -1,6 +1,6 @@ - - + + @@ -19,6 +19,13 @@ + + + WildcardNestedIDTypeType combines the NestedIDType and WildcardType to allow a reference to either a specific nested identifier, or to wildcard the identifier in the reference by specifying the '*' value. + + + + TwoLevelIDType defines an identifier with exactly two levels. @@ -37,6 +44,13 @@ + + + WildcardIDTypeType combines the IDType and WildcardType to allow a reference to either a specific identifier, or to wildcard the identifier in the reference by specifying the '*' value. + + + + NCNameIDType restricts the IDType, so that the id may be used to generate valid XML components. IDs created from this type conform to the W3C XML Schema NCNAME type, and therefore can be used as element or attribute names. @@ -66,33 +80,74 @@ - VersionType is used to communicate version information. The format is restricted to allow for simple incrementing and sorting of version number. The version consists of an unlimited set of numeric components, separated by the '.' character. When processing version, each numeric component (the number preceding and following any '.' character) should be parsed as an integer. Thus, a version of 1.3 and 1.03 would be equivalent, as both the '3' component and the '03' component would parse to an integer value of 3. + VersionType is used to communicate version information. Semantic versioning, based on 3 or 4 version parts (major.minor.patch[-extension]) is supported. The legency SDMX version format is also support. + + + + + + + VersionReferenceType defines the structure of version number in a reference. When semantic versioning is used, the major, minor, or patch version parts can be wildcarded using "+" as an extension. For example, 2+.3.1 means the currently latest available version >= 2.3.1 (even if not backwards compatible). Note that wildcarded semantic version references cannot be combined with version extended reference (e.g. 2.3+.1-draft is not permissable). Version-extended (e.g. 1.3.1-draft) and legacy version numbers (e.g. 1 or 1.0) are also supported. + + + + + + + SemanticVersionNumberType is a simple type for validating semantic version in the format (major.minor.patch[-extension]). - + - + - VersionQueryType combines the VersionType and LateBoundVersionType to allow one to query for either a specific version of an object, or the latest version by specifying the '*' value. + SemanticVersionReferenceType is a simple type for referencing semantic version numbers. It allows for the wildcarding of the major, minor, or patch version parts using "+". - + + + + + + + + LegacyVersionNumberType describes the version number format previously supported in SDMX. The format is restricted to allow for simple incrementing and sorting of version number. The version consists of an unlimited set of numeric components, separated by the '.' character. When processing version, each numeric component (the number preceding and following any '.' character) should be parsed as an integer. Thus, a version of 1.3 and 1.03 would be equivalent, as both the '3' component and the '03' component would parse to an integer value of 3. + + + + - + - LateBoundVersionType is a single value code list, used to include the '*' character - indicating that the latest version of an object is required. + WildcardVersionType combines the VersionType and WildcardType to allow a reference to either a specific version of an object, or to wildcard the version in the reference by specifying the '*' value. + + + + + + + WildcardType is a single value code list, used to include the '*' character - indicating that the identification component is wildcarded. - Indicates that the latest version of an object is requested. + Indicates that any value of the identifier component is allowed. + + + A restriction of WildcardVersionType the does not allow wildcarding. This allows proper retrictions to be placed on explicit references. + + + + + + EmptyType is an empty complex type for elements where the presence of the tag indicates all that is necessary. @@ -107,7 +162,7 @@ - + Ref is used to provide a complete set of reference fields. Derived reference types will restrict the RefType so that the content of the Ref element requires exactly what is needed for a complete reference. @@ -126,36 +181,36 @@ - + - RefBaseType is an abstract base type the defines the basis for any set of complete reference fields. This should be refined by derived types so that only the necessary fields are available and required as necessary. This can be used for both full and local references (when some of the values are implied from another context). A local reference is indicated with the local attribute. The values in this type correspond directly to the components of the URN structure, and thus can be used to compose a URN when the local attribute value is false. As this is the case, any reference components which are not part of the URN structure should not be present in the derived types. + WildcardRefBaseType is an abstract base type the defines the basis for any set of complete reference fields, while allowing for the wildcarding of components. This should be refined by derived types so that only the necessary fields are available and required as necessary. This can be used for both full and local references (when some of the values are implied from another context). A local reference is indicated with the local attribute. The values in this type correspond directly to the components of the URN structure, and thus can be used to compose a URN when the local attribute value is false. As this is the case, any reference components which are not part of the URN structure should not be present in the derived types. - + The agencyID attribute identifies the maintenance agency for the object being referenced (agency-id in the URN structure). This is optional to allow for local references (where the other reference fields are inferred from another context), but all complete references will require this. - + The maintainableParentID attribute identifies the maintainable object in which the referenced object is defined, if applicable (maintainable-parent-object-id in the URN structure). This is only used in references where the referenced object is not itself maintainable. - + The maintainableParentVersion attribute identifies the version of the maintainable object in which the referenced object is defined (maintainable-parent-object-version in the URN structure). This is only used in references where the referenced object is not itself maintainable. This should only be used when the maintainableParentID is present. If this is available, a default of 1.0 will always apply. - + The containerID attribute identifies the object within a maintainable object in which the referenced object is defined (container-object-id in the URN structure). This is only used in references where the referenced object is not contained directly within a maintainable object (e.g. a Component within a ComponentList, within a maintainable Structure). If the container has a fixed identifier, this attribute will not be present. - + The id attribute identifies the object being referenced, and is therefore always required. - + The version attribute identifies the version of the object being reference, if applicable. If this is available, a default value of 1.0 will always apply. @@ -176,6 +231,61 @@ + + + + RefBaseType is an abstract base type the defines the basis for any set of complete reference fields. This should be refined by derived types so that only the necessary fields are available and required as necessary. This can be used for both full and local references (when some of the values are implied from another context). A local reference is indicated with the local attribute. The values in this type correspond directly to the components of the URN structure, and thus can be used to compose a URN when the local attribute value is false. As this is the case, any reference components which are not part of the URN structure should not be present in the derived types. + + + + + + The agencyID attribute identifies the maintenance agency for the object being referenced (agency-id in the URN structure). This is optional to allow for local references (where the other reference fields are inferred from another context), but all complete references will require this. + + + + + The maintainableParentID attribute identifies the maintainable object in which the referenced object is defined, if applicable (maintainable-parent-object-id in the URN structure). This is only used in references where the referenced object is not itself maintainable. + + + + + The maintainableParentVersion attribute identifies the version of the maintainable object in which the referenced object is defined (maintainable-parent-object-version in the URN structure). This is only used in references where the referenced object is not itself maintainable. This should only be used when the maintainableParentID is present. If this is available, a default of 1.0 will always apply. + + + + + The containerID attribute identifies the object within a maintainable object in which the referenced object is defined (container-object-id in the URN structure). This is only used in references where the referenced object is not contained directly within a maintainable object (e.g. a Component within a ComponentList, within a maintainable Structure). If the container has a fixed identifier, this attribute will not be present. + + + + + The id attribute identifies the object being referenced, and is therefore always required. + + + + + The version attribute identifies the version of the object being reference, if applicable. If this is available, a default value of 1.0 will always apply. + + + + + The local attribute indicates whether this set of reference fields is meant for local referencing, in which case some of the reference fields will be implied from another context. Concrete instances of this class will always fix this value to either true or false, depending on their intended usage. If the value is fixed to true, then the complete set of reference fields will be required and a URN can be fully composed from the values. + + + + + The class attribute indicates the class name of the object being referenced. This attribute allows any reference to be processed generically from this definition. References derived from this should fix the value of this attribute to indicate the type of object that is being referenced, or in the case that a reference which allows specific types of fields, the representation should be sub-setted to the appropriate values. + + + + + The package attribute indicates the package name for the object being referenced. This attribute allows any reference to be processed generically from this definition. References derived from this should fix the value of this attribute to indicate the type of object that is being referenced, or in the case that a reference which allows specific types of fields, the representation should be sub-setted to the appropriate values. + + + + + @@ -189,11 +299,11 @@ - + - + ObjectRefType contains a set of reference fields for the purpose of referencing any object. This cannot be a local reference, therefore the agency identifier is required. It is also required that the class and package be supplied for the referenced object such that a complete URN reference can be built from the values provided. Note that this is not capable of fully validating that all necessary fields are supplied for a given object type. @@ -207,7 +317,38 @@ - + + + + WildcardObjectReferenceType is a generic reference which allows for any object to be referenced with the ability to wildcard certain parts of the identifier. The type of object actually referenced can be determined from the URN or from the class attribute of the full set of reference fields. + + + + + + + + + + + + + + + + + WildcardObjectRefType contains a set of reference fields for the purpose of referencing any object, while allowing wildcarding of certain components of the identifier. This cannot be a local reference, therefore the agency identifier is required. It is also required that the class and package be supplied for the referenced object such that a complete URN reference can be built from the values provided. Note that this is not capable of fully validating that all necessary fields are supplied for a given object type. + + + + + + + + + + + MaintainableRefBaseType is an abstract base type for referencing a maintainable object. @@ -216,10 +357,10 @@ - + - + @@ -247,7 +388,7 @@ - + @@ -267,6 +408,22 @@ + + + EnumerationRefType is an abstract base type for referencing an item scheme or enumeration. + + + + + + + + + + + + + StructureOrUsageRefBaseType is an abstract base type for referencing a structure or structure usage. @@ -275,7 +432,7 @@ - + @@ -291,7 +448,7 @@ - + @@ -319,7 +476,7 @@ - + @@ -347,10 +504,10 @@ - + - + @@ -366,7 +523,7 @@ - + @@ -388,7 +545,7 @@ The maintainableParentID references the item scheme in which the item being referenced is defined. - + The maintainableParentVersion attribute references the version of the item scheme in which the item being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -413,7 +570,7 @@ The maintainableParentID references the structure in which the component list being referenced is defined. - + The maintainableParentVersion attribute references the version of the structure in which the component list being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -438,7 +595,7 @@ The maintainableParentID references the structure in which the component being referenced is defined. - + The maintainableParentVersion attribute references the version of the structure in which the component being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -475,7 +632,7 @@ - + @@ -488,10 +645,10 @@ - + - + @@ -583,7 +740,7 @@ - + The containerID attribute references the hierarchy which defines the hierarchical code in the case that this reference is for a hierarchical code. @@ -760,6 +917,23 @@ + + + + EnumerationReferenceType is a specific type of MaintainableReference that is used for referencing item schemes or a value list. It consists of a URN and/or a complete set of reference fields; agency, id, and version. + + + + + + + + + + + + + @@ -1029,7 +1203,7 @@ The maintainableParentID references the category scheme in which the category being referenced is defined. - + The maintainableParentVersion attribute references the version of the category scheme in which the category being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -1070,7 +1244,7 @@ CodelistReferenceType is a type for referencing a codelist object. It consists of a URN and/or a complete set of reference fields. - + @@ -1087,9 +1261,9 @@ CodelistRefType provides a reference to a codelist via a complete set of reference fields. - - - + + + @@ -1122,7 +1296,7 @@ The maintainableParentID references the codelist in which the code being referenced is defined. - + The maintainableParentVersion attribute references the version of the codelist in which the code being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -1251,7 +1425,7 @@ The maintainableParentID references the concept scheme in which the concept being referenced is defined. - + The maintainableParentVersion attribute references the version of the concept scheme in which the concept being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -1374,7 +1548,7 @@ The maintainableParentID references the organisation scheme in which the organisation being referenced is defined. - + The maintainableParentVersion attribute references the version of the organisation scheme in which the organisation being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -1842,7 +2016,7 @@ The maintainableParentID references the reporting taxonomy in which the reporting category being referenced is defined. - + The maintainableParentVersion attribute references the version of the reporting taxonomy in which the reporting category being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -1878,15 +2052,15 @@ - + - HierarchicalCodelistReferenceType is a type for referencing a hierarchical codelist object. It consists of a URN and/or a complete set of reference fields. + HierarchyReferenceType is a type for referencing a hierarchy object. It consists of a URN and/or a complete set of reference fields. - + @@ -1895,47 +2069,17 @@ - + - HierarchicalCodelistRefType contains a set of reference fields for a hierarchical codelist. + HierarchyRefType contains a set of reference fields for a hierarchy. - + - - - - HierarchyReferenceType is a type for referencing a hierarchy within a hierarchical codelist. - - - - - - - - - - - - - - - - - HierarchyRefType is type which references a hierarchy from within a hierarchical codelist. Reference fields are required for both the hierarchy and the codelist. - - - - - - - - - @@ -2019,7 +2163,7 @@ The maintainableParentID references the hierarchical codelist in which the code being referenced is defined. - + The maintainableParentVersion attribute references the version of the hierarchical codelist in which the code being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -2064,15 +2208,15 @@ - + - AttachmentConstraintReferenceType is a type for referencing a attachment constraint object. It consists of a URN and/or a complete set of reference fields. + DataConstraintReferenceType is a type for referencing a data constraint object. It consists of a URN and/or a complete set of reference fields. - + @@ -2081,26 +2225,26 @@ - + - AttachmentConstraintRefType contains a set of reference fields for an attachment constraint. + DataConstraintRefType contains a set of reference fields for a data constraint. - + - + - ContentConstraintReferenceType is a type for referencing a content constraint object. It consists of a URN and/or a complete set of reference fields. + MetadataConstraintReferenceType is a type for referencing a metadata constraint object. It consists of a URN and/or a complete set of reference fields. - + @@ -2109,13 +2253,13 @@ - + - ContentConstraintRefType contains a set of reference fields for a content constraint. + MetadataConstraintRefType contains a set of reference fields for a metadata constraint. - + @@ -2458,6 +2602,14 @@ + + + + + + + + LocalDimensionRefType contains the reference fields for referencing a dimension locally. @@ -2506,15 +2658,15 @@ - + - PrimaryMeasureReferenceType is a type for referencing a primary measure object. It consists of a URN and/or a complete set of reference fields. + MeasureReferenceType is a type for referencing a measure. It consists of a URN and/or a complete set of reference fields. - + @@ -2523,47 +2675,46 @@ - + - PrimaryMeasureRefType contains a reference to the primary measure within a data structure definition. Note that since there is only one key descriptor, the container reference fields are prohibited. + MeasureRefType contains a reference to a measure within a data structure definition. Note that since there is only one key descriptor, the container reference fields are prohibited. - - + + - + - LocalPrimaryMeasureReferenceType is a type for referencing a primary measure locally, where the reference to the data structure definition which defines the primary measure is provided in another context (for example the data structure definition in which the reference occurs). + LocalMeasureReferenceType is a type for referencing a measure locally, where the reference to the data structure definition which defines the primary measure is provided in another context (for example the data structure definition in which the reference occurs). - + - + - LocalPrimaryMeasureRefType contains the reference fields for referencing a primary measure locally. + LocalMeasureRefType contains the reference fields for referencing a measure locally. - - + + - LocalDataStructureComponentReferenceType is a type for referencing any type of data structure component locally, where the reference for the data structure definition which defines the components is available in another context. @@ -2649,15 +2800,15 @@ - + - MetadataTargetReferenceType is a type for referencing a metadata target object. It consists of a URN and/or a complete set of reference fields. + ReportStructureReferenceType is a type for referencing a report structure object. It consists of a URN and/or a complete set of reference fields. - + @@ -2666,232 +2817,197 @@ - + - MetadataTargetRefType contains a reference to a metadata target within a metadata structure definition. + ReportStructureRefType contains a reference to a report structure within a metadata structure definition. - + - + - + - LocalMetadataTargetReferenceType is a type for referencing a metadata target locally, where the reference to the metadata structure definition which defines it is provided in another context (for example the metadata structure definition in which the reference occurs). + LocalReportStructureReferenceType is a type for referencing a report structure locally, where the reference to the metadata structure definition which defines it is provided in another context (for example the metadata structure definition in which the reference occurs). - + - + - LocalMetadataTargetRefType contains a local reference to a metadata target object. + LocalReportStructureRefType contains a local reference to a report structure object. - + - + - ConstraintTargetReferenceType is a type for referencing a constraint target object. It consists of a URN and/or a complete set of reference fields. + MetadataAttributeReferenceType is a type for referencing a metadata attribute object. It consists of a URN and/or a complete set of reference fields. - + - + - - + + - ConstraintTargetRefType contains a reference to a constraint target within a metadata target of a data structure definition. + MetadataAttributeRefType contains a reference to a metadata attribute within a report structure in a metadata structure definition. - - + + - + - DataSetTargetReferenceType is a type for referencing a data set target object. It consists of a URN and/or a complete set of reference fields. + LocalMetadataStructureComponentReferenceType is a type for referencing any type of metadata structure component locally, where the reference for the metadata structure definition which defines the components is available in another context. - - - - - - - - + + + + - + - DataSetTargetRefType contains a reference to a data set target within a metadata target of a data structure definition. + LocalMetadataStructureComponentRefType contains the reference fields for referencing any metadata structure component locally. This reference must specify the class of the component being referenced. - + - - + - - + + - KeyDescriptorValuesTargetType is a type for referencing a key descriptor values target object. It consists of a URN and/or a complete set of reference fields. + MetadataProvisionAgreementReferenceType is a type for referencing a metadata provision agreement. It consists of a URN and/or a complete set of reference fields. - + - + - + - - - + + + - KeyDescriptorValuesTargetRefType contains a reference to a key descriptor values target within a metadata target of a data structure definition. + MetadataProvisionAgreementRefType contains a set of reference fields for a metadata provision agreement. - - - - - + + + - - + + - ReportPeriodTargetReferenceType is a type for referencing a report period target object. It consists of a URN and/or a complete set of reference fields. + ProvisionAgreementReferenceType is a type for referencing a provision agreement. It consists of a URN and/or a complete set of reference fields. - + - + - + - - - + + + - ReportPeriodTargetRefType contains a reference to a report period target within a metadata target of a data structure definition. + ProvisionAgreementRefType contains a set of reference fields for a provision agreement. - - - - - + + + - - + + - IdentifiableObjectTargetReferenceType is a type for referencing an identifiable object target object. It consists of a URN and/or a complete set of reference fields. + ProcessReferenceType is a type for referencing a process object. It consists of a URN and/or a complete set of reference fields. - + - + - + - - + + - IdentifiableObjectTargetRefType contains a reference to an identifiable object target within a metadata target of a data structure definition. + ProcessRefType contains a set of reference fields for a process. - - - - - - - - - - - LocalTargetObjectReferenceType is a type for referencing any type of target object within a metadata target locally, where the references to the metadata target and the metadata structure definition which defines the target reference are provided in another context. - - - - - - + + + - - - LocalTargetObjectRefType contains the reference fields for referencing a target object locally. - - - - - - - - - - + - ReportStructureReferenceType is a type for referencing a report structure object. It consists of a URN and/or a complete set of reference fields. + ProcessStepReferenceType is a type for referencing a process step object. It consists of a URN and/or a complete set of reference fields. - + - + @@ -2900,168 +3016,165 @@ - + - ReportStructureRefType contains a reference to a report structure within a metadata structure definition. + ProcessStepRefType provides for a reference to a process step through its id. Support for referencing nested process steps is provided through a nested identifier. - - - - + + + - + - - + + - LocalReportStructureReferenceType is a type for referencing a report structure locally, where the reference to the metadata structure definition which defines it is provided in another context (for example the metadata structure definition in which the reference occurs). + LocalProcessStepReferenceType is a type for referencing a process step locally, where the reference to the process which defines it is provided in another context (for example the metadata structure definition in which the reference occurs). - + - + - - + + - LocalReportStructureRefType contains a local reference to a report structure object. + LocalProcessStepRefType contains a local reference to a process step object. - - - + + + - + - MetadataAttributeReferenceType is a type for referencing a metadata attribute object. It consists of a URN and/or a complete set of reference fields. + TransiationReferenceType is a type for referencing a process step object. It consists of a URN and/or a complete set of reference fields. - + - + - + - + - MetadataAttributeRefType contains a reference to a metadata attribute within a report structure in a metadata structure definition. + TransitionRefType provides for a reference to a transition definition in process step through its id. - - - - - + + + + - + - LocalMetadataStructureComponentReferenceType is a type for referencing any type of metadata structure component locally, where the reference for the metadata structure definition which defines the components is available in another context. + StructureMapReferenceType is a type for referencing a structure map object. It consists of a URN and/or a complete set of reference fields. - - - - + + + + + + + + - - - + + + - LocalMetadataStructureComponentRefType contains the reference fields for referencing any metadata structure component locally. This reference must specify the class of the component being referenced. + StructureMapRefType contains a set of reference fields for a structure map. - - - - + + + - - + + - ProvisionAgreementReferenceType is a type for referencing a provision agreement. It consists of a URN and/or a complete set of reference fields. + EpochMapReferenceType is a type for referencing a epoch map object. It consists of a URN and/or a complete set of reference fields. - + - + - + - + - ProvisionAgreementRefType contains a set of reference fields for a provision agreement. + EpochMapRefType references a epoch map from within a structure map. Reference fields are required for both the epoch map and the structure map. - - - + + + + - - + + - ProcessReferenceType is a type for referencing a process object. It consists of a URN and/or a complete set of reference fields. + LocalEpochMapReferenceType is a type for referencing a epoch map object where the reference to the structure map in which it is defined is provided in another context (e.g. is inferred from the structure map in which the reference is defined). - - - - - - - - + + + + - - + + - ProcessRefType contains a set of reference fields for a process. + LocalEpochMapRefType references a epoch map object where the reference to the structure map in which it is contained are provided in another context. - - - + + - + - ProcessStepReferenceType is a type for referencing a process step object. It consists of a URN and/or a complete set of reference fields. + DatePatternMapReferenceType is a type for referencing a date pattern map object. It consists of a URN and/or a complete set of reference fields. - + @@ -3070,128 +3183,122 @@ - + - ProcessStepRefType provides for a reference to a process step through its id. Support for referencing nested process steps is provided through a nested identifier. + DatePatternMapRefType references a date pattern map from within a structure map. Reference fields are required for both the date pattern map and the structure map. - - + + + - + - LocalProcessStepReferenceType is a type for referencing a process step locally, where the reference to the process which defines it is provided in another context (for example the metadata structure definition in which the reference occurs). + LocalDatePatternMapReferenceType is a type for referencing a date pattern map object where the reference to the structure map in which it is defined is provided in another context (e.g. is inferred from the structure map in which the reference is defined). - + - + - + - LocalProcessStepRefType contains a local reference to a process step object. + LocalDatePatternMapRefType references a date pattern map object where the reference to the structure map in which it is contained are provided in another context. - - + - - + + - TransiationReferenceType is a type for referencing a process step object. It consists of a URN and/or a complete set of reference fields. + FrequencyFormatMappingReferenceType is a type for referencing a frequency format mapping object. It consists of a URN and/or a complete set of reference fields. - + - + - + - + - TransitionRefType provides for a reference to a transition definition in process step through its id. + FrequencyFormatMappingRefType references a frequency format mapping from within a structure map. Reference fields are required for both the frequency format mapping and the structure map. - - - - + + + + - + - StructureSetReferenceType is a type for referencing a structure set object. It consists of a URN and/or a complete set of reference fields. + LocalDatePatternMapReferenceType is a type for referencing a frequency format mapping object where the reference to the structure map in which it is defined is provided in another context (e.g. is inferred from the structure map in which the reference is defined). - - - - - - - - + + + + - - - + + + - StructureSetRefType contains a set of reference fields for a structure set. + LocalDatePatternMapRefType references a frequency format mapping object where the reference to the structure map in which it is contained are provided in another context. - - - + + - + - StructureMapReferenceType is a type for referencing a structure map object. It consists of a URN and/or a complete set of reference fields. + RepresentationMapReferenceType is a type for referencing a representation map object. It consists of a URN and/or a complete set of reference fields. - + - + - + - + - StructureMapRefType contains fields for referencing a structure map within a structure set. + RepresentationMapRefType contains a set of reference fields for a representation map. - - - - + + + @@ -3201,7 +3308,7 @@ CategorySchemeMapReferenceType is a type for referencing a category scheme map object. It consists of a URN and/or a complete set of reference fields. - + @@ -3218,23 +3325,22 @@ CategorySchemeMapRefType contains a set of reference fields for a category scheme map. - - - - + + + - + - CodelistMapReferenceType is a type for referencing a codelist map object. It consists of a URN and/or a complete set of reference fields. + ConceptSchemeMapReferenceType is a type for referencing a concept scheme map object. It consists of a URN and/or a complete set of reference fields. - + - + @@ -3243,54 +3349,27 @@ - - - CodelistMapRefType contains a set of reference fields for a codelist map. - - - - - - - - - - - + - LocalCodelistMapReferenceType is a type for referencing a codelist map object where the reference to the structure set which defines it is provided in another context (e.g. the structure set in which this reference occurs). + ConceptSchemeMapRefType contains a set of reference fields for a concept scheme map. - - - - + + + - - - LocalCodelistMapRefType contains a set of reference fields for a codelist map locally. - - - - - - - - - - - + - ConceptSchemeMapReferenceType is a type for referencing a concept scheme map object. It consists of a URN and/or a complete set of reference fields. + OrganisationSchemeMapReferenceType is a type for referencing a organisation scheme map object. It consists of a URN and/or a complete set of reference fields. - + - + @@ -3299,29 +3378,28 @@ - + - ConceptSchemeMapRefType contains a set of reference fields for a concept scheme map. + OrganisationSchemeMapRefType contains a set of reference fields for an organisation scheme map. - - - - + + + - + - OrganisationSchemeMapReferenceType is a type for referencing a organisation scheme map object. It consists of a URN and/or a complete set of reference fields. + ReportingTaxonomyMapReferenceType is a type for referencing a reporting taxonomy map object. It consists of a URN and/or a complete set of reference fields. - + - - + + @@ -3329,15 +3407,14 @@ - + - OrganisationSchemeMapRefType contains a set of reference fields for an organisation scheme map. + ReportingTaxonomyMapRefType contains a set of reference fields for an reporting taxonomy map. - - - - + + + @@ -3399,7 +3476,7 @@ The maintainableParentID references the VTL mapping scheme in which the VTL mapping being referenced is defined. - + The maintainableParentVersion attribute references the version of the VTL mapping scheme in which the VTL mapping being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -3494,7 +3571,7 @@ The maintainableParentID references the name personalisation scheme in which the name personalisation being referenced is defined. - + The maintainableParentVersion attribute references the version of the name personalisation scheme in which the name personalisation being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -3589,7 +3666,7 @@ The maintainableParentID references the ruleset scheme in which the concept being referenced is defined. - + The maintainableParentVersion attribute references the version of the ruleset scheme in which the ruleset being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -3684,7 +3761,7 @@ The maintainableParentID references the transformation scheme in which the transformation being referenced is defined. - + The maintainableParentVersion attribute references the version of the transformation scheme in which the transformation being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -3779,7 +3856,7 @@ The maintainableParentID references the user defined operator scheme in which the user defined operator being referenced is defined. - + The maintainableParentVersion attribute references the version of the user defined operator scheme in which the user defined operator being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -3874,7 +3951,7 @@ The maintainableParentID references the custom mask scheme in which the custom type being referenced is defined. - + The maintainableParentVersion attribute references the version of the custom type scheme in which the custom type being referenced is defined. If not supplied, a default value of 1.0 is assumed. @@ -3944,7 +4021,7 @@ - + @@ -3965,6 +4042,18 @@ + + + ItemSchemePackageTypeCodelistType provides an enumeration of all SDMX packages which contain item schemes. + + + + + + + + + StructurePackageTypeCodelistType provides an enumeration of all SDMX packages which contain structure and structure usages. @@ -3983,7 +4072,6 @@ - @@ -3991,74 +4079,69 @@ - - - - - + - + - + + - - - - + + + + - - + - - + - + @@ -4071,32 +4154,41 @@ - + + - + - + + + + + + + + - + + @@ -4107,43 +4199,41 @@ - + - + + - + + + + + + + - + + - - - CodelistTypeCodelistType provides an enumeration of all codelist objects. - - - - - - - CodeTypeCodelistType provides an enumeration of all code objects. @@ -4159,8 +4249,8 @@ ConstraintTypeCodelistType provides an enumeration of all constraint objects. - - + + @@ -4184,7 +4274,36 @@ - + + + + + EnumerationTypeCodelistType provides an enumeration of all enumeration objects (item schemes and value lists). + + + + + + + + + + + + + + + + + + CodelistTypeCodelistType provides restricts the EnumerationTypeCodelistType to remove value lists. + + + + + + + @@ -4286,7 +4405,6 @@ - @@ -4297,16 +4415,11 @@ - - - - - + - @@ -4319,7 +4432,7 @@ - + @@ -4340,12 +4453,7 @@ MetadataStructureComponentTypeCodelistType provides an enumeration of all metadata structure component objects. - - - - - @@ -4360,19 +4468,6 @@ - - - TargetObjectTypeCodelistType provides an enumeration of all target object objects. - - - - - - - - - - Any is an empty element that denotes an object of any type. @@ -4391,12 +4486,6 @@ - - - AttachmentConstraint is an empty element that denotes an attachment constraint object. - - - Attribute is an empty element that denotes an attribute object. @@ -4487,18 +4576,6 @@ - - - ConstraintTarget is an empty element that denotes a constraint target object. - - - - - - ContentConstraint is an empty element that denotes a content constraint object. - - - CustomType is an empty element that denotes a custom type object. @@ -4517,6 +4594,12 @@ + + + DataConstraint is an empty element that denotes a data constraint object. + + + DataConsumer is an empty element that denotes a data consumer object. @@ -4583,18 +4666,18 @@ - + - HierarchicalCodelist is an empty element that denotes a hierarchical codelist object. + Hierarchy is an empty element that denotes a hierarchy. - + - Hierarchy is an empty element that denotes a hierarchy within a hiearcharchical codelist. + HierarchyAssociation is an empty element that denotes a hierarchy assoication object. - + HybridCodelistMap is an empty element that denotes a hybrid codelist map object. @@ -4643,6 +4726,19 @@ + + + MetadataConstraint is an empty element that denotes a metadata constraint object. + + + + + + + MetadataProvisionAgreement is an empty element that denotes a metadata provision agreement object. + + + MetadataSet is an empty element that denotes a metadata set object. @@ -4697,9 +4793,9 @@ - + - PrimaryMeasure is an empty element that denotes a primary measure object. + Measure is an empty element that denotes a measure object. @@ -4817,6 +4913,12 @@ + + + ValueList is an empty element that denotes a value list object. + + + VtlMapping is an empty element that denotes a VTL Mapping object. @@ -4837,7 +4939,6 @@ - @@ -4853,10 +4954,10 @@ - + @@ -4868,8 +4969,8 @@ - + @@ -4878,6 +4979,8 @@ + + @@ -4887,7 +4990,7 @@ - + @@ -4907,6 +5010,7 @@ + @@ -4920,18 +5024,20 @@ - - + - + + + + @@ -4942,6 +5048,7 @@ + diff --git a/schemas/SDMXDataStructureSpecific.xsd b/schemas/SDMXDataStructureSpecific.xsd index 9d9e8ff..6ef4582 100644 --- a/schemas/SDMXDataStructureSpecific.xsd +++ b/schemas/SDMXDataStructureSpecific.xsd @@ -1,12 +1,283 @@ - - - - + + + SDMX Core Structure Specific Data Namespace Module - The core structure specific data namespace module provides the common framework to be used for all data structure definition-specific schemas for data exchange, update, and revisions. It is intended for bilateral use. This forms the basis for all sets of namespace modules created and maintained by those who create data structure definition-specific data schemas which are not maintained by SDMX. + The core structure specific data namespace module provides the common framework to be used for all data structure definition-specific schemas for data exchange, update, and revisions. It is intended for bilateral use. This forms the basis for all sets of namespace modules created and maintained by those who create data structure definition-specific data schemas which are not maintained by SDMX. The data set defined here describes the structure of the data set in all structure specific data messages. Any structure specific data messages must derive the data set from this format. The entire structure declared for the is data set is abstract, meaning that instances will have to be based on types derived from these structures in schemas created based on the details data structure definition. + + + +

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). 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, obs, and atts 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.

+
+
+ + + + + + DataProvider contains a reference to the provider for the data set. + + + + + + Atts contains a set of data attribute values reported agains a partial set of dimension values. + + + + + Group contains a references to a defined group in the data structure definition along with its key (if necessary) and values for the attributes which are associated with the group. An attribute is associated to a group by either an explicit group relationship or by a group attachment when the attribute has a relationship with a dimension which is a member of this group. + + + + + Series contains a collection of observations that share a common key (set of dimension values). The key of a series is every dimension defined in the data structure definition, save the dimension at the observation level. In addition to the key and observations, the series contains values for attributes which have a relationship with any dimension that is part of the series key, so long as the attribute does not specify an attachment group or also has a relationship with the dimension declared to be at the observation level. + + + + + Obs is an un-grouped observation. This observation has a key which is a set of values for all dimensions declared in the data structure definition. In addition to the key, the value of the observation can be provided along with values for all attributes which have an association with the primary measure or any dimension (so long as it does not specify a group attachment). + + + + + + + + +
+ + + + +

GroupType is the abstract type which defines a structure which is used to communicate attribute values for a group defined in a data structure definition. The group can consist of either a subset of the dimensions defined by the data structure definition, or an association to an attachment constraint, which in turn defines key sets to which attributes can be attached. In the case that the group is based on an attachment constraint, only the identification of group is provided. It is expected that a system which is processing this will relate that identifier to the key sets defined in the constraint and apply the values provided for the attributes appropriately.

+ +

Data structure definition schemas will drive types based on this for each group defined in the data structure definition. Both the dimension values which make up the key (if applicable) and the attribute values associated with the group will be represented with XML attributes. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived group type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the group dimensions and attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition dimension or attribute.

+
+
+ + + + + + Comp contains the details of group level attributes that have complex representation and cannot be expressed as XML attributes. + + + + + + The type attribute reference the identifier of the group as defined in the data structure definition. This is optional, but derived group types will provide a fixed value for this so that it always available in the post validation information set. This allows the group to be processed in a generic manner. + + + + + The REPORTING_YEAR_START_DAY attribute is an explict attribute for the reporting year start day, which provides context to the time dimension when its value contains a reporting period (e.g. 2010-Q1). This attribute is used to state the month and day that the reporting year begins (e.g. --07-01 for July 1st). In the absence of an explicit value provided in this attribute, all reporting period values will be assumed to be based on a reporting year start day of January 1. This is declared in the base schema since it has a fixed identifier and representation. The derived group types may either require or prohibit this attribute, depending on whether the data structure declared the reporting year start day attribute and if so, the attribute relationship and assignment status assigned to it. + + + + + +
+ + + + +

SeriesType is the abstract type which defines a structure which is used to group a collection of observations which have a key in common. The key for a series is every dimension defined in the data structure definition, save the dimension declared to be at the observation level for this data set. In addition to observations, values can be provided for attributes which are associated with the dimensions which make up this series key (so long as the attributes do not specify a group attachment or also have an relationship with the observation dimension). It is possible for the series to contain only observations or only attribute values, or both.

+ +

Data structure definition schemas will derive a type based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. Both the dimension values which make up the key and the attribute values associated with the key dimensions will be represented with XML attributes. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived series type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition dimension or attribute.

+
+
+ + + + + + Comp contains the details of series level attributes that have complex representation and cannot be expressed as XML attributes. + + + + + + + The TIME_PERIOD attribute is an explict attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type. + + + + + The REPORTING_YEAR_START_DAY attribute is an explict attribute for the reporting year start day, which provides context to the time dimension when its value contains a reporting period (e.g. 2010-Q1). This attribute is used to state the month and day that the reporting year begins (e.g. --07-01 for July 1st). In the absence of an explicit value provided in this attribute, all reporting period values will be assumed to be based on a reporting year start day of January 1. This is declared in the base schema since it has a fixed identifier and representation. The derived series type may either require or prohibit this attribute, depending on whether the data structure declared the reporting year start day attribute and if so, the attribute relationship and assignment status assigned to it. + + + + + +
+ + + + CompType is the abstract base for any component value (e.g. an attribute or measure) that cannot be represented as an XML attribute. For example, a repeated value, a text value in multiple languages, or a value with structured text (XHTML) cannot be expressed as an XML attribute. This type is meant to be restricted based on the component to restrict the cardinality and type of its Value element to conform to the compoent definition. The type of the value element should be restricted to common:SimpleValueType, common:TextValueType, or common:StructuredValueType. In addition, the id attribute should be restricted to be a fixed value with the component identifier. This restricted type based on the component can then be used on Comp elements by using the xsi:type to state the component being expressed and refine the contents of the element to the values allowed by the component. + + + + + + + + + + + + + + + + + + +

ObsType is the abstract type which defines the structure of a grouped or un-grouped observation. The observation must be provided a key, which is either a value for the dimension which is declared to be at the observation level if the observation is grouped, or a full set of values for all dimensions in the data structure definition if the observation is un-grouped. This key should disambiguate the observation within the context in which it is defined (e.g. there should not be another observation with the same dimension value in a series). The observation can contain an observed value and/or attribute values.

+ +

Data structure definition schemas will derive a type or types based on this that is specific to the data structure definition and the variation of the format being expressed in the schema. The dimension value(s) which make up the key and the attribute values associated with the key dimension(s) or the primary measure will be represented with XML attributes. This is specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived observation type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attribute(s) will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived observation type be for the observation dimension(s) and attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition dimension or attribute.

+
+
+ + + + + + Comp contains the details of observation measures or attributes that have complex representation and cannot be expressed as XML attributes. + + + + + + The type attribute is used when the derived format requires that explicit measure be used. In this case, the derived type based on the measure will fix this value to be the identification of the measure concept. This will not be required, but since it is fixed it will be available in the post validation information set which will allow for generic processing of the data. If explicit measures are not used, then the derived type will prohibit the use of this attribute. + + + + + The TIME_PERIOD attribute is an explicit attribute for the time dimension. This is declared in the base schema since it has a fixed identifier and representation. The derived series type will either require or prohibit this attribute, depending on whether time is the observation dimension. If the time dimension specifies a more specific representation of time the derived type will restrict the type definition to the appropriate type. + + + + + The REPORTING_YEAR_START_DAY attribute is an explict attribute for the reporting year start day, which provides context to the time dimension when its value contains a reporting period (e.g. 2010-Q1). This attribute is used to state the month and day that the reporting year begins (e.g. --07-01 for July 1st). In the absence of an explicit value provided in this attribute, all reporting period values will be assumed to be based on a reporting year start day of January 1. This is declared in the base schema since it has a fixed identifier and representation. The derived observation type may either require or prohibit this attribute, depending on whether the data structure declared the reporting year start day attribute and if so, the attribute relationship and assignment status assigned to it. + + + + + +
+ + + + +

AttsType is the abstract type which defines a structure which is used to group a collection of data attributes which have a key in common. The key for a attribute collection is a subset of the dimension defined in the data structure definition.

+ +

Data structure definition schemas will derive a type based on this that is specific to the data structure definition. The dimension values which make up the key will be represented with local (non-namespace qualified) XML attributes. The metadata attribute values associated with the key dimensions will be expressed as XML local (non-namespace qualified) attributes if they are simple values (e.g. enumerated, dates, numbers) and are not repeatable. Metadata attributes that are repeatable, or do not have simple values (e.g. text) will be expressed using the Comp element. This dimensions and simple attributes are specified in the content model with the declaration of anyAttributes in the "local" namespace. The derived series type will refine this structure so that the attributes are explicit. The XML attributes will be given a name based on the attribute's identifier. These XML attributes will be unqualified (meaning they do not have a namespace associated with them). The dimension XML attributes will be required while the attribute XML attributes will be optional. To allow for generic processing, it is required that the only unqualified XML attributes in the derived group type be for the series dimensions and attributes declared in the data structure definition. If additional attributes are required, these should be qualified with a namespace so that a generic application can easily distinguish them as not being meant to represent a data structure definition dimension or attribute.

+
+
+ + + + Comp contains the details of the metadata attributes that have complex representation and cannot be expressed as XML attributes. + + + + + + The REPORTING_YEAR_START_DAY attribute is an explict attribute for the reporting year start day, which provides context to the time dimension when its value contains a reporting period (e.g. 2010-Q1). This attribute is used to state the month and day that the reporting year begins (e.g. --07-01 for July 1st). In the absence of an explicit value provided in this attribute, all reporting period values will be assumed to be based on a reporting year start day of January 1. This is declared in the base schema since it has a fixed identifier and representation. The derived observation type may either require or prohibit this attribute, depending on whether the data structure declared the reporting year start day attribute and if so, the attribute relationship and assignment status assigned to it. + + +
+ + + + 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. + + + + + The data set conforms simply to the data structure definition as it is defined, without regard to any constraints. + + + + + The data set conforms to the known allowable content constraints applied to the data structure definition. + + + + + The data set conforms to the known allowable content constraints applied to the dataflow. + + + + + The data set conforms to the known allowable content constraints applied to the provision agreement. + + + + + + + + The SetAttributeGroup defines a common set of attributes pertaining to any data set. The attributes are qualified, so that they will be easily distinguished from attributes that are specific to the data structure. Note that many of these attributes are duplications of fields available in the header of the data messages. The reason for this is to allow the header values to be overridden at the data set level when a message contains more than one data set. If an attribute here does not have a value, then the value from the header is applied to the data set. + + + + The structureRef contains a reference to a structural specification in the header of a data or reference metadata message. The structural specification details which structure the data or reference metadata conforms to, as well as providing additional information such as how the data is structure (e.g. which dimension occurs at the observation level for a data set). + + + + + The setID provides an identification of the data or metadata set. + + + + + The action attribute indicates whether the file is appending, replacing, or deleting. + + + + + The reportingBeginDate indicates the inclusive start time of the data reported in the data or metadata set. + + + + + The reportingEndDate indicates the inclusive end time of the data reported in the data or metadata set. + + + + + The validFromDate indicates the inclusive start time indicating the validity of the information in the data or metadata set. + + + + + The validToDate indicates the inclusive end time indicating the validity of the information in the data or metadata set. + + + + + The publicationYear holds the ISO 8601 four-digit year. + + + + + The publicationPeriod specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force (i.e., "Q1 2005" if that is the time of publication for a data set published on a quarterly basis). + + + + + The dataScope attribute indicates the scope at which the data is meant to be validated. These scopes are hierarchical and are (from the top down); DataStructure, ConstrainedDataStructure, Dataflow, and ProvisionAgreement. the hierarchy of these scopes represent the cascading level of constraints, which can restrict the valid values for components. For example, a data structure defines a dimension with a coded representation. A data flow might have a constraint associated with it which further restricts the values allowed from the referenced code list to a subset of the values allowed by the data structure definition. A provision agreement that is based on the dataflow might also have a constraint, which further restricts the subset of the codelist from the dataflow. Therefore, the allowed content becomes stricter lower in the hierarchy. Data that is given a scope of one value is stated to be valid at that level and all levels below it. Therefore, this scope serves to state that data that is meant to be structured simply against the data structure definition is not meant to be validated against the a dataflow, where constraints might be applied. + + + + +
\ No newline at end of file diff --git a/schemas/SDMXMessage.xsd b/schemas/SDMXMessage.xsd index 9bbb26d..24010c5 100644 --- a/schemas/SDMXMessage.xsd +++ b/schemas/SDMXMessage.xsd @@ -1,16 +1,12 @@ - - - - - - - - - - - - + + + + + + + + @@ -55,1021 +51,166 @@ + + + + StructureSpecificData is used to convey data structure specific according to data structure definition. The payload of this message (i.e. the data sets) will be based on XML schemas which are specific to the data structure definition and the orientation (i.e. the observation dimension) of the data. + + + + + + StructureSpecificDataType defines the structure of the structure specific data message. Note that the data set payload type is abstract, and therefore it will have to be assigned a type in an instance. This type must be derived from the base type referenced. This base type defines a general structure which can be followed to allow for generic processing of the data even if the exact details of the data structure specific format are not known. + + + + + + + + + + + + + - - - GenericData is used to convey data in a non data structure specific form. Data sets in this message will be each have a related structure specification in the header, which states the data structure the data conforms to and how the data is organised (i.e. the observation dimension). - - - - - - GenericDataType defines the contents of a generic data message. - - - - - - - - - - - - - - - GenericTimeSeriesData is a special derivation of the generic data message which only allows for time series oriented date (i.e. the observation dimension must be time). Although this is a different message, the content of this message will be exactly the same as a generic data message that specifies time as the observation dimension; therefore no additional processing requirements are necessary. This message is intended to only be used when it is necessary to restrict an exchange to being only time series based data. - - - - - - GenericTimeSeriesDataType defines the structure of the generic time series data message. - - - - - - - - - - - - - - - StructureSpecificData is used to convey data structure specific according to data structure definition. The payload of this message (i.e. the data sets) will be based on XML schemas which are specific to the data structure definition and the orientation (i.e. the observation dimension) of the data. - - - - - - StructureSpecificDataType defines the structure of the structure specific data message. Note that the data set payload type is abstract, and therefore it will have to be assigned a type in an instance. This type must be derived from the base type referenced. This base type defines a general structure which can be followed to allow for generic processing of the data even if the exact details of the data structure specific format are not known. - - - - - - - - - - - - - - - StructureSpecificTimeSeriesData is a special derivation of the structure specific data message which only allows for time series oriented date (i.e. the observation dimension must be time). Although this is a different message, the content of this message will be exactly the same as a structure specific data message that specifies time as the observation dimension; therefore no additional processing requirements are necessary. This message is intended to only be used when it is necessary to restrict an exchange to being only time series based data. - - - - - - StructureSpecificTimeSeriesDataType defines the structure of the structure specific time series data message. - - - - - - - - - - - - - - - - - GenericMetadata contains reported metadata in a format which supports any metadata structure definition. - - - - - - GenericMetadataType defines the contents of a generic metadata message. - - - - - - - - - - - - - - - StructureSpecificMetadata contains reported metadata in a format which is specific to the metadata structure definitions which define the structure of the metadata being reported. This format allows for validation of the metadata against the intended structure. Note that the each metadata set provided will be based on a metadata structure specific schema. - - - - - StructureSpecificMetadataType defines the structure of a structure specific metadata message. Note that the metadata set payload type is abstract, and therefore it will have to be assigned a type in an instance. This type must be derived from the base type referenced. This base type defines a general structure which can be followed to allow for generic processing of the data even if the exact details of the data structure specific format are not known. - - - - - - - - - - - - - - - - - RegistryInterface is used to conduct all interactions with the SDMX Registry Services. - - - - - - This is a type which describes a structure for holding all of the various dedicated registry interface message types. - - - - - - - - - SubmitRegistrationsRequest is sent to the registry by an agency or data/metadata provider to request one or more registrations for a data set or metadata set. The data source to be registered must be accessible to the registry services at an indicated URL, so that it can be processed by those services. - - - - - SubmitRegistrationsResponse is sent to the agency or data/metadata provider in response to a submit registrations request. It indicates the success or failure of each registration request, and contains any error messages generated by the registration service. - - - - - QueryRegistrationRequest is used to query the contents of a registry for data sets and metadata sets. It specifies whether the result set should include metadata sets, data sets, or both. The search can be characterized by providing constraints including reference periods, data regions, and data keys. - - - - - QueryRegistrationResponse is sent as a response to any query of the contents of a registry. The result set contains a set of links to data and/or metadata If the result set is null, or there is some other problem with the query, then appropriate error messages and statuses will be returned. - - - - - SubmitStructureRequest is used to submit structure definitions to the repository. The structure resources (key families, agencies, concepts and concept schemes, code lists, etc.) to be submitted may be communicated in-line or be supplied in a referenced SDMX-ML Structure messages external to the registry. A response will indicate status and contain any relevant error information. - - - - - SubmitStructureResponse is returned by the registry when a structure submission request is received. It indicates the status of the submission, and carries any error messages which are generated, if relevant. - - - - - SubmitSubscriptionsRequest contains one or more requests submitted to the registry to subscribe to registration and change events for specific registry resources. - - - - - SubmitSubscriptionsResponse is the response to a submit subscriptions request. It contains information which describes the success or failure of each subscription request, providing any error messages in the event of failure. If successful, it returns the registry URN of the subscription, and the subscriber-assigned ID. - - - - - QuerySubscriptionRequest is used to query the registry for the subscriptions of a given organisation. - - - - - QuerySubscriptionResponse is sent as a response to a subscription query. If the query is successful, the details of all subscriptions for the requested organisation are sent. - - - - - NotifyRegistryEvent is sent by the registry services to subscribers, to notify them of specific registration and change events. Basic information about the event, such as the object that triggered it, the time of the event, the action that took place, and the subscription that triggered the notification are always sent. Optionally, the details of the changed object may also be provided. - - - - - - - - - - - - SubmitRegistrationsRequest is sent to the registry by an agency or data/metadata provider to request on or more registrations for a data set or metadata set. The data source to be registered must be accessible to the registry services at an indicated URL, so that it can be processed by those services. - - - - - - SubmitRegistrationsRequestType defines the structure of a registry submit registration requests document. - - - - - - - - - - - - - - SubmitRegistrationsResponse is sent to the agency or data/metadata provider in response to a registration requests. It indicates the success or failure of each registration request, and contains any error messages generated by the registration service. - - - - - - SubmitRegistrationsResponseType defines the structure of a registry submit registration response document. - - - - - - - - - - - - - - - QueryRegistrationRequest is used to query the contents of a registry for data sets and metadata sets. It specifies whether the result set should include metadata sets, data sets, or both. The search can be characterized by providing constraints including reference periods, data regions, and data keys. - - - - - - QueryRegistrationRequestType defines the structure of a registry query registration request document. - - - - - - - - - - - - - - QueryRegistrationResponse is sent as a response to any query of the contents of a registry. The result set contains a set of links to data and/or metadata If the result set is null, or there is some other problem with the query, then appropriate error messages and statuses will be returned. - - - - - - SubmitRegistrationRequestType defines the structure of a registry submit registration response document. - - - - - - - - - - - - - - - SubmitStructureRequest is used to submit structure definitions to the repository. The structure resources (key families, agencies, concepts and concept schemes, code lists, etc.) to be submitted may be communicated in-line or be supplied in a referenced SDMX-ML Structure messages external to the registry. A response will indicate status and contain any relevant error information. - - - - - - SubmitStructureRequestType defines the structure of a registry submit structure request document. - - - - - - - - - - - - - - SubmitStructureResponse is returned by the registry when a structure submission request is received. It indicates the status of the submission, and carries any error messages which are generated, if relevant. - - - - - - SubmitStructureResponseType defines the structure of a registry submit registration response document. - - - - - - - - - - - - - - - SubmitSubscriptionsRequest contains one or more requests submitted to the registry to subscribe to registration and change events for specific registry resources. - - - - - - SubmitSubscriptionsRequestType defines the structure of a registry submit subscription request document. - - - - - - - - - - - - - - SubmitSubscriptionsResponse is the response to a submit subscriptions request. It contains information which describes the success or failure of each subscription request, providing any error messages in the event of failure. If successful, it returns the registry URN of the subscription, and the subscriber-assigned ID. - - - - - - SubmitSubscriptionsResponseType defines the structure of a registry submit subscription response document. - - - - - - - - - - - - - - - QuerySubscriptionRequest is used to query the registry for the subscriptions of a given organisation. - - - - - - QuerySubscriptionRequestType defines the structure of a registry query subscription request document. - - - - - - - - - - - - - - QuerySubscriptionResponse is sent as a response to a subscription query. If the query is successful, the details of all subscriptions for the requested organisation are sent. - - - - - - QuerySubscriptionResponseType defines the structure of a registry query subscription response document. - - - - - - - - - - - - - - - NotifyRegistryEvent is sent by the registry services to subscribers, to notify them of specific registration and change events. Basic information about the event, such as the object that triggered it, the time of the event, the action that took place, and the subscription that triggered the notification are always sent. Optionally, the details of the changed object may also be provided. - - - - - - NotifyRegistryEventType defines the structure of a registry notification document. - - - - - - - - - - - - - - - - StructureSpecificDataQuery is used to query SDMX compliant databases or web services for structure specific data. - - - - - - DataQueryType defines the structure of a data query message. - - - - - - - - - - - - - - GenericDataQuery is used to query SDMX compliant databases or web services for generic data. This is actually a specialization of the structured data query, and therefore can be processed in the same manner. - - - - - - DataQueryType defines the structure of a generic data query message. - - - - - - - - - - - - - - GenericTimeSeriesDataQuery is used to query SDMX compliant databases or web services for time series only generic data. This is actually a specialization of the generic data query, and therefore can be processed in the same manner. This message is intended to only be used when it is necessary to restrict an exchange to being only time series based data. - - - - - - GenericTimeSeriesDataQueryType defines the structure of a time series generic data query message. - - - - - - - - - - - - - - StructureSpecificTimeSeriesDataQuery is used to query SDMX compliant databases or web services for time series only structure specific data. This is actually a specialization of the structure specific data query, and therefore can be processed in the same manner. This message is intended to only be used when it is necessary to restrict an exchange to being only time series based data. - - - - - - StructureSpecificTimeSeriesDataQueryType defines the structure of a time series generic data query message. - - - - - - - - - - - - - - GenericMetadataQuery is used to query SDMX compliant databases or web services for generic format reference metadata. - - - - - - StructureSpecificMetadataQuery is used to query SDMX compliant databases or web services for metadata structure specific reference metadata. - - - - - - MetadataQueryType defines the structure of a reference metadata query message. - - - - - - - - - - - - - - DataSchemaQuery is used to query SDMX compliant databases or web services for data structure specific schemas for the purpose of validating structured data. - - - - - - DataSchemaQueryType defines the structure of a data schema query message. - - - - - - - - - - - - - - MetadataSchemaQuery is used to query SDMX compliant databases or web services for metadata structure specific schemas for the purpose of validating structured metadata. - - - - - - MetadataSchemaQueryType defines the structure of a metadata schema query message. - - - - - - - - - - - - - - StructuresQuery is used to query SDMX compliant databases or web services for any structures based on simple maintainable object properties (e.g. all objects maintained by a maintenance agency). - - - - - - StructuresQueryType defines the structure of a structures query message. - - - - - - - - - - - - - - DataflowQuery is used to query SDMX compliant databases or web services for dataflows. - - - - - - DataflowQueryType defines the structure of a dataflow query message. - - - - - - - - - - - - - - MetadataflowQuery is used to query SDMX compliant databases or web services for metadata flows. - - - - - - MetadataflowQueryType defines the structure of a metadata flow query message. - - - - - - - - - - - - - - DataStructureQuery is used to query SDMX compliant databases or web services for data structures definitions. - - - - - - KeyFamilyQueryType defines the structure of a data structure query message. - - - - - - - - - - - - - - MetadataStructureQuery is used to query SDMX compliant databases or web services for metadata structure definitions. - - - - - - MetadataStructureQueryType defines the structure of a metadata structure query message. - - - - - - - - - - - - - - CategorySchemeQuery is used to query SDMX compliant databases or web services for category schemes. - - - - - - CategorySchemeQueryType defines the structure of a category scheme query message. - - - - - - - - - - - - - - ConceptSchemeQuery is used to query SDMX compliant databases or web services for concept schemes. - - - - - - ConceptSchemeQueryType defines the structure of a concept scheme query message. - - - - - - - - - - - - - - CodelistQuery is used to query SDMX compliant databases or web services for codelists. - - - - - - CodelistQueryType defines the structure of a codelist query message. - - - - - - - - - - - - - - HierarchicalCodelistQuery is used to query SDMX compliant databases or web services for hierarchical codelists. - - - - - - HierarchicalCodelistQueryType defines the structure of a hierarchical codelist query message. - - - - - - - - - - - - - - OrganisationSchemeQuery is used to query SDMX compliant databases or web services for organisation schemes. - - - - - - OrganisationSchemeQueryType defines the structure of an organisation scheme query message. - - - - - - - - - - - - - - ReportingTaxonomyQuery is used to query SDMX compliant databases or web services for reporting taxonomies. - - - - - - ReportingTaxonomyQueryType defines the structure of a reporting taxonomy query message. - - - - - - - - - - - - - - StructureSetQuery is used to query SDMX compliant databases or web services for structure sets. - - - - - - StructureSetQueryType defines the structure of a structure set query message. - - - - - - - - - - - - - - ProcessQuery is used to query SDMX compliant databases or web services for processes. - - - - - - CategorizationQueryType defines the structure of a categorization query message. - - - - - - - - - - - - - - CategorisationQuery is used to query SDMX compliant databases or web services for categorisations. - - - - - - CategorisationQueryType defines the structure of a categorisation query message. - - - - - - - - - - - - - - ProvisionAgreementQuery is used to query SDMX compliant databases or web services for provision agreements. - - - - - - ProvisionAgreementQueryType defines the structure of a provision agreement query message. - - - - - - - - - - - - + - ConstraintQuery is used to query SDMX compliant databases or web services for constraints. + GenericMetadata contains reported metadata in a format which supports any metadata structure definition. - + - ConstraintQueryType defines the structure of a constraint query message. + GenericMetadataType defines the contents of a generic metadata message. - - + + + - - - TransformationSchemeQuery is used to query SDMX compliant databases or web services for transformation schemes. - - + - - - TransformationSchemeQueryType defines the structure of a transformation scheme query message. - - - - - - - - - - - - + - VtlMappingSchemeQuery is used to query SDMX compliant databases or web services for VTL mapping schemes. + RegistryInterface is used to conduct all interactions with the SDMX Registry Services. - - - - VtlMappingSchemeQueryType defines the structure of a VTL mappings scheme query message. - - - - - - - - - - - - - NamePersonalisationSchemeQuery is used to query SDMX compliant databases or web services for name personalisation schemes. - - - - + - NamePersonalisationSchemeQueryType defines the structure of a name personalisation scheme query message. + This is a type which describes a structure for holding all of the various dedicated registry interface message types. - + + + + SubmitRegistrationsRequest is sent to the registry by an agency or data/metadata provider to request one or more registrations for a data set or metadata set. The data source to be registered must be accessible to the registry services at an indicated URL, so that it can be processed by those services. + + + + + SubmitRegistrationsResponse is sent to the agency or data/metadata provider in response to a submit registrations request. It indicates the success or failure of each registration request, and contains any error messages generated by the registration service. + + + + + QueryRegistrationRequest is used to query the contents of a registry for data sets and metadata sets. It specifies whether the result set should include metadata sets, data sets, or both. The search can be characterized by providing constraints including reference periods, data regions, and data keys. + + + + + QueryRegistrationResponse is sent as a response to any query of the contents of a registry. The result set contains a set of links to data and/or metadata If the result set is null, or there is some other problem with the query, then appropriate error messages and statuses will be returned. + + + + + SubmitStructureRequest is used to submit structure definitions to the repository. The structure resources (key families, agencies, concepts and concept schemes, code lists, etc.) to be submitted may be communicated in-line or be supplied in a referenced SDMX-ML Structure messages external to the registry. A response will indicate status and contain any relevant error information. + + + + + SubmitStructureResponse is returned by the registry when a structure submission request is received. It indicates the status of the submission, and carries any error messages which are generated, if relevant. + + + + + SubmitSubscriptionsRequest contains one or more requests submitted to the registry to subscribe to registration and change events for specific registry resources. + + + + + SubmitSubscriptionsResponse is the response to a submit subscriptions request. It contains information which describes the success or failure of each subscription request, providing any error messages in the event of failure. If successful, it returns the registry URN of the subscription, and the subscriber-assigned ID. + + + + + QuerySubscriptionRequest is used to query the registry for the subscriptions of a given organisation. + + + + + QuerySubscriptionResponse is sent as a response to a subscription query. If the query is successful, the details of all subscriptions for the requested organisation are sent. + + + + + NotifyRegistryEvent is sent by the registry services to subscribers, to notify them of specific registration and change events. Basic information about the event, such as the object that triggered it, the time of the event, the action that took place, and the subscription that triggered the notification are always sent. Optionally, the details of the changed object may also be provided. + + + + - + - RulesetSchemeQuery is used to query SDMX compliant databases or web services for ruleset schemes. + SubmitStructureRequest is used to submit structure definitions to the repository. The structure resources (key families, agencies, concepts and concept schemes, code lists, etc.) to be submitted may be communicated in-line or be supplied in a referenced SDMX-ML Structure messages external to the registry. A response will indicate status and contain any relevant error information. - - - - RulesetSchemeQueryType defines the structure of a ruleset scheme query message. - - - - - - - - - - - - - UserDefinedOperatorSchemeQuery is used to query SDMX compliant databases or web services for user defined schemes. - - - - + - UserDefinedOperatorSchemeQueryType defines the structure of a user defined operator scheme query message. + SubmitStructureRequestType defines the structure of a registry submit structure request document. - + - + - + - CustomTypeSchemeQuery is used to query SDMX compliant databases or web services for custom type schemes. + SubmitStructureResponse is returned by the registry when a structure submission request is received. It indicates the status of the submission, and carries any error messages which are generated, if relevant. - - + + - CustomTypeSchemeQueryType defines the structure of a custom type scheme query message. + SubmitStructureResponseType defines the structure of a registry submit registration response document. - + - + + @@ -1248,7 +389,7 @@ - + @@ -1407,7 +548,7 @@ Timezone specifies the time zone of the sender, and if specified can be applied to all un-time zoned time values in the message. In the absence of this, any dates without time zone are implied to be in an indeterminate "local time". - + diff --git a/schemas/SDMXMessageFooter.xsd b/schemas/SDMXMessageFooter.xsd index 54d8281..eca81ba 100644 --- a/schemas/SDMXMessageFooter.xsd +++ b/schemas/SDMXMessageFooter.xsd @@ -1,8 +1,7 @@ - - - - + + + diff --git a/schemas/SDMXMetadataGeneric.xsd b/schemas/SDMXMetadataGeneric.xsd index 34c56a5..689be60 100644 --- a/schemas/SDMXMetadataGeneric.xsd +++ b/schemas/SDMXMetadataGeneric.xsd @@ -1,146 +1,76 @@ - - - + + + SDMX Generic Metadata Namespace Module The generic metadata namespace module describes a generic format for the reporting of reference metadata, regardless of the underlying metadata structure definition. - - - - 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. - - - - - - + + + + MetadataSetType describes the structure for a metadata set, which contains a collection of reported metadata against a set of targets. The targets should conform to the restrictions described by the metadata provision or the metadataflow. Note that this is maintainble, and as such must specify in agency. In this case, the agency is the metadata provider. If a metadata provision agreement is referenced, it is assumed that the metadata provider described in the provsion will be the same as the agency for this set. + + + + + + + + Metadataflow provides a reference to the. + + + + + Metadataflow provides a reference to the metadataflow the metadata set is being reported against. + + + + + MetadataStructure provides a reference to the metadata structure defintion that defines the structure the metadata set. + + + + - DataProviderReference provides a references to an organisation with the role of data provider that is providing this metadata set. + Target references the target structures for which metadata is being reported. These must conform with the constraints defined by the metadata provision agreement and/or the metadataflow. - + - Report contains the details of a the reported metadata, including the identification of the target and the report attributes. + Att elements hold the reported metadata attribute values being reported in the metadata set. These conform to the metadata structure defintion - - - - - - - - ReportType contains a set of report attributes and identifies a target objects] to which they apply. - - - - - - - Target contains a set of target reference values which when taken together, identify the object or objects to which the reported metadata apply. - - - - - - - - - AttributeSet contains the reported metadata attribute values for the reported metadata. - - - - - - The id attribute holds the identifier of the report structure as defined in the metadata structure definition. This identifies the report structure which defines the structure of metadata that is being reported. - - - - - - 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. - - - - - ReferenceValue contains a value for a target reference object reference. When this is taken with its sibling elements, they identify the object or objects to which the reported metadata apply. The content of this will either be a reference to an identifiable object, a data key, a reference to a data set, or a report period. - - - - - - The id attribute holds the identifier of the metadata target as defined in the metadata structure definition. This identifies the metadata target of the report structure that identifies the target object(s) of the reported metadata. - - - - - - - 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. - - - - - ObjectReference provides a reference to an identifiable object in the SDMX information model. An identifiable object target will utilize this option as the representation of the target reference value. - - - - - ObjectReference provides a set of dimension references and values for those dimension for the purpose of reporting metadata against a set of data. A key descriptor values target will utilize this option as the representation of the target reference value. - - - - - DataSetReference provides a reference to a data set for the purpose of reporting metadata against the data. A data set target will utilize this option as the representation of the target reference value. - - - - - ConstraintContentReference provides a reference to an attachment constraint for the purpose of reporting metadata against the data identified in the key sets and/or cube regions identified by the constraint. A constraint target will utilize this option as the representation of the target reference value. - - - - - ReportPeriod provides a report period for the purpose of qualifying the target reporting period of reported metadata. A report period target will utilize this option as the representation of the target reference value. - - - - - - The id attribute holds the identifier of the target reference object as defined in the metadata structure definition. This identifies the target reference of the metadata target that identifes one of the target references, that when taken together, identify the target of the reported metadata. - - - - - + + - AttributeSetType defines the structure for a collection of reported metadata attributes. + Att elements hold the reported values for a given metadata attribute. These values conform to the definition of the meatadata attribute in the metadata structure defintion. - - - - ReportedAttribute provides the details of a reported attribute, including a value and/or child reported attributes. - - - - - - + + + + + + + - ReportedAttributeType defines the structure for a reported metadata attribute. A value for the attribute can be supplied as either a single value, or multi-lingual text values (either structured or unstructured). An optional set of child metadata attributes is also available if the metadata attribute definition defines nested metadata attributes. + AttributeType defines the structure for a reported metadata attribute. A value for the attribute can be supplied as either a single value (enumerated or non-enumerated single value), or multi-lingual text values (either structured or unstructured). Optional child attributes ar also available if the metadata attribute definition defines nested metadata attributes. + + + Value holds any simple value (enumerated or not) for the metadata attribute. It can be repeated if this metadata attribute allows for multiple values. + + Text is used to supply parallel multi-lingual textual values for the reported metadata attribute. This will be used if the text format of the metadata attribute has a type of string and the multi-lingual value is set to true. @@ -152,9 +82,9 @@ - + - AttributeSet contains the reported metadata attribute values for the child metadata attributes. + Att contains the reported metadata attribute values for the child metadata attributes. @@ -163,13 +93,8 @@ The id attribute identifies the metadata attribute that the value is being reported for.
- - - The value attribute holds any simple value for the metadata attribute. - - - +
\ No newline at end of file diff --git a/schemas/SDMXRegistry.xsd b/schemas/SDMXRegistry.xsd index e70fbb8..ae2c14b 100644 --- a/schemas/SDMXRegistry.xsd +++ b/schemas/SDMXRegistry.xsd @@ -1,6 +1,6 @@ - - + + diff --git a/schemas/SDMXRegistryBase.xsd b/schemas/SDMXRegistryBase.xsd index 70d2a5e..4a93982 100644 --- a/schemas/SDMXRegistryBase.xsd +++ b/schemas/SDMXRegistryBase.xsd @@ -1,7 +1,7 @@ - - - + + + SDMX Base Registry Module @@ -136,7 +136,7 @@ VersionQueryType is a simple type that allows for a version number to be substituted with a wild card character ("%") or a late bound character ("*"). - + @@ -179,7 +179,7 @@ - + StatusMessageType carries the text of error messages and/or warnings in response to queries or requests. diff --git a/schemas/SDMXRegistryRegistration.xsd b/schemas/SDMXRegistryRegistration.xsd index e851b31..ba361f6 100644 --- a/schemas/SDMXRegistryRegistration.xsd +++ b/schemas/SDMXRegistryRegistration.xsd @@ -1,223 +1,218 @@ - - - - - - - - - SDMX Registration Registry Module - The registration registry module defines the constructs that are used for the maintenance and discovery of data and reference metadata in a registry. - - - - - SubmitRegistrationsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of data/metadata set registrations. - - - - - RegistrationRequest provides the details of a requested registration and the action to take on it. A reference to a provision agreement that exists in the registry must be provide along with a simple and/or queryable data source. The id should only be provided when updating or deleting a registration. - - - - - - - - RegistrationRequestType describes the structure of a single registration request. It contains the details of a registation and an action field to indicate the action to be taken on the contained registration. - - - - - Registration contains the details of the data/metadata set registration to be added, updated, or deleted. - - - - - - The action attribute indicates whether this is an addition, a modification, or a deletion of a registration. - - - - - - - SubmitRegistrationsResponseType describes the structure of a registration response. For each submitted registration in the request, a registration status is provided. The status elements should be provided in the same order as the submitted registrations, although each status will echo the request to ensure accurate processing of the responses. - - - - - RegistrationStatus provided the status details for the submitted registration. It echoes the original submission and provides status information about the request. - - - - - - - - RegistrationStatusType describes the structure of a registration status. - - - - - Registration, at the very least echoes the submitted registration. It the request was to create a new registration and it was successful, an id must be supplied. - - - - - StatusMessage provides that status for the registration request, and if necessary, any error or warning information. - - - - - - - - QueryRegistrationRequestType describes the structure of a registration query request. The type of query (data, reference metadata, or both) must be specified. It is possible to query for registrations for a particular provision agreement, data provider, or structure usage, or to query for all registrations in the registry. In addition the search can be refined by providing constraints in the form of explicit time periods, constraint regions, and key sets. When constraint regions and key sets are provided they will be effectively processed by first matching all data for the included keys and regions (all available data if there are none) and then removing any data matching the excluded keys or regions. - - - - - QueryType defines the type of sets (data, metadata, or both) that are being queried for. - - - - - - All indicates that all registrations meeting the other criteria of the query should be returned. - - - - - ProvisionAgreement provides a reference to a provision agreement in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields. - - - - - DataProvider provides a reference to a data provider in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields. - - - - - Dataflow provides a reference to a data flow in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields. - - - - - Metadataflow provides a reference to a metadata flow in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields - - - - - - ReferencePeriod provides an inclusive start and end date for the data or metadata being sought. - - - - - - DataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought. - - - - - MetadataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought. - - - - - CubeRegion is used to provide sets of include or excluded values for dimensions when querying for data. - - - - - MetadataTargetRegion is used to provide sets of included or excluded values for identifier components when querying for metadata. - - - - - - - The returnConstraints attribute determines whether information about the constraints on the data or metadata sets returned should also be sent the results. - - - - - - - QueryRegistrationResponseType describes the structure of a registration query response. It provides a status for the request, and if successful, the resulting data and/or metadata results. - - - - - StatusMessage provides that status for the registration query request, and if necessary, any error or warning information. - - - - - QueryResult contains a result for a successful registration query. It can occur multiple times, for each registration the meets the conditions specified in the query. - - - - - - - - QueryResultType describes the structure of a query result for a single data source. Either a data result or metadata result is detailed, depending on the data source. - - - - - - - - - - The timeSeriesMatch attribute is true when the result is an exact match with the key found in the registry - that is, when the registered data source provides a matching key. It is set to false when the data source is registered with cube-region constraints, or in any other circumstance when it cannot be established that the sought-for keys have been exactly matched. This is always true when the resulting data source is the source of a metadata set. - - - - - - - ResultType contains the details about a data or metadata source, through the complete registration information. In addition, a reference to the content constraints for the data source may be provided, if the query requested this information. - - - - - Registration provides the details of a matching registration. In addition to the data source and provision agreement information, the id of the registration must also be provided. - - - - - ContentConstraint provides a reference to a content constraint in the registry for the resulting data source (or possibly constraints base on the registration provision agreement, data provider, structure usage, or structure). The reference is provided for by a URN and/or a complete set of reference fields. - - - - - - - - QueryType provides an enumeration of values which specify the objects in the result-set for a registry query. - - - - - Only references data sets should be returned. - - - - - Only references to metadata sets should be returned. - - - - - References to both data sets and metadata sets should be returned. - - - - - + + + + + + + + + SDMX Registration Registry Module + The registration registry module defines the constructs that are used for the maintenance and discovery of data and reference metadata in a registry. + + + + + SubmitRegistrationsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of data/metadata set registrations. + + + + + RegistrationRequest provides the details of a requested registration and the action to take on it. A reference to a provision agreement that exists in the registry must be provide along with a simple and/or queryable data source. The id should only be provided when updating or deleting a registration. + + + + + + + + RegistrationRequestType describes the structure of a single registration request. It contains the details of a registation and an action field to indicate the action to be taken on the contained registration. + + + + + Registration contains the details of the data/metadata set registration to be added, updated, or deleted. + + + + + + The action attribute indicates whether this is an addition, a modification, or a deletion of a registration. + + + + + + + SubmitRegistrationsResponseType describes the structure of a registration response. For each submitted registration in the request, a registration status is provided. The status elements should be provided in the same order as the submitted registrations, although each status will echo the request to ensure accurate processing of the responses. + + + + + RegistrationStatus provided the status details for the submitted registration. It echoes the original submission and provides status information about the request. + + + + + + + + RegistrationStatusType describes the structure of a registration status. + + + + + Registration, at the very least echoes the submitted registration. It the request was to create a new registration and it was successful, an id must be supplied. + + + + + StatusMessage provides that status for the registration request, and if necessary, any error or warning information. + + + + + + + + QueryRegistrationRequestType describes the structure of a registration query request. The type of query (data, reference metadata, or both) must be specified. It is possible to query for registrations for a particular provision agreement, data provider, or structure usage, or to query for all registrations in the registry. In addition the search can be refined by providing constraints in the form of explicit time periods, constraint regions, and key sets. When constraint regions and key sets are provided they will be effectively processed by first matching all data for the included keys and regions (all available data if there are none) and then removing any data matching the excluded keys or regions. + + + + + QueryType defines the type of sets (data, metadata, or both) that are being queried for. + + + + + + All indicates that all registrations meeting the other criteria of the query should be returned. + + + + + ProvisionAgreement provides a reference to a provision agreement in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields. + + + + + DataProvider provides a reference to a data provider in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields. + + + + + Dataflow provides a reference to a data flow in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields. + + + + + Metadataflow provides a reference to a metadata flow in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields + + + + + + ReferencePeriod provides an inclusive start and end date for the data or metadata being sought. + + + + + + DataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought. + + + + + CubeRegion is used to provide sets of include or excluded values for dimensions when querying for data. + + + + + MetadataTargetRegion is used to provide sets of included or excluded values for identifier components when querying for metadata. + + + + + + + The returnConstraints attribute determines whether information about the constraints on the data or metadata sets returned should also be sent the results. + + + + + + + QueryRegistrationResponseType describes the structure of a registration query response. It provides a status for the request, and if successful, the resulting data and/or metadata results. + + + + + StatusMessage provides that status for the registration query request, and if necessary, any error or warning information. + + + + + QueryResult contains a result for a successful registration query. It can occur multiple times, for each registration the meets the conditions specified in the query. + + + + + + + + QueryResultType describes the structure of a query result for a single data source. Either a data result or metadata result is detailed, depending on the data source. + + + + + + + + + + The timeSeriesMatch attribute is true when the result is an exact match with the key found in the registry - that is, when the registered data source provides a matching key. It is set to false when the data source is registered with cube-region constraints, or in any other circumstance when it cannot be established that the sought-for keys have been exactly matched. This is always true when the resulting data source is the source of a metadata set. + + + + + + + ResultType contains the details about a data or metadata source, through the complete registration information. In addition, a reference to the content constraints for the data source may be provided, if the query requested this information. + + + + + Registration provides the details of a matching registration. In addition to the data source and provision agreement information, the id of the registration must also be provided. + + + + + Constraint provides a reference to a data or metadata constraint in the registry for the resulting data source (or possibly constraints base on the registration provision agreement, data provider, structure usage, or structure). The reference is provided for by a URN and/or a complete set of reference fields. + + + + + + + + QueryType provides an enumeration of values which specify the objects in the result-set for a registry query. + + + + + Only references data sets should be returned. + + + + + Only references to metadata sets should be returned. + + + + + References to both data sets and metadata sets should be returned. + + + + + \ No newline at end of file diff --git a/schemas/SDMXRegistryStructure.xsd b/schemas/SDMXRegistryStructure.xsd index 9ca2b34..9dfe4e1 100644 --- a/schemas/SDMXRegistryStructure.xsd +++ b/schemas/SDMXRegistryStructure.xsd @@ -1,9 +1,9 @@ - - + + - - + + SDMX Structure Registry Module diff --git a/schemas/SDMXRegistrySubscription.xsd b/schemas/SDMXRegistrySubscription.xsd index 38346e1..873e261 100644 --- a/schemas/SDMXRegistrySubscription.xsd +++ b/schemas/SDMXRegistrySubscription.xsd @@ -1,603 +1,603 @@ - - - - - - - - - SDMX Subscription Registry Module - The subscription registry module defines the constructs that are used for the maintenance and usage of notification subscriptions in a registry. - - - - - SubmitSubscriptionsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of subscriptions. Subscriptions are submitted to the registry to subscribe to registration and change events for specific registry resources. - - - - - - - - - SubscriptionType describes the details of a subscription to a registration or change event for registry resources. When it occurs as the content of a response message, the registry URN must be provide, unless the response is a failure notification for the creation of a new subscription. - - - - - Organisation provides a reference to the organisation that owns this subscription. The reference is provided via a URN and/or a complete set of reference fields. - - - - - RegistryURN is used to identify the subscription in the case of deletion or modification. This should be provided in all response messages, unless the response it a notification of the failure to create a newly submitted subscription - in which case there will be no registry assigned URN. - - - - - NotificationMailTo holds an e-mail address (the "mailto:" protocol). Multiple email address can be notified for a single subscription. - - - - - NotificationHTTP holds an http address to which notifications can be addressed as POSTs. Multiple http address may be notified for a single subscription event. - - - - - SubscriberAssignedID allows the subscriber to specify an identification which will be returned as part of the notification for the subscribed events. This should be used if multiple new requests are made, so that the responses can be accurately correlated to the requests. - - - - - Validity period sets a start and end date for the subscription. - - - - - EventSelector indicates an event or events for the subscription. - - - - - - - - - - - - SubscriptionRequestType describes the structure of a single subscription request. It contains subscription details and an action field to indicate the action to be taken on the contained subscription. Note that if the action is update or delete, then the registry supplied URN for the subscription must be included. - - - - - Subscription contains the details of the subscription to be added, updated, or deleted. - - - - - - The action attribute indicates whether this is an addition, a modification, or a deletion of a subscription. - - - - - - - SubmitSubscriptionsResponseType describes the structure of the response to a new subscription submission. A status is provided for each subscription in the request. - - - - - SubscriptionStatus contains information which describes the success or failure of a subscription request, providing any error messages in the event of failure. The statuses should occur in the same order as the requests when responding to a message with multiple subscription requests. If a subscriber-assigned identification for the subscription is provided, it will be returned to allow for accurate matching of the responses to the requests. A registry assigned URN will be returned for any successfully created, updated, or deleted subscription. - - - - - - - - SubscriptionStatusType describes the structure a status for a single subscription request. - - - - - SubscriptionURN contains the registry generated URN for the subscription, and will be returned for any successfully created, updated, or deleted subscription. - - - - - SubscriberAssignedID is the id assigned by the subscriber to the subscription. If it existed in the subscription request, it will be returned. - - - - - StatusMessage provides that status for the subscription request, and if necessary, any error or warning information. - - - - - - - - QuerySubscriptionRequestType describes the structure of a query for subscriptions. Subscriptions for a given organisation may be retrieved. - - - - - Organisation provides a reference to the data consumer for which the subscription details should be returned. - - - - - - - - QuerySubscriptionResponseType describes the structure of a subscription query response. A status will describe the success or failure of the request (and provide error or warning messages if necessary). If the query was successful, details of all of the organisation's subscriptions will be provided. - - - - - StatusMessage provides that status for the query subscription request, and if necessary, any error or warning information. - - - - - Subscription contains the details of a subscription for the organisation. This may occur multiple times for each subscription. - - - - - - - - NotifyRegistryEventType describes the structure a registry notification, in response to a subscription to a registry event. At a minimum, the event time, a reference to the change object, a reference to the underlying subscription triggering the notification, and the action that took place on the object are sent. In addition, the full details of the object may be provided at the discretion of the registry. In the event that the details are not sent, it will be possible to query for the details of the changed object using the reference provided. - - - - - EventTime specifies the time of the triggering event. - - - - - - ObjectURN provides the URN of the object on which the event occurred, unless the event is related to a registration, in which case the RegistrationID element should be used. - - - - - RegistrationID provides the id of the registration that underwent an event. - - - - - - SubscriptionURN provides the registry/repository URN of the subscription that is the cause of this notification being sent. - - - - - EventAction indicates the nature of the event - whether the action was an addition, a modification, or a deletion. - - - - - - StructuralEvent is used to provide the details of the structural object that has changed. - - - - - RegistrationEvent is used to provide the details or the registration object that has changed. - - - - - - - - - NotificationURLType describes the structure of an http or email address. The content holds the addresses while an attribute indicates whether or not is expects the contents in a SOAP message. - - - - - - The isSOAP attribute, if true, indicates the provided URL expects the notification to be sent in a SOAP message. - - - - - - - - - ValidityPeriodType specifies inclusive start and end-dates for the subscription period. - - - - - StartDate is an inclusive start date for the subscription. - - - - - EndDate is an inclusive end date for the subscription. - - - - - - - - EventSelectorType describes the details of the events for a subscription. It allows subscribers to specify registry and repository events for which they wish to receive notifications. - - - - - StructuralRepositoryEvents details structural events for the subscription. - - - - - DataRegistrationEvents details the data registration events for the subscription. - - - - - MetadataRegistrationEvents details the metadata registration events for the subscription. - - - - - - - - StructuralRepositoryEventsType details the structural events for the subscription. At least one maintenance agency must be specified, although it may be given a wildcard value (meaning the subscription is for the structural events of all agencies). This can also be a list of agencies to allow the subscription to subscribe the events of more than one agency. It should be noted that when doing so, all of the subsequent objects are assumed to apply to every agency in the list. The subscription is then refined by detailing the structural objects maintained by the agency for which the subscription should apply. It is possible to explicitly select all object events, all objects of given types, or to individually list out specific objects. Note that for any object, it is also possible to provide an explicit URN to reference a distinct object. In this case, the reference to maintenance agency described above is ignored. Although it is not required, if specific objects are being referenced by explicit URNs, it is good practice to list the agencies. - - - - - AgencyID specifies a maintenance agency for the object or objects indicated in the other fields. This can be either a specific ID, or a single wildcard character ("%"). A wild card character can be used to select all agencies, allowing a subscription to all events for particular object types. This can occur multiple times to list a of group of maintenance agencies, creating event subscriptions for all of the subsequent objects for each agency in the group. Note that if multiple agencies are supplied, then the wildcard character should not be used for any of them. - - - - - - AllEvents creates a subscription to structural events for all structural objects maintained by the agencies referenced. - - - - - - AgencyScheme is used to subscribe to changes of agency schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - DataConsmerScheme is used to subscribe to changes of data consumer schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - DataProviderScheme is used to subscribe to changes of data provider schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - OrganisationUnitScheme is used to subscribe to changes of organisation unit schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - Dataflow is used to subscribe to changes of data flows. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - Metadataflow is used to subscribe to changes of metadata flows. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - CategoryScheme is used to subscribe to changes of category schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - Categorisation is used to subscribe to changes of categorizations. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id field can be selected. - - - - - Codelist is used to subscribe to changes of code lists. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - HierarchicalCodelist is used to subscribe to changes of hierarchical code lists. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - ConceptScheme is used to subscribe to changes of concept schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - MetadataStructureDefinition is used to subscribe to changes of metadata structure definitions. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - KeyFamily is used to subscribe to changes of key families. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - StructureSet is used to subscribe to changes of structure sets. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - ReportingTaxonomy is used to subscribe to changes of reporting taxonomies. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - Process is used to subscribe to changes of processes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - AttachmentConstraint is used to subscribe to changes of attachment constraints. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - ContentConstraint is used to subscribe to changes of content constraints. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - ProvisionAgreement is used to subscribe to changes of a provision agreement. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - TransformationScheme is used to subscribe to changes of a transformation scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - NameAliasScheme is used to subscribe to changes of a name alias scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - NamePersonalisationScheme is used to subscribe to changes of a name peronsalisation scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - RulesetScheme is used to subscribe to changes of a ruleset scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - UserDefinedOperatorScheme is used to subscribe to changes of a user defined operator scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. - - - - - - - - TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint. - - - - - - - IdentifiableObjectEventType describes the structure of a reference to an identifiable object's events. Either all instances of the object matching the inherited criteria, a specific instance, or specific instances of the object may be selected. - - - - - All subscribes to the events all instances of the containing object meeting the other criteria specified. - - - - - URN subscribes to the events of the specific instance of the object type referenced by this URN. Note that when this field is used, the agency information inherited from the structural repository event container is ignored. - - - - - - ID subscribes to the events of the specific instance of the object type where the value provided here matches the id of the object. The default value is the wildcard character("%"). - - - - - - - - - VersionableObjectEventType describes the structure of a reference to a versionable object's events. Either all instances of the object matching the inherited criteria, a specific instance, or specific instances of the object may be selected. - - - - - All subscribes to the events all instances of the containing object meeting the other criteria specified. - - - - - URN subscribes to the events of the specific instance of the object type referenced by this URN. Note that when this field is used, the agency information inherited from the structural repository event container is ignored. - - - - - - ID subscribes to the events of the specific instance of the object type where the value provided here matches the id of the object and the value provided in the version field matches the version of the object. The default value is the wildcard character("%"). - - - - - Version subscribes to the events of the specific instance of the object type where the value provided in the id field matches the id of the object and the value here matches the version of the object. The default value is the wildcard character("%"). Note that in addition to being wild-carded, this can also be bound to the latest version of the object with the late-bound character("*"). - - - - - - - - - DataRegistrationEventsType details the data registration events for the subscription. It is possible to subscribe to all data registration events in the repository, or specific events for; single registrations, provision agreements, data providers, data flows, key families, and categories that categorize data flows or key families. - - - - - AllEvents subscribes to all data registration events in the repository. - - - - - - RegistrationID subscribes to all the data registration events for the unique registration referenced. - - - - - ProvisionAgreementReference subscribes to all data registration events for the explicitly referenced provision agreement. - - - - - DataProviderReference subscribes to all data registration events for the explicitly referenced data provider. - - - - - DataflowReference subscribes to all data registration events for the data flows referenced by this object. This may reference one or more data flows, as the specific references fields allow for a wild-carded value. - - - - - KeyFamilyReference subscribes to all data registration events for the key families referenced by this object. This may reference one or more key families, as the specific references fields allow for a wild-carded value. - - - - - Category subscribes to all data registration events for any data flows or key families that are categorized by the referenced category. - - - - - - - TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint. - - - - - - - MetadataRegistrationEventsType details the metadata registration events for the subscription. It is possible to subscribe to all metadata registration events in the repository, or specific events for; single registrations, provision agreements, data providers, metadata flows, metadata structure definitions, and categories that categorize metadata flows or metadata structure definitions. - - - - - AllEvents subscribes to all metadata registration events in the repository. - - - - - - RegistrationID subscribes to all the metadata registration events for the unique registration referenced. - - - - - ProvisionAgreementReference subscribes to all metadata registration events for the explicitly referenced provision agreement. - - - - - DataProvider subscribes to all metadata registration events for the explicitly referenced data provider. - - - - - MetadataflowReference subscribes to all metadata registration events for the metadata flows referenced by this object. This may reference one or more metadata flows, as the specific references fields allow for a wild-carded value. - - - - - MetadataStructureDefinitionReference subscribes to all metadata registration events for the metadata structure definitions referenced by this object. This may reference one or more metadata structure definitions, as the specific references fields allow for a wild-carded value. - - - - - Category subscribes to all metadata registration events for any metadata flows or metadata structure definitions that are categorized by the referenced category. - - - - - - - TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint. - - - - - - - MaintainableEventType provides a reference to a maintainable object's event with either the URN of the specific object, or a set of potentially wild-carded reference fields. - - - - - URN provides an explicit reference to a single object. - - - - - Ref provides a reference to potentially many object through the use of possible wild-carded reference fields. - - - - - - - - StructuralEventType provides the details of a structure event, specifically the object that changed. - - - - - Structures contains the details of the structural object that has triggered the event. Although this container allows for multiple structural object, it should only contain the one changed object. - - - - - - - - This provides the details of a data or metadata registration event for the purposes of notification. - - - - - Registration provides the changed details of the data or metadata registration. - - - - - + + + + + + + + + SDMX Subscription Registry Module + The subscription registry module defines the constructs that are used for the maintenance and usage of notification subscriptions in a registry. + + + + + SubmitSubscriptionsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of subscriptions. Subscriptions are submitted to the registry to subscribe to registration and change events for specific registry resources. + + + + + + + + + SubscriptionType describes the details of a subscription to a registration or change event for registry resources. When it occurs as the content of a response message, the registry URN must be provide, unless the response is a failure notification for the creation of a new subscription. + + + + + Organisation provides a reference to the organisation that owns this subscription. The reference is provided via a URN and/or a complete set of reference fields. + + + + + RegistryURN is used to identify the subscription in the case of deletion or modification. This should be provided in all response messages, unless the response it a notification of the failure to create a newly submitted subscription - in which case there will be no registry assigned URN. + + + + + NotificationMailTo holds an e-mail address (the "mailto:" protocol). Multiple email address can be notified for a single subscription. + + + + + NotificationHTTP holds an http address to which notifications can be addressed as POSTs. Multiple http address may be notified for a single subscription event. + + + + + SubscriberAssignedID allows the subscriber to specify an identification which will be returned as part of the notification for the subscribed events. This should be used if multiple new requests are made, so that the responses can be accurately correlated to the requests. + + + + + Validity period sets a start and end date for the subscription. + + + + + EventSelector indicates an event or events for the subscription. + + + + + + + + + + + + SubscriptionRequestType describes the structure of a single subscription request. It contains subscription details and an action field to indicate the action to be taken on the contained subscription. Note that if the action is update or delete, then the registry supplied URN for the subscription must be included. + + + + + Subscription contains the details of the subscription to be added, updated, or deleted. + + + + + + The action attribute indicates whether this is an addition, a modification, or a deletion of a subscription. + + + + + + + SubmitSubscriptionsResponseType describes the structure of the response to a new subscription submission. A status is provided for each subscription in the request. + + + + + SubscriptionStatus contains information which describes the success or failure of a subscription request, providing any error messages in the event of failure. The statuses should occur in the same order as the requests when responding to a message with multiple subscription requests. If a subscriber-assigned identification for the subscription is provided, it will be returned to allow for accurate matching of the responses to the requests. A registry assigned URN will be returned for any successfully created, updated, or deleted subscription. + + + + + + + + SubscriptionStatusType describes the structure a status for a single subscription request. + + + + + SubscriptionURN contains the registry generated URN for the subscription, and will be returned for any successfully created, updated, or deleted subscription. + + + + + SubscriberAssignedID is the id assigned by the subscriber to the subscription. If it existed in the subscription request, it will be returned. + + + + + StatusMessage provides that status for the subscription request, and if necessary, any error or warning information. + + + + + + + + QuerySubscriptionRequestType describes the structure of a query for subscriptions. Subscriptions for a given organisation may be retrieved. + + + + + Organisation provides a reference to the data consumer for which the subscription details should be returned. + + + + + + + + QuerySubscriptionResponseType describes the structure of a subscription query response. A status will describe the success or failure of the request (and provide error or warning messages if necessary). If the query was successful, details of all of the organisation's subscriptions will be provided. + + + + + StatusMessage provides that status for the query subscription request, and if necessary, any error or warning information. + + + + + Subscription contains the details of a subscription for the organisation. This may occur multiple times for each subscription. + + + + + + + + NotifyRegistryEventType describes the structure a registry notification, in response to a subscription to a registry event. At a minimum, the event time, a reference to the change object, a reference to the underlying subscription triggering the notification, and the action that took place on the object are sent. In addition, the full details of the object may be provided at the discretion of the registry. In the event that the details are not sent, it will be possible to query for the details of the changed object using the reference provided. + + + + + EventTime specifies the time of the triggering event. + + + + + + ObjectURN provides the URN of the object on which the event occurred, unless the event is related to a registration, in which case the RegistrationID element should be used. + + + + + RegistrationID provides the id of the registration that underwent an event. + + + + + + SubscriptionURN provides the registry/repository URN of the subscription that is the cause of this notification being sent. + + + + + EventAction indicates the nature of the event - whether the action was an addition, a modification, or a deletion. + + + + + + StructuralEvent is used to provide the details of the structural object that has changed. + + + + + RegistrationEvent is used to provide the details or the registration object that has changed. + + + + + + + + + NotificationURLType describes the structure of an http or email address. The content holds the addresses while an attribute indicates whether or not is expects the contents in a SOAP message. + + + + + + The isSOAP attribute, if true, indicates the provided URL expects the notification to be sent in a SOAP message. + + + + + + + + + ValidityPeriodType specifies inclusive start and end-dates for the subscription period. + + + + + StartDate is an inclusive start date for the subscription. + + + + + EndDate is an inclusive end date for the subscription. + + + + + + + + EventSelectorType describes the details of the events for a subscription. It allows subscribers to specify registry and repository events for which they wish to receive notifications. + + + + + StructuralRepositoryEvents details structural events for the subscription. + + + + + DataRegistrationEvents details the data registration events for the subscription. + + + + + MetadataRegistrationEvents details the metadata registration events for the subscription. + + + + + + + + StructuralRepositoryEventsType details the structural events for the subscription. At least one maintenance agency must be specified, although it may be given a wildcard value (meaning the subscription is for the structural events of all agencies). This can also be a list of agencies to allow the subscription to subscribe the events of more than one agency. It should be noted that when doing so, all of the subsequent objects are assumed to apply to every agency in the list. The subscription is then refined by detailing the structural objects maintained by the agency for which the subscription should apply. It is possible to explicitly select all object events, all objects of given types, or to individually list out specific objects. Note that for any object, it is also possible to provide an explicit URN to reference a distinct object. In this case, the reference to maintenance agency described above is ignored. Although it is not required, if specific objects are being referenced by explicit URNs, it is good practice to list the agencies. + + + + + AgencyID specifies a maintenance agency for the object or objects indicated in the other fields. This can be either a specific ID, or a single wildcard character ("%"). A wild card character can be used to select all agencies, allowing a subscription to all events for particular object types. This can occur multiple times to list a of group of maintenance agencies, creating event subscriptions for all of the subsequent objects for each agency in the group. Note that if multiple agencies are supplied, then the wildcard character should not be used for any of them. + + + + + + AllEvents creates a subscription to structural events for all structural objects maintained by the agencies referenced. + + + + + + AgencyScheme is used to subscribe to changes of agency schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + DataConsmerScheme is used to subscribe to changes of data consumer schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + DataProviderScheme is used to subscribe to changes of data provider schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + OrganisationUnitScheme is used to subscribe to changes of organisation unit schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + Dataflow is used to subscribe to changes of data flows. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + Metadataflow is used to subscribe to changes of metadata flows. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + CategoryScheme is used to subscribe to changes of category schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + Categorisation is used to subscribe to changes of categorizations. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id field can be selected. + + + + + Codelist is used to subscribe to changes of code lists. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + HierarchicalCodelist is used to subscribe to changes of hierarchical code lists. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + ConceptScheme is used to subscribe to changes of concept schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + MetadataStructureDefinition is used to subscribe to changes of metadata structure definitions. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + KeyFamily is used to subscribe to changes of key families. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + StructureSet is used to subscribe to changes of structure sets. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + ReportingTaxonomy is used to subscribe to changes of reporting taxonomies. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + Process is used to subscribe to changes of processes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + AttachmentConstraint is used to subscribe to changes of attachment constraints. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + ContentConstraint is used to subscribe to changes of content constraints. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + ProvisionAgreement is used to subscribe to changes of a provision agreement. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + TransformationScheme is used to subscribe to changes of a transformation scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + NameAliasScheme is used to subscribe to changes of a name alias scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + NamePersonalisationScheme is used to subscribe to changes of a name peronsalisation scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + RulesetScheme is used to subscribe to changes of a ruleset scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + UserDefinedOperatorScheme is used to subscribe to changes of a user defined operator scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected. + + + + + + + + TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint. + + + + + + + IdentifiableObjectEventType describes the structure of a reference to an identifiable object's events. Either all instances of the object matching the inherited criteria, a specific instance, or specific instances of the object may be selected. + + + + + All subscribes to the events all instances of the containing object meeting the other criteria specified. + + + + + URN subscribes to the events of the specific instance of the object type referenced by this URN. Note that when this field is used, the agency information inherited from the structural repository event container is ignored. + + + + + + ID subscribes to the events of the specific instance of the object type where the value provided here matches the id of the object. The default value is the wildcard character("%"). + + + + + + + + + VersionableObjectEventType describes the structure of a reference to a versionable object's events. Either all instances of the object matching the inherited criteria, a specific instance, or specific instances of the object may be selected. + + + + + All subscribes to the events all instances of the containing object meeting the other criteria specified. + + + + + URN subscribes to the events of the specific instance of the object type referenced by this URN. Note that when this field is used, the agency information inherited from the structural repository event container is ignored. + + + + + + ID subscribes to the events of the specific instance of the object type where the value provided here matches the id of the object and the value provided in the version field matches the version of the object. The default value is the wildcard character("%"). + + + + + Version subscribes to the events of the specific instance of the object type where the value provided in the id field matches the id of the object and the value here matches the version of the object. The default value is the wildcard character("%"). Note that in addition to being wild-carded, this can also be bound to the latest version of the object with the late-bound character("*"). + + + + + + + + + DataRegistrationEventsType details the data registration events for the subscription. It is possible to subscribe to all data registration events in the repository, or specific events for; single registrations, provision agreements, data providers, data flows, key families, and categories that categorize data flows or key families. + + + + + AllEvents subscribes to all data registration events in the repository. + + + + + + RegistrationID subscribes to all the data registration events for the unique registration referenced. + + + + + ProvisionAgreementReference subscribes to all data registration events for the explicitly referenced provision agreement. + + + + + DataProviderReference subscribes to all data registration events for the explicitly referenced data provider. + + + + + DataflowReference subscribes to all data registration events for the data flows referenced by this object. This may reference one or more data flows, as the specific references fields allow for a wild-carded value. + + + + + KeyFamilyReference subscribes to all data registration events for the key families referenced by this object. This may reference one or more key families, as the specific references fields allow for a wild-carded value. + + + + + Category subscribes to all data registration events for any data flows or key families that are categorized by the referenced category. + + + + + + + TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint. + + + + + + + MetadataRegistrationEventsType details the metadata registration events for the subscription. It is possible to subscribe to all metadata registration events in the repository, or specific events for; single registrations, provision agreements, data providers, metadata flows, metadata structure definitions, and categories that categorize metadata flows or metadata structure definitions. + + + + + AllEvents subscribes to all metadata registration events in the repository. + + + + + + RegistrationID subscribes to all the metadata registration events for the unique registration referenced. + + + + + ProvisionAgreementReference subscribes to all metadata registration events for the explicitly referenced provision agreement. + + + + + DataProvider subscribes to all metadata registration events for the explicitly referenced data provider. + + + + + MetadataflowReference subscribes to all metadata registration events for the metadata flows referenced by this object. This may reference one or more metadata flows, as the specific references fields allow for a wild-carded value. + + + + + MetadataStructureDefinitionReference subscribes to all metadata registration events for the metadata structure definitions referenced by this object. This may reference one or more metadata structure definitions, as the specific references fields allow for a wild-carded value. + + + + + Category subscribes to all metadata registration events for any metadata flows or metadata structure definitions that are categorized by the referenced category. + + + + + + + TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint. + + + + + + + MaintainableEventType provides a reference to a maintainable object's event with either the URN of the specific object, or a set of potentially wild-carded reference fields. + + + + + URN provides an explicit reference to a single object. + + + + + Ref provides a reference to potentially many object through the use of possible wild-carded reference fields. + + + + + + + + StructuralEventType provides the details of a structure event, specifically the object that changed. + + + + + Structures contains the details of the structural object that has triggered the event. Although this container allows for multiple structural object, it should only contain the one changed object. + + + + + + + + This provides the details of a data or metadata registration event for the purposes of notification. + + + + + Registration provides the changed details of the data or metadata registration. + + + + + \ No newline at end of file diff --git a/schemas/SDMXStructure.xsd b/schemas/SDMXStructure.xsd index 41d6cd3..9c5be33 100644 --- a/schemas/SDMXStructure.xsd +++ b/schemas/SDMXStructure.xsd @@ -1,6 +1,6 @@ - - + + @@ -16,7 +16,7 @@ - + @@ -118,13 +118,42 @@ + + + + + + + + + + + + + + + + + + - + - HierarchicalCodelists contains a collection of hierarchical code list descriptions. The hierarchical code lists may be detailed in full, or referenced from an external structure document or registry service. + Hierarchies contains a collection of hierarchical code list descriptions. The hierarchical code lists may be detailed in full, or referenced from an external structure document or registry service. - - + + + + + + + + + + HierarchyAssociations contains a collection of hierarchy associations. The associations may be detailed in full, or referenced from an external structure document or registry service. + + + @@ -163,12 +192,42 @@ - + - StructureSets contains a collection of structure set descriptions. The structure sets may be detailed in full, or referenced from an external structure document or registry service. + StructureMappings contains a collection of structure mapping descriptions. The structure mappings may be detailed in full, or referenced from an external structure document or registry service. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -395,42 +454,78 @@ - CodelistsType describes the structure of the code lists container. It contains one or more code list, which can be explicitly detailed or referenced from an external structure document or registry service. + CodelistsType describes the structure of the code lists container. It contains one or more codelist (including geographic), which can be explicitly detailed or referenced from an external structure document or registry service. - - + + - Codelist provides the details of a code list, which is defined as a list from which some statistical concepts (coded concepts) take their values. + Codelist provides the details of a codelist, which is defined as a list from which some statistical concepts (coded concepts) take their values. - + + + GeographiCodelist provides the details of a georaphic code list, which comprises a set of GeoFeatureSetCodes, by adding a value in the Code that follows a pattern to represent a geo feature set. + + + + + + + + + GeoGridCodelist provides the details of a georaphic grid code list, which comprises a set of GridCodes, which are related to the gridDefinition specified in the GeoGridCodelist. + + + + + + + + + ValueList provides the details of a value list, which is a closed set of values that can occur for a dimension, measure, or attribute. This may be a simple list of values, or a list of values with names and descriptions (similar to a codelist). + + + - + - HierarchicalCodelistsType describes the structure of the hierarchical code lists container. It contains one or more hierarchical code list, which can be explicitly detailed or referenced from an external structure document or registry service. + HierarchiesType describes the structure of the hierarchies container. It contains one or more hierarchy, which can be explicitly detailed or referenced from an external structure document or registry service. - + - HierarchicalCodelist provides the details of a hierarchical code list, which is defined as an organised collection of codes that may participate in many parent/child relationships with other codes in the list, as defined by one or more hierarchy of the list. + Hierarchy provides the details of a hierarchy, which is defined as an organised collection of codes that may participate in many parent/child relationships with other codes in the list. - - + + + + + + - - - - + + + HiearchyAssociationsType describes the structure of the hierarchy assoications container. It contains one or more hiearchy associations, which can be explicitly detailed or referenced from an external structure document or registry service. + + + + + HierarchyAssociation provides the details of a hiearchy assoication, which associates a hiearchy with an identifiable object in the context of another object. + + + + + ConceptsType describes the structure of the concepts container. It contains one or more concept schemes, which can be explicitly detailed or referenced from an external structure document or registry service. @@ -474,37 +569,50 @@ - + - StructureSetsType describes the structure of the structure sets container. It contains one or more structure set, which can be explicitly detailed or referenced from an external structure document or registry service. + StructureMappingsType describes the structure of the structure mappings container. It contains one or more structure map, item scheme map, or representation map, which can be explicitly detailed or referenced from an external structure document or registry service. - - + + - StructureSet provides the details or a structure set, which allows components in one structure, structure usage, or item scheme to be mapped to components in another structural component of the same type. + StructureMap provides the details or a structure map, which allows allows mapping between data dtructures or dataflows. - - - - - - - - - - + + - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -549,16 +657,24 @@ ConstraintsType describes the structure of the constraints container. It contains one or more constraint, which can be explicitly detailed or referenced from an external structure document or registry service. This container may contain both attachment and content constraints. - - + + - AttachmentConstraint describes sub sets of the content of a data or metadata set in terms of the content regions or in terms of the set of key combinations to which attributes or reference metadata (as defined by structure definitions) may be attached. + DataConstraint specifies a sub set of the definition of the allowable or available content of a data set in terms of the content or in terms of the set of key combinations. - - + + + + + + - ContentConstraint specifies a sub set of the definition of the allowable or available content of a data or metadata set in terms of the content or in terms of the set of key combinations. + MetadataConstraint specifies a sub set of the definition of the allowable content of a metadata set. + + + + diff --git a/schemas/SDMXStructureBase.xsd b/schemas/SDMXStructureBase.xsd index dd3f963..31fed9f 100644 --- a/schemas/SDMXStructureBase.xsd +++ b/schemas/SDMXStructureBase.xsd @@ -1,133 +1,19 @@ - - - + + + SDMX Base Structure Module The base structure module contains the descriptions of base structural metadata constructs, such as item schemes, structures, and structure usages, as well as constructs reused by multiple types of structural components. - - - - IdentifiableType is an abstract base type for all identifiable objects. - - - - - - The id is the identifier for the object. - - - - - The urn attribute holds a valid SDMX Registry URN (see SDMX Registry Specification for details). - - - - - The uri attribute holds a URI that contains a link to a resource with additional information about the object, such as a web page. This uri is not a SDMX message. - - - - - - - - - NameableType is an abstract base type for all nameable objects. - - - - - - - Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms. - - - - - Description provides for a longer human-readable description of the object. This may be provided in multiple, parallel language-equivalent forms. - - - - - - - - - - VersionableType is an abstract base type for all versionable objects. - - - - - - This version attribute holds a version number in the format of #[.#]+ (see common:VersionType definition for details). If not supplied, the version number is defaulted to 1.0. - - - - - The validFrom attribute provides the inclusive start date for providing supplemental validity information about the version. - - - - - The validTo attribute provides the inclusive end date for providing supplemental validity information about the version. - - - - - - - - - MaintainableBaseType is an abstract type that only serves the purpose of forming the base for the actual MaintainableType. The purpose of this type is to restrict the VersionableType to require the id attribute. - - - - - - - - - - - - - - - - MaintainableType is an abstract base type for all maintainable objects. - - - - - - The agencyID must be provided, and identifies the maintenance agency of the object. - - - - - The isFinal attribute indicates whether the object is unchangeable without versioning. If the value is true, the object must be versioned upon change. If the final attribute is not supplied, then the object is assumed not to be final. Note that all production objects must be final. - - - - - The isExternalReference attribute, if true, indicates that the actual object is not defined the corresponding element, rather its full details are defined elsewhere - indicated by either the registryURL, the repositoryURL, or the structureURL. The purpose of this is so that each structure message does not have to redefine object that are already defined elsewhere. If the isExternalReference attribute is not set, then it is assumed to be false, and the object should contain the full definition of its contents. If more than one of the registryURL, the repositoryURL, and the structureURL are supplied, then the application processing the object can choose the method it finds best suited to retrieve the details of the object. - - - - - - ItemSchemeType is an abstract base type for all item scheme objects. It contains a collection of items. Concrete instances of this type should restrict the actual types of items allowed within the scheme. - + @@ -153,9 +39,10 @@ ItemBaseType is an abstract base type that forms the basis for the ItemType. It requires that at least an id be supplied for an item. - + + @@ -188,6 +75,7 @@ + @@ -200,7 +88,7 @@ StructureType is an abstract base type for all structure objects. Concrete instances of this should restrict to a concrete grouping. - + @@ -238,7 +126,7 @@ ComponentListType is an abstract base type for all component lists. It contains a collection of components. Concrete types should restrict this to specific concrete components. - + @@ -259,9 +147,10 @@ ComponentBaseType is an abstract type that only serves the purpose of forming the base for the actual ComponentType. It only restricts the format of the id attribute to the NCNameIDType. - + + @@ -299,7 +188,7 @@ StructureUsageType is an abstract base type for all structure usages. It contains a reference to a structure. Concrete instances of this type should restrict the type of structure referenced. - + @@ -311,24 +200,6 @@ - - - UsageStatusType provides a list of enumerated types for indicating whether reporting a given attribute is mandatory or conditional. - - - - - Reporting the associated attribute is mandatory - a value must be supplied. - - - - - Reporting the associated attribute is not mandatory - a value may be supplied, but is not required. - - - - - RepresentationType is an abstract type that defines a representation. Because the type of item schemes that are allowed as the an enumeration vary based on the object in which this is defined, this type is abstract to force that the enumeration reference be restricted to the proper type of item scheme reference. @@ -340,7 +211,7 @@ - + Enumeration references an item scheme that enumerates the allowable values for this representation. @@ -352,6 +223,16 @@ + + + The minOccurs attribute indicates the minimum number of value that must be reported for the component. + + + + + The maxOccurs attribute indicates the maximum number of values that can be reported for the component. + + diff --git a/schemas/SDMXStructureCategorisation.xsd b/schemas/SDMXStructureCategorisation.xsd index 2bea1c0..03d742c 100644 --- a/schemas/SDMXStructureCategorisation.xsd +++ b/schemas/SDMXStructureCategorisation.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -14,7 +14,7 @@ CategorisationType is defines the structure for a categorisation. A source object is referenced via an object reference and the target category is referenced via the target category. - + diff --git a/schemas/SDMXStructureCategory.xsd b/schemas/SDMXStructureCategory.xsd index c7cecfa..70c25fe 100644 --- a/schemas/SDMXStructureCategory.xsd +++ b/schemas/SDMXStructureCategory.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -17,6 +17,7 @@ + @@ -50,6 +51,7 @@ + diff --git a/schemas/SDMXStructureCodelist.xsd b/schemas/SDMXStructureCodelist.xsd index a1dcf9b..6a4282b 100644 --- a/schemas/SDMXStructureCodelist.xsd +++ b/schemas/SDMXStructureCodelist.xsd @@ -1,15 +1,15 @@ - - - + + + - + SDMX Code List Structure Module The code list structure module defines the structure of code list and code constructs. - + CodelistType defines the structure of a codelist. A codelist is defined as a list from which some statistical concepts (coded concepts) take their values. @@ -17,6 +17,7 @@ + @@ -30,14 +31,28 @@ - - + + + + + + + + + CodelistExtension allows for the extension of codelists by referencing the codelists to be extended and providing inclusion/exclusion rules for selecting the codes to extend. The order of these is important as it is indicates the order of precedence of the extended codelists for conflict resolution of codes. However, the prefix property can be used to ensure uniqueness of inherited codes in the extending codelist, in case conflicting codes must be included. + + + + + + + Code describes a code in a codelist. In addition to the identification and description of the code, basic presentational information is also available. Presentational information not present may be added through the use of annotations. - + CodeType describes the structure of a code. A code is defined as a language independent set of letters, numbers or symbols that represent a concept whose meaning is described in a natural language. Presentational information not present may be added through the use of annotations. @@ -46,6 +61,7 @@ + Name provides for a human-readable name for the object. This may be provided in multiple, parallel language-equivalent forms. It may be used in place of a short description. @@ -68,4 +84,252 @@ + + + CodelistExtensionType defines the structure of a codelist to be extended by the codelist defining the extension. It provides a reference to the extended codelist and selection criteria to indicate the codes to be included in the extending codelist. + + + + + + + Selection of codes from the referenced (extended) codelist to be included in the extending codelist. + + + + + Selection of codes from the referenced (extended) codelist to be excluded in the extending codelist. + + + + + + + Defines a prefix that will be prepend to included codes when they conflict with other codes included via extension. + + + + + + + CodeSelectionType defines the structure for code selection to be used as inclusive or exclusive extensions. + + + + + A wildcard expression that is evaluated to determine codes selected for inclusion/exclusion. + + + + + An explicit selection of a code from the codelist selected for inclusion/exclusion. If the extended list is hierarchical, this can indicate whether child codes are to be included. + + + + + + + + + + + + + + + + GeoCodelistBaseType is an abstract base refinement of a codelist that restricts the cods to be derived from the abstract GeoRefCode. + + + + + + + + + + + + + + + + + + + + GeoCodelistType is an abstract refinement of a codelist from which specific types of geographic codelists will be derived. + + + + + + The type of geographic codelist. The will be refined and provided a fixed value in the specific geographic codelist type implementations. + + + + + + + + + GeoRefCode is the abstract base from which specific types of geographic codes will be derived. + + + + + + GeoRefCodeType is the abstract base type defining the structure of geographic codes. + + + + + + + + + GeographicCodelistType defines the sturcture of a geographic codelist. It comprises a set of GeoFeatureSetCodes, by adding a value in the Code that follows a pattern to represent a geo feature set. + + + + + + + + + + + + + + + + + + + + + Is a geographic code in a geographic codelist. It adds a value to a code that folows a pattern to represent a geo feature set. + + + + + + + GeoFeatureSetCodeType defines the structure of a geogrphic code. + + + + + + The geo feature set of the Code, which represents a set of points defining a feature in a format defined a predefined pattern (see section 6). + + + + + + + + + GeoGridCodelistBaseType is the abstract base refinement for a geographic grid codelist. + + + + + + + + + + + + + + + + + + + + + GeoGridCodelistType defines the structure of a geographic grid code list. These define a geographical grid composed of cells representing regular squared portions of the Earth. + + + + + + + Contains a regular expression string corresponding to the grid definition for the GeoGrid Codelist. + + + + + + + + + + GeoGridCode is a code the represents a geographic grid cell that belongs to a specific grid definition. + + + + + + GeoGridCodeType defines the structure of a geographic grid cell. + + + + + + + The value used to assign the Code to one cell in the grid. + + + + + + + + + + GeoCodelistTypeType defines an enumeration of the speicfic types of geographic codelists. + + + + + + + + + + ValueListType defines the structure of value list. These represent a closed set of values the can occur for a dimension, measure, or attribute. These may be values, or values with names and descriptions (similar to a codelist). + + + + + + + + + + + + + + + + + ValueItemType defines the structure of a value item. A value must be provided, and a longer name and description can be provided to provide additiona meaning to the value (similar to a code in a code list). + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/SDMXStructureConcept.xsd b/schemas/SDMXStructureConcept.xsd index a895bf2..5aed42e 100644 --- a/schemas/SDMXStructureConcept.xsd +++ b/schemas/SDMXStructureConcept.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -17,6 +17,7 @@ + @@ -46,6 +47,7 @@ + diff --git a/schemas/SDMXStructureConstraint.xsd b/schemas/SDMXStructureConstraint.xsd index 2cedece..8e26452 100644 --- a/schemas/SDMXStructureConstraint.xsd +++ b/schemas/SDMXStructureConstraint.xsd @@ -1,32 +1,33 @@ - - - + + + SDMX Constraint Structure Module - The constraint structure module defines the structure of attachment and content constraint constructs. + The constraint structure module defines the structure of data and metadata constraint constructs. - + ConstraintBaseType is an abstract base type that forms the basis of the main abstract ConstraintType. It requires that a name be provided. - + + - + - ConstraintType is an abstract base type that specific types of constraints (content and attachment) restrict and extend to describe their details. The inclusion of a key or region in a constraint is determined by first processing the included key sets, and then removing those keys defined in the excluded key sets. If no included key sets are defined, then it is assumed the all possible keys or regions are included, and any excluded key or regions are removed from this complete set. + ConstraintType is an abstract base type that specific types of constraints (data and metadata) restrict and extend to describe their details. These constraint types both define a constraint attachment and a release calendar. @@ -36,122 +37,97 @@ ConstraintAttachment describes the collection of constrainable artefacts that the constraint is attached to. - - - - - - - - - - - - - - - - - - - - - - + + + ReleaseCalendar defines dates on which the constrained data is to be made available. + + + + + The type attribute indicates whether this constraint states what data is actually present for the constraint attachment, or if it defines what content is allowed. + + - - + + - AttachmentConstraintType describes the details of an attachment constraint by defining the data or metadata key sets or component regions that attributes or reference metadata may be attached in the constraint attachment objects. + DataConstraintBaseType is an abstract base refinement of ConstraintType. The constraint attachment is restricted to constrainable artefacts related to data. + - - - - - + + - - + + + + DataConstraintType defines the structure of a data constraint. A data constraint can specify either the available set of keys (DataKeySet) or set of component values (CubeRegion) in a data source, or the allowable keys that can be constructed from a data structure definition. Multiple such constraints may be present for a constrained artefact. For instance, there may be a constraing that specifies the values allowed for the data source (role is "Allowed") which can be used for validation or for constructing a partial code list, whilst another constraing can specify the actual content of a data source (role is "Actual"). + + + + + + + DataKeySet defines a full, distinct set of dimension values and the attribute values associated with the key. + + + + + CubeRegion defines a slice of the data set (dimensions and attribute values) for the constrained artefacet. A set of included and/or excluded regions can be described. + + + + + + + + - ContentConstraintBaseType is an abstract base type that forms the basis for the ContentConstraintType. + MeatadataConstraintBaseType is an abstract base refinement of ConstraintType. The constraint attachment is restricted to constrainable artefacts related to metadata, and the only possible role is "Allowed". + - - - ConstraintAttachment describes the collection of constrainable artefacts that the constraint is attached to. - - - - - - DataKeySet defines a collection of full or partial data keys. - - - - - MetadataKeySet defines a collection of metadata keys. - - - - - CubeRegion describes a set of dimension values which define a region and attributes which relate to the region for the purpose of describing a constraint. - - - - - MetadataTargetRegion describes a set of target object values for a given report structure which define a region, and the metadata attribute which relate to the target for the purpose of describing a constraint. - - - + + + - - + + - ContentConstraintType describes the details of a content constraint by defining the content regions, key sets, or release information for the constraint attachment objects. Note that if the constraint is for a data provider, then only release calendar information is relevant, as there is no reliable way of determining which key family is being used to frame constraints in terms of cube regions or key sets. + MetadataConstraintType defines the structure of a metadata constraint. A metadata constraint can specify allowed attribute values for metadata described by the constrained artefact. - + - - - ReleaseCalendar defines dates on which the constrained data is to be made available. - - - + - ReferencePeriod is used to report start date and end date constraints. + MetadataTragetRegion describes the values allowed for metadata attributes. - - - The type attribute indicates whether this constraint states what data is actually present for the constraint attachment, or if it defines what content is allowed. The default value is "Actual", meaning the data actually present for the constraint attachment. - - - + ReleaseCalendarType describes information about the timing of releases of the constrained data. All of these values use the standard "P7D" - style format. @@ -174,13 +150,13 @@ - + KeySetType is an abstract base type for defining a collection of keys. - + Key contains a data or metadata key, which are sets of component values which identify the data or metadata. @@ -200,7 +176,7 @@ - + Key contains a set of dimension values which identify a full set of data. @@ -209,23 +185,6 @@ - - - - MetadataKeySetType defines a collection of metadata keys (identifier component values). - - - - - - - Key contains a set of target object values for a specified report structure which serve to identify which object reference metadata conforming to the specified report structure is available for. - - - - - - @@ -299,7 +258,7 @@ QueryableDataSource describes a queryable data source to which the constraint is attached. - + @@ -313,74 +272,72 @@ + + + + ProvisionAgreementReference is reference to a provision agreement to which the constraint is attached. The referenced is provided as a URN and/or a full set of reference fields. A constraint can be attached to more than one provision aggreement, and the provision agreements do not necessarily have to be references structure usages based on the same structure. However, a constraint which is attached to more than one provision agreement must only express key sets and/or cube/target regions where the identifier of the components are common across all structures to which the constraint is attached. + + + + + QueryableDataSource describes a queryable data source to which the constraint is attached. + + + - - + + - AttachmentConstraintAttachmentType defines the structure for specifying the object to which an attachment constraints applies. + DataConstraintAttachmentType restricts the base ConstraintAttachmentType to only allow artefacts related to data. - - - DataSet is reference to a data set to which the constraint is attached. The referenced is provided as a URN and/or a full set of reference fields. Multiple instance can only be used if they have the same underlying structure. - - - - - MetadataSet is reference to a metadata set to which the constraint is attached. The referenced is provided as a URN and/or a full set of reference fields. Multiple instance can only be used if they have the same underlying structure. - - - - - SimpleDataSource describes a simple data source, which is a URL of a SDMX-ML data or metadata message. Multiple instance can only be used if they have the same underlying structure. - - + + + - - - - - + + + + + + + + + + + + - - + + - ContentConstraintAttachmentType defines the structure for specifying the target object(s) of a content constraint. + MetadataConstraintAttachmentType restricts the base ConstraintAttachmentType to only allow artefacts related to metadata. - - - + + - - - - - - - - - + - + @@ -388,5 +345,391 @@ - + + + + ConstraintRoleType defines a list of roles for a content constraint. A constraint can state which data is present or which content is allowed for the constraint attachment. + + + + + The constraint contains the allowed values for attachable object. + + + + + The constraints contains the actual data present for the attachable object. + + + + + + + + RegionType is an abstract type which defines a generic constraint region. This type can be refined to define regions for data or metadata sets. A region is defined by a collection of key values - each of which a collection of values for a component which disambiguates data (i.e. dimensions of a dataset). For each region, a collection of attribute values can be provided. Taken together, the key values and attributes serve to identify or describe a subset of a data or metadata set. Finally, the region can flagged as being included or excluded, although this flag only makes sense when the region is used in a particular context. + + + + + KeyValue contains a reference to a component which disambiguates the data (i.e. a dimension) and provides a collection of values for the component. The collection of values can be flagged as being inclusive or exclusive to the region being defined. Any key component that is not included is assumed to be wild carded, which is to say that the cube includes all possible values for the un-referenced key components. Further, this assumption applies to the values of the components as well. The values for any given component can only be sub-setted in the region by explicit inclusion or exclusion. For example, a dimension X which has the possible values of 1, 2, 3 is assumed to have all of these values if a key value is not defined. If a key value is defined with an inclusion attribute of true and the values of 1 and 2, the only the values of 1 and 2 for dimension X are included in the definition of the region. If the key value is defined with an inclusion attribute of false and the value of 1, then the values of 2 and 3 for dimension X are included in the definition of the region. Note that any given key component must only be referenced once in the region. + + + + + Attributes contains a reference to an attribute component (data or metadata) and provides a collection of values for the referenced attribute. This serves to state that for the key which defines the region, the attributes that are specified here have or do not have (depending to the include attribute of the value set) the values provided. It is possible to provide and attribute reference without specifying values, for the purpose of stating the attribute is absent (include = false) or present with an unbounded set of values. As opposed to key components, which are assumed to be wild carded if absent, no assumptions are made about the absence of an attribute. Only attributes which are explicitly stated to be present or absent from the region will be know. All unstated attributes for the set cannot be assumed to absent or present. + + + + + + The include attribute indicates that the region is to be included or excluded within the context in which it is defined. For example, if the regions is defined as part of a content constraint, the exclude flag would mean the data identified by the region is not present. + + + + + + + + ComponentValueSetType is an abstract base type which is used to provide a set of value for a referenced component. Implementations of this type will be based on a particular component type and refine the allowed values to reflect the types of values that are possible for that type of component. + + + + + Value provides a simple value for the component, such as a coded, numeric, or simple text value. This type of component value is applicable for dimensions and attributes. + + + + + TimeValue provides a value for a component which has a time representation. This is repeatable to allow for a range to be specified, although a single value can also be provided. An operator is available on this to indicate whether the specified value indicates an exact value or the beginning/end of a range (inclusive or exclusive). + + + + + + The id attribute provides the identifier for the component for which values are being provided. This base type allows for a nested identifier to be provided, for the purpose of referencing a nested component (i.e. a metadata attribute). However, specific implementations will restrict this representation to only allow single level identifiers where appropriate. + + + + + The include attribute indicates whether the values provided for the referenced component are to be included are excluded from the region in which they are defined. + + + + + + + DistinctKeyType is an abstract base type which is a special type of region that only defines a distinct region of data. For each component defined in the region, only a single values is provided. However, the same rules that apply to the general region about unstated components being wild carded apply here as well. Thus, this type can define a distinct full or partial key for data. + + + + + + + + + + The include attribute has a fixed value of true for a distinct key, since such a key is always assumed to identify existing data or metadata. + + + + + + + + + + DinstinctKeyValueType is an abstract base type which defines a singular, required value for a key component. + + + + + + + + + + + + + + + DataKeyType is a region which defines a distinct full or partial data key. The key consists of a set of values, each referencing a dimension and providing a single value for that dimension. The purpose of the key is to define a subset of a data set (i.e. the observed value and data attribute) which have the dimension values provided in this definition. Any dimension not stated explicitly in this key is assumed to be wild carded, thus allowing for the definition of partial data keys. + + + + + + + + + + + + + + DataKeyValueType is a type for providing a dimension value for the purpose of defining a distinct data key. Only a single value can be provided for the dimension. + + + + + + + + + + + + + + CubeRegionType defines the structure of a data cube region. This is based on the abstract RegionType and simply refines the key and attribute values to conform with what is applicable for dimensions and attributes, respectively. See the documentation of the base type for more details on how a region is defined. + + + + + + + + + + + + + + MetadataTargetRegionType defines the structure of a metadata target region. A metadata target region must define the report structure and the metadata target from that structure on which the region is based. This type is based on the abstract RegionType and simply refines the key and attribute values to conform with what is applicable for target objects and metadata attributes, respectively. See the documentation of the base type for more details on how a region is defined. + + + + + + + + + + + + + CubeRegionKeyType is a type for providing a set of values for a dimension for the purpose of defining a data cube region. A set of distinct value can be provided, or if this dimension is represented as time, and time range can be specified. + + + + + + + + + + + + + + + AttributeValueSetType defines the structure for providing values for a data attribute. If no values are provided, the attribute is implied to include/excluded from the region in which it is defined, with no regard to the value of the data attribute. Note that for metadata attributes which occur within other metadata attributes, a nested identifier can be provided. For example, a value of CONTACT.ADDRESS.STREET refers to the metadata attribute with the identifier STREET which exists in the ADDRESS metadata attribute in the CONTACT metadata attribute, which is defined at the root of the report structure. + + + + + + + + + + + + + + + MetadataAttributeValueSetType defines the structure for providing values for a metadata attribute. If no values are provided, the attribute is implied to include/excluded from the region in which it is defined, with no regard to the value of the metadata attribute. + + + + + + + + + + + + + + SimpleValueType contains a simple value for a component, and if that value is from a code list, the ability to indicate that child codes in a simple hierarchy are part of the value set of the component for the region. + + + + + + The cascadeValues attribute, if true, indicates that if the value is taken from a code all child codes in a simple hierarchy are understood be included in the region. + + + + + + + + + SimpleKeyValueType derives from the SimpleValueType, but does not allow for the cascading of value in the hierarchy, as keys are meant to describe a distinct full or partial key. + + + + + + + + + + + TimeRangeValueType allows a time period value to be expressed as a range. It can be expressed as the period before a period, after a period, or between two periods. Each of these properties can specify their inclusion in regards to the range. + + + + + BeforePeriod is the period before which the period is meant to cover. This date may be inclusive or exclusive in the range. + + + + + AfterPeriod is the period after which the period is meant to cover. This date may be inclusive or exclusive in the range. + + + + + + StartPeriod is the start date or the range that the queried date must occur within. This date may be inclusive or exclusive in the range. + + + + + EndPeriod is the end period of the range. This date may be inclusive or exclusive in the range. + + + + + + + + + TimePeriodRangeType defines a time period, and indicates whether it is inclusive in a range. + + + + + + The isInclusive attribute, when true, indicates that the time period specified is included in the range. + + + + + + + + + SimpleOperatorType provides an enumeration of simple operators to be applied to any value. + + + + + (!=) - value must not be equal to the value supplied. + + + + + (=) - value must be exactly equal to the value supplied. + + + + + + + + RangeOperatorType provides an enumeration of range operators to be applied to an ordered value. + + + + + (>=) - value must be greater than or equal to the value supplied. + + + + + (<=) - value must be less than or equal to the value supplied. + + + + + (>) - value must be greater than the value supplied. + + + + + (<) - value must be less than the value supplied. + + + + + + + + TextSearchOperatorType provides an enumeration of text search operators. + + + + + The text being searched must contain the supplied text. + + + + + The text being searched must start with the supplied text. + + + + + The text being searched must end with the supplied text. + + + + + The text being searched cannot contain the supplied text. + + + + + The text being searched cannot start with the supplied text. + + + + + The text being searched cannot end with the supplied text. + + + + + + + + OrderedOperatorType combines the SimpleOperatorType and the RangeOperatorType to provide a full range or operators for any ordered value. + + + + + + + + + + + + + + TimeOperatorType derives from the OrderedOperatorType to remove the notEqual operator. + + + + + + + + + + \ No newline at end of file diff --git a/schemas/SDMXStructureDataStructure.xsd b/schemas/SDMXStructureDataStructure.xsd index 3044445..7c1386c 100644 --- a/schemas/SDMXStructureDataStructure.xsd +++ b/schemas/SDMXStructureDataStructure.xsd @@ -1,14 +1,14 @@ - - + + - - + + SDMX Data Structure Structure Module The Data Structure structure module defines the structure of data structure definition constructs. - + DataStructureType describes the structure of a data structure definition. A data structure definition is defined as a collection of metadata concepts, their structure and usage when used to collect or disseminate data. @@ -17,6 +17,7 @@ + @@ -36,22 +37,22 @@ - + DataStructureComponentsBaseType is an abstract base type the serves as the basis for the DataStructureComponentsType. This type is necessary to allow for valid substitutions of component lists. - - + + - + DataStructureComponentsType describes the structure of the grouping to the sets of metadata concepts that have a defined structural role in the data structure definition. At a minimum at least one dimension and a primary measure must be defined. - - + + @@ -60,23 +61,24 @@ - + - + AttributeList describes the attribute descriptor for the data structure definition. It is a collection of metadata concepts that define the attributes of the data structure definition. - + AttributeListBaseType is an abstract base type used as the basis for the AttributeListType. - - + + + @@ -86,7 +88,7 @@ - + AttributeListType describes the attribute descriptor for the data structure definition. @@ -100,33 +102,34 @@ - + Attribute describes the definition of a data attribute, which is defined as a characteristic of an object or entity. - + AttributeBaseType is an abstract base type that serves as the basis for the AttributeType. It restricts the text format base to a text format valid for data components (that does not allow for XHTML representation). The local representation is restricted to the values defined in codelist. The concept role is restricted to the values valid for a data attribute. - - + + + - + - + AttributeType describes the structure of a data attribute, which is defined as a characteristic of an object or entity. The attribute takes its semantic, and in some cases it representation, from its concept identity. An attribute can be coded by referencing a code list from its coded local representation. It can also specify its text format, which is used as the representation of the attribute if a coded representation is not defined. Neither the coded or uncoded representation are necessary, since the attribute may take these from the referenced concept. An attribute specifies its relationship with other data structure components and is given an assignment status. These two properties dictate where in a data message the attribute will be attached, and whether or not the attribute will be required to be given a value. A set of roles defined in concept scheme can be assigned to the attribute. - + @@ -139,44 +142,39 @@ AttributeRelationship describes how the value of this attribute varies with the values of other components. These relationships will be used to determine the attachment level of the attribute in the various data formats. + + + MeasureRelationship identifies the measures that the attribute applies to. If this is not used, the attribute is assumed to apply to all measures. + + - + The assignmentStatus attribute indicates whether a value must be provided for the attribute when sending documentation along with the data. - + - + AttributeRelationshipType defines the structure for stating the relationship between an attribute and other data structure definition components. - - - This means that value of the attribute will not vary with any of the other key family components. This will always be treated as a data set level attribute. - - - + This is used to reference dimensions in the data structure definition on which the value of this attribute depends. An attribute using this relationship can be either a group, series (or section), or observation level attribute. The attachment level of the attribute will be determined by the data format and which dimensions are referenced. - - - This is used to specify that the attribute should always be attached to the groups referenced here. Note that if one of the referenced dimensions is the time dimension, the groups referenced here will be ignored. - - This is used as a convenience to referencing all of the dimension defined by the referenced group. The attribute will also be attached to this group. - + This is used to specify that the value of the attribute is dependent upon the observed value. An attribute with this relationship will always be treated as an observation level attribute. @@ -184,20 +182,34 @@ + + + MeasureRelationshipType allows for the description of an attributes relationship to one or more measures + + + + + This is a reference to a measure defined in this data structure definition. + + + + + ReportingYearStartDay is a specialized data attribute which provides important context to the time dimension. If the value of the time dimension is one of the standard reporting periods (see common:ReportingTimePeriodType) then this attribute is used to state the month and day that the reporting year begins. This provides a reference point from which the actual calendar dates covered by these periods can be determined. If this attribute does not occur in a data set, then the reporting year start day will be assumed to be January 1. - + - ReportingYearStartDayType defines the structure of the reporting year start day attribute. The reporting year start day attribute takes its semantic from its concept identity (usually the REPORTING_YEAR_START_DAY concept), yet is always has a fixed identifier (REPORTING_YEAR_START_DAY). The reporting year start day attribute always has a fixed text format, which specifies that the format of its value is always a day and month in the ISO 8601 format of '--MM-DD'. As with any other attribute, an attribute relationship must be specified. this relationship should be carefully selected as it will determin what type of data the data structure definition will allow. For example, if an attribute relationship of none is specified, this will mean the data sets conforming to this data structure definition can only contain data with standard reporting periods where the all reporting periods have the same start day. In this case, data reported as standard reporting periods from two entities with different fiscal year start days could not be contained in the same data set. + ReportingYearStartDayType defines the structure of the reporting year start day attribute. The reporting year start day attribute takes its semantic from its concept identity (usually the REPORTING_YEAR_START_DAY concept), yet is always has a fixed identifier (REPORTING_YEAR_START_DAY). The reporting year start day attribute always has a fixed text format, which specifies that the format of its value is always a day and month in the ISO 8601 format of '--MM-DD'. As with any other attribute, an attribute relationship must be specified. this relationship should be carefully selected as it will determine what type of data the data structure definition will allow. For example, if an attribute relationship of none is specified, this will mean the data sets conforming to this data structure definition can only contain data with standard reporting periods where the all reporting periods have the same start day. In this case, data reported as standard reporting periods from two entities with different fiscal year start days could not be contained in the same data set. + @@ -206,20 +218,21 @@ - + ReportingYearStartDayRepresentationType defines the representation for the reporting year start day attribute. Enumerated values are not allowed and the text format is fixed to be a day and month in the ISO 8601 format of '--MM-DD'. - + + - + ReportingYearStartDayTextFormatType is a restricted version of the NonFacetedTextFormatType that fixes the value of the text type to be DayMonth. This type exists solely for the purpose of fixing the representation of the reporting year start day attribute. @@ -230,7 +243,7 @@ - + DimensionList describes the key descriptor for the data structure definition. It is an ordered set of metadata concepts that, combined, classify a statistical series, such as a time series, and whose values, when combined (the key) in an instance such as a data set, uniquely identify a specific series. @@ -240,15 +253,16 @@ - + DimensionListBaseType is an abstract base type used as the basis for the DimensionListType. - - + + + @@ -258,37 +272,37 @@ - + DimensionListType describes the key descriptor for a data structure definition. The order of the declaration of child dimensions is significant: it is used to describe the order in which they will appear in data formats for which key values are supplied in an ordered fashion (exclusive of the time dimension, which is not represented as a member of the ordered key). Any data structure definition which uses the time dimension should also declare a frequency dimension, conventionally the first dimension in the key (the set of ordered non-time dimensions). If is not necessary to assign a time dimension, as data can be organised in any fashion required. - - + + - - + - + BaseDimensionBaseType is an abstract base type that serves as the basis for any dimension. It restricts the text format base to a text format valid for data components (that does not allow for XHTML representation). - - + + + - + - + BaseDimensionType is an abstract base type which defines the basic structure of all dimensions. @@ -315,13 +329,13 @@ - + Dimension describes the structure of a dimension, which is defined as a statistical concept used (most probably together with other statistical concepts) to identify a statistical series, such as a time series, e.g. a statistical concept indicating certain economic activity or a geographical reference area. - + DimensionType describes the structure of an ordinary dimension, which is defined as a statistical concept used (most probably together with other statistical concepts) to identify a statistical series, such as a time series, e.g. a statistical concept indicating certain economic activity or a geographical reference area. The dimension takes its semantic, and in some cases it representation, from its concept identity. A dimension can be coded by referencing a code list from its coded local representation. It can also specify its text format, which is used as the representation of the dimension if a coded representation is not defined. Neither the coded or uncoded representation are necessary, since the dimension may take these from the referenced concept. @@ -330,6 +344,7 @@ + @@ -338,7 +353,7 @@ - + TimeDimension is a special dimension which designates the period in time in which the data identified by the full series key applies. @@ -348,43 +363,21 @@ TimeDimensionType describes the structure of a time dimension. The time dimension takes its semantic from its concept identity (usually the TIME_PERIOD concept), yet is always has a fixed identifier (TIME_PERIOD). The time dimension always has a fixed text format, which specifies that its format is always the in the value set of the observational time period (see common:ObservationalTimePeriodType). It is possible that the format may be a sub-set of the observational time period value set. For example, it is possible to state that the representation might always be a calendar year. See the enumerations of the textType attribute in the LocalRepresentation/TextFormat for more details of the possible sub-sets. It is also possible to facet this representation with start and end dates. The purpose of such facts is to restrict the value of the time dimension to occur within the specified range. If the time dimension is expected to allow for the standard reporting periods (see common:ReportingTimePeriodType) to be used, then it is strongly recommended that the reporting year start day attribute also be included in the data structure definition. When the reporting year start day attribute is used, any standard reporting period values will be assumed to be based on the start day contained in this attribute. If the reporting year start day attribute is not included and standard reporting periods are used, these values will be assumed to be based on a reporting year which begins January 1. - - + + + - - - - - - MeasureDimension is a special type of dimension which defines multiple measures in a key family. This is represented as any other dimension in a unless it is the observation dimension. It takes it representation from a concept scheme, and this scheme defines the measures and their representations. When data is formatted with this as the observation dimension, these measures can be made explicit or the value of the dimension can be treated as any other dimension. If the measures are explicit, the representation of the observation will be specific to the core representation for each concept in the representation concept scheme. Note that it is necessary that these representations are compliant (the same or derived from) with that of the primary measure. - - + + - - - MeasureDimensionType defines the structure of the measure dimension. It is derived from the base dimension structure, but requires that a coded representation taken from a concept scheme is given. - - - - - - - - - - - - - - Group describes a group descriptor in a data structure definition. It is a set metadata concepts (and possibly their values) that define a partial key derived from the key descriptor in a data structure definition. @@ -394,41 +387,36 @@ GroupBaseType is an abstract base type that forms the basis for the GroupType. - - + + - - - + + + GroupType describes the structure of a group descriptor in a data structure definition. A group may consist of a of partial key, or collection of distinct cube regions or key sets to which attributes may be attached. The purpose of a group is to specify attributes values which have the same value based on some common dimensionality. All groups declared in the data structure must be unique - that is, you may not have duplicate partial keys. All groups must be given unique identifiers. - - - + + + - - - AttachmentConstraint references an attachment constraint that defines the key sets and/or cube regions that attributes may be attached to. This is an alternative to referencing the dimensions, and allows attributes to be attached to data for given values of dimensions. - - - + GroupDimension is a component which contains only a reference to a dimension in the key descriptor (DimensionList). Although it is conventional to declare dimensions in the same order as they are declared in the ordered key, there is no requirement to do so - the ordering of the values of the key are taken from the order in which the dimensions are declared. Note that the id of a dimension may be inherited from its underlying concept - therefore this reference value may actually be the id of the concept. - + GroupDimensionBaseType is an abstract base type which refines the base ComponentType in order to form the basis for the GroupDimensionType. @@ -441,7 +429,7 @@ - + GroupDimensionType defines a dimension component with a group key descriptor component list. Although technically a component, this is essentially a reference to a dimension defined in the key descriptor. Therefore, the identification, name, and description, concept identity and representation properties that are typically available for a component are not allowed here, as they are all inherited from the referenced dimension. @@ -458,50 +446,68 @@ - + - MeasureList describes the measure descriptor for a key family. It contains a single metadata concepts that define the primary measures of a data structure. + MeasureList describes the measure descriptor for a key family. - + - MeasureListType describes the structure of the measure descriptor for a data structure definition. Only a primary may be defined. - - + MeasureListType describes the structure of the measure descriptor for a data structure definition. + + - + + + + - + - + - PrimaryMeasure defines the structure of the primary measure, which is the concept that is the value of the phenomenon to be measured in a data set. Although this may take its semantic from any concept, this is provided a fixed identifier (OBS_VALUE) so that it may be easily distinguished in data messages. + Measure defines the structure of a measure, which is the concept that is the value of the phenomenon to be measured in a data set. - - + + - PrimaryMeasureType describes the structure of the primary measure. It describes the observation values for all presentations of the data. The primary measure takes its semantic, and in some cases it representation, from its concept identity (conventionally the OBS_VALUE concept). The primary measure can be coded by referencing a code list from its coded local representation. It can also specify its text format, which is used as the representation of the primary measure if a coded representation is not defined. Neither the coded or uncoded representation are necessary, since the primary measure may take these from the referenced concept. Note that if the data structure declares a measure dimension, the representation of this must be a superset of all possible measure concept representations. - - + MeasureBaseType is an abstract base type that refines ComponentType to rerstrict the represenations to those which are applicable for a measure. + + + - + - - + - + + + + MeasureType defines the structure of a measure descriptor. In addition to the identifying concept and representation, a usage status and max occurs can be defined. + + + + + + Indicates whether the measure is mandatory or conditional. + + + + + + DataStructureRepresentationType is an abstract base type which defines the allowable representations for any data structure definition component. The enumeration must be restricted to the proper type for item scheme for a given component. @@ -511,44 +517,69 @@ - + + - - + + - SimpleDataStructureRepresentationType defines the representation for any non-measure and non-time dimension data structure definition component. + AttributeRepresentationType defines the representation for a data attribute. A data attribute can be text (including XHTML and multi-lingual values), a simple value, or an enumerated value. - + - + - + + - - + + + + MeasureRepresentationType defines the representation for a measure. A measure can be text (including XHTML and multi-lingual values), a simple value, or an enumerated value. + + + + + + + + + + + + + + + + - BaseDimensionRepresentationType is an abstract base which defines the representation for a measure dimension. + SimpleDataStructureRepresentationType defines the representation for any non-measure and non-time dimension data structure definition component. - - - + + + + + + + + - + TimeDimensionRepresentationType defines the representation for the time dimension. Enumerated values are not allowed. @@ -561,5 +592,43 @@ - + + + + UsageStatusType provides a list of enumerated types for indicating whether reporting a given attribute is mandatory or conditional. + + + + + Reporting the associated attribute is mandatory - a value must be supplied. + + + + + Reporting the associated attribute is not mandatory - a value may be supplied, but is not required. + + + + + + + + MeatadataUsageStatusType provides an additional enumeration indicating that an attribute is reported as reference metadata. + + + + + The associated attribute is reported as reference metadata. + + + + + + + + AttributeUsageStatusType joins the base UsageStatusType with MeatadataUsageStatusType to allow for the usage status of a attribute to be reported as mandatory, conditional, or metadata. + + + + \ No newline at end of file diff --git a/schemas/SDMXStructureDataflow.xsd b/schemas/SDMXStructureDataflow.xsd index cbcee6f..104300c 100644 --- a/schemas/SDMXStructureDataflow.xsd +++ b/schemas/SDMXStructureDataflow.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -17,6 +17,7 @@ + diff --git a/schemas/SDMXStructureHierarchicalCodelist.xsd b/schemas/SDMXStructureHierarchicalCodelist.xsd index c362b23..70eae7c 100644 --- a/schemas/SDMXStructureHierarchicalCodelist.xsd +++ b/schemas/SDMXStructureHierarchicalCodelist.xsd @@ -1,82 +1,42 @@ - - - + + + - + SDMX Hierarchical Code List Structure Module The hierarchical code list structure module defines the structure of hierarchical code list constructs. - - - - HierarchicalCodelistBaseType is an abstract base class that is the basis for the HierarchicalCodelistType. It requires that a name be supplied. - - - - - - - - - - - - - - HierarchicalCodelistType describes the structure of a hierarchical codelist. A hierarchical code list is defined as an organised collection of codes that may participate in many parent/child relationships with other codes in the list, as defined by one or more hierarchy of the list. - - - - - - - IndludedCodelist provides a collection of references to the code lists whose codes are arranged in this hierarchical code list. - - - - - Hierarchy describes a classification structure arranged in levels of detail from the broadest to the most detailed level. These levels can be formal or informal, and are not necessary to describe. If the hierarchy does contain levels, then each hierarchical code is assumed to exist in the level where the depths of nesting match. - - - - - - - - - - - - - - - - HierarchyBaseType is an abstract base type that serves as the basis for the HierarchyType. It requires a name and id be provided. + HierarchyBaseType is an abstract base class that is the basis for the HierarchyType. It requires that a name be supplied. - + + - - The Hierarchy is an abstract type that provides for a classification structure of referenced codes arranged in levels of detail from the broadest to the most detailed level. The levels in which the code exist can be formal or informal. + HierarchyType describes the structure of a hierarchical codelist. A hierarchical code list is defined as an organised collection of codes that may participate in many parent/child relationships with other codes in the list. + + + In a formally leveled hierarchy, Level describes a group of codes which are characterised by homogeneous coding, and where the parent of each code in the group is at the same higher level of the hierarchy. In a value based hierarchy Level describes information about the codes at the specified nesting level. This structure is recursive to indicate the hierarchy of the levels. + + HierarchicalCode is used to assemble the codes from the codelist(s) referenced into a hierarchy. @@ -86,29 +46,25 @@ - - - In a formally leveled hierarchy, Level describes a group of codes which are characterised by homogeneous coding, and where the parent of each code in the group is at the same higher level of the hierarchy. In a value based hierarchy Level describes information about the codes at the specified nesting level. This structure is recursive to indicate the hierarchy of the levels. - - - + - The leveled attribute indicates that the hierarchy has formal levels. In this case, every code should have a level associated with it. + If “true”, this indicates a hierarchy where the structure is arranged in levels of detail from the broadest to the most detailed level. If “false”, this indicates a hierarchy structure where the items in the hierarchy have no formal level structure. - + HierarchicalCodeBaseType is an abstract base type the creates the basis for the HierarchicalCodeType. It removes the urn and uri. - + + @@ -126,25 +82,11 @@ - - - - Code provides a complete, explicit reference to a code through either its URN, or a complete reference to the codelist and code. - - - - - - CodelistAliasRef references an alias assigned in a IncludedCodelistReference element in the containing hierarchical codelist. This is used in conjunction with the CodeID element to reference a code from one of the included codelists. - - - - - CodeID references the id of a code from the codelist that is referenced through the CodelistAliaRef element. - - - - + + + Code provides a complete, explicit reference to a code through either its URN, or a complete reference to the codelist and code. + + HierarchicalCode is used to nest referenced codes into a value based hierarchy. @@ -152,7 +94,7 @@ - + @@ -160,11 +102,6 @@ - - - The version attriubte contains a version number for the hierarchical code. A hierarchical code is not formally versionable, therefore each code must have a unique identifier. The version supplied here is for informational purposes only and is not used to uniquely identity the code. - - The validFrom attriubte indicates the point in time in which the hiearchical code became effective. This can be used to track the historicity of codes changing over time. @@ -178,15 +115,16 @@ - + LevelBaseType is an abstract base type that makes up the basis for the LevelType. It requires a name and id. - + + @@ -217,21 +155,6 @@ - - - IncludedCodelistReferenceType provides the structure for a referencing a codelist and optionally providing a local alias identification for this reference. - - - - - - The alias attribute is used to carry the identifier for the referenced codelist, so that codes from that list can be easily referenced by the hierarchical codes contained in the parent hierarchy, without having to repeat the reference to the codelist itself. The alias attribute must be unique within the parent hierarchical codelist. - - - - - - @@ -252,7 +175,34 @@ - + + + + HierarchyAssociationType defines the structure of a hiearchy association, which links a hierarchy with and identifiable object in the context of another object (e.g. a dimension within the context of a dataflow). + + + + + + + The associated hierarchy. + + + + + Associates the Identifiable Artefact that needs the Hierarchy. + + + + + The context within which the association is performed. + + + + + + + SimpleCodeDataType restricts SimpleDataType to specify the allowable data types for a simple code. The possible values are simply Alpha, AlphaNumeric, or Numeric. @@ -263,5 +213,5 @@ - + \ No newline at end of file diff --git a/schemas/SDMXStructureMetadataStructure.xsd b/schemas/SDMXStructureMetadataStructure.xsd index 9d9ff31..738dbf4 100644 --- a/schemas/SDMXStructureMetadataStructure.xsd +++ b/schemas/SDMXStructureMetadataStructure.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -17,6 +17,7 @@ + @@ -29,12 +30,8 @@ - MetadataStructureComponents defines the grouping of the sets of the components that make up the metadata structure definition. All components and component list (target identifiers, identifier components, report structures, and metadata attributes) in the structure definition must have a unique identification. + MetadataStructureComponents defines the grouping of the sets of the components that make up the metadata structure definition. The metadata attributes in the single report structure must have a unique identification. - - - - @@ -44,192 +41,25 @@ MetadataStructureComponentsBaseType is an abstract base type that forms the basis for the MetadataStructureComponentsType. - - + + - + MetadataStructureComponentsType describes the structure of the grouping of the sets of the components that make up the metadata structure definition. At a minimum, a full target identifier and at least one report structure must be defined. - - - - - - - - - - - - - - MetadataTarget is a collection of target objects which when taken together describe a structure which defines the key of an object type to which metadata may be attached and serve to disambiguate reference metadata set reports. - - - - - - - - - - MetadataTargetBaseType is an abstract base type which forms the basis for the MetadataTargetType. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TargetObject is an abstract base type from which all target objects of a metadata target are derived. It is based on a component. Implementations of this will refined the local representation so that the allowed values accurately reflect the representation of the target object reference. - - - - - - - - - KeyDescriptorValuesTarget is target object which references a data key for the purpose of attach reference metadata to portions of data. A data key is a set of dimension references and values for those dimension. This component on its own is not of much use, as the data key only has local references to the dimensions. Therefore it is typical that this is used in combination with some sort of reference to the data (either a data set reference or a reference to the underlying structure, structure usage, or provision agreement of the data. - - - - - - KeyDescriptorValuesTargetType defines the structure of a key descriptor values target object. The key descriptor values target object has a fixed representation and identifier. - - - - - - - - - - - - - - - DataSetTarget is target object which references a data set for the purpose of attaching reference metadata data. A data set reference is a full reference to a data provider and an identifier for the data set. - - - - - - DataSetTargetType defines the structure of a data set target object. The data set target object has a fixed representation and identifier. - - - - - - - - - - - - - - - ConstraintContentTarget is target object which references an attachment constraint for the purpose of attaching reference metadata data to data key sets or cube regions defined by the constraint. - - - - - - ConstraintTargetType defines the structure of a constraint target object. The constraint target object has a fixed representation and identifier. - - - - - - - - - - - - - ReportPeriodTarget is target object which specifies a reporting period to which a metadata report applies. - - - - - - ReportPeriodTargetType defines the structure of a report period target object. The report period target object has a fixed representation and identifier. - - - - - - - - - - - - - - - IdentifiableObjectTarget is target object which references an Identifiable object as defined in the SDMX Information Model. The reference must be complete (i.e. a URN or a complete set of reference fields). For an item object, it is possible to define a local representation of an item scheme from which the item must be referenced. - - - - - - IdentifiableObjectTargetBaseType is an abstract base type which forms the basis for the IdentifiableObjectTargetType. - - - + - - + - - - - - - - - IdentifiableObjectTargetType defines the structure of an identifiable target object. The identifiable target object has a fixed representation of a reference and can specify a local representation of any item scheme for the purpose of restricting which items may be referenced. The identifiable object target must specify the object type which the target object is meant to reference. - - - - - + ReportStructure defines a report structure, which comprises a set of metadata attributes that can be defined as a hierarchy, for reporting reference metadata about a target object. The identification of metadata attributes must be unique at any given level of the report structure. Although there are XML schema constraints to help enforce this, these only apply to explicitly assigned identifiers. Identifiers inherited from a concept from which a metadata attribute takes its identity cannot be validated against this constraint. Therefore, systems processing metadata structure definitions will have to perform this check outside of the XML validation. @@ -240,14 +70,15 @@ - + - ReportStructureBaseType is an abstract base type that serves as the basis for the ReportStructureType. + ReportStructureType describes the structure of a report structure. It comprises a set of metadata attributes that can be defined as a hierarchy. + @@ -256,23 +87,6 @@ - - - - ReportStructureType describes the structure of a report structure. It comprises a set of metadata attributes that can be defined as a hierarchy, and identifies the potential attachment of these attributes to an object by referencing a target identifier. - - - - - - - MetadataTarget references a metadata target defined in the metadata structure definition. A report structure can reference multiple metadata targets which allows a report structure to be reused for attaching metadata to different types of targets. - - - - - - @@ -292,6 +106,7 @@ + @@ -324,81 +139,9 @@ - - - - - - KeyDescriptorValuesRepresentationType defines the possible local representations of a key descriptor values target object. The representation is fixed to always be a data key (KeyValues). - - - - - - - - - - - - - DataSetRepresentationType defines the possible local representations of a data set reference target object. The representation is fixed to always be a data set reference. - - - - - - - - - - - - - ConstraintRepresentationType defines the possible local representations of a constraint reference target object. The representation is fixed to always be an attachment constraint reference. - - - - - - - - - - - - - ReportPeriodRepresentationType defines the possible local representations of a report period target object. The reprentation must be a time period or a subset of this representation. - - - - - - - - - - - - - IdentifiableObjectRepresentationType defines the possible local representations of an identifiable object target object. - - - - - - - - - Enumeration is only permissible if the object type of the identifiable object target is an item in an item scheme. This enumeration is meant to limit the referencable objects to the items defined in the referenced item scheme. - - - - - - + MetadataAttributeRepresentationType defines the possible local representations of a metadata attribute. @@ -412,89 +155,10 @@ + + - - - TargetObjectTextFormatType is a restricted version of the TextFormatType that does not allow for any facets and only allows the text types for target objects. - - - - - - - - - - - - - - - - - - - - - - - - - TargetObjectDataType restricts DataType to specify the allowable data types for representing a target object value. - - - - - - - - - - - - KeyDescriptorValuesTextFormatType is a restricted version of the NonFacetedTextFormatType that specifies a fixed KeyValues representation. - - - - - - - - - - - DataSetTextFormatType is a restricted version of the NonFacetedTextFormatType that specifies a fixed DataSetReference representation. - - - - - - - - - - - ConstraintTextFormatType is a restricted version of the NonFacetedTextFormatType that specifies a fixed AttachmentConstraintReference representation. - - - - - - - - - - - IdentifiableObjectTextFormatType is a restricted version of the NonFacetedTextFormatType that specifies a fixed IdentifiableReference representation. - - - - - - - - \ No newline at end of file diff --git a/schemas/SDMXStructureMetadataflow.xsd b/schemas/SDMXStructureMetadataflow.xsd index 1b93295..3625b8a 100644 --- a/schemas/SDMXStructureMetadataflow.xsd +++ b/schemas/SDMXStructureMetadataflow.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -9,14 +9,15 @@ The metadata flow structure module defines the structure of metadata flow constructs. - + - MetadataflowType describes the structure of a metadata flow. A dataflow is defined as the structure of reference metadata that will be provided for different reference periods. If this type is not referenced externally, then a reference to a metadata structure definition must be provided + MetadataflowBaseType is an abstract base type that serves as the basis for the MetadataflowType. It restricts the structure to reference a metadata structure definition. + @@ -26,7 +27,24 @@ - + + + + + + MetadataflowType describes the structure of a metadata flow. A dataflow is defined as the structure of reference metadata that will be provided for different reference periods. If this type is not referenced externally, then a reference to a metadata structure definition must be provided + + + + + + + References identifiable structures to which the refernece metadata described by the referenced metadata structure should be restricted to. These references may include wildcards for parts of the reference. + + + + + \ No newline at end of file diff --git a/schemas/SDMXStructureOrganisation.xsd b/schemas/SDMXStructureOrganisation.xsd index 2ccdfea..02e6689 100644 --- a/schemas/SDMXStructureOrganisation.xsd +++ b/schemas/SDMXStructureOrganisation.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -17,6 +17,7 @@ + @@ -32,7 +33,7 @@ - + @@ -51,6 +52,7 @@ + @@ -90,6 +92,7 @@ + @@ -98,7 +101,6 @@ - @@ -111,6 +113,7 @@ + @@ -119,7 +122,6 @@ - @@ -132,6 +134,7 @@ + @@ -140,7 +143,6 @@ - @@ -153,6 +155,7 @@ + @@ -195,6 +198,7 @@ + @@ -216,6 +220,7 @@ + @@ -232,6 +237,7 @@ + @@ -248,6 +254,7 @@ + diff --git a/schemas/SDMXStructureProcess.xsd b/schemas/SDMXStructureProcess.xsd index 7461475..5154193 100644 --- a/schemas/SDMXStructureProcess.xsd +++ b/schemas/SDMXStructureProcess.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -14,7 +14,7 @@ ProcessType describes the structure of a process, which is a scheme which defines or documents the operations performed on data in order to validate data or to derive new information according to a given set of rules. Processes occur in order, and will continue in order unless a transition dictates another step should occur. - + @@ -35,9 +35,10 @@ ProcessStepBaseType is an abstract base type used as the basis for the ProcessStepType. - + + @@ -92,7 +93,7 @@ TransitionType describes the details of a transition, which is an expression in a textual or formalised way of the transformation of data between two specific operations performed on the data. - + diff --git a/schemas/SDMXStructureProvisionAgreement.xsd b/schemas/SDMXStructureProvisionAgreement.xsd index 41f28ff..35142a6 100644 --- a/schemas/SDMXStructureProvisionAgreement.xsd +++ b/schemas/SDMXStructureProvisionAgreement.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -11,24 +11,51 @@ - ProvisionAgreementType describes the structure of a provision agreement. A provision agreement defines an agreement for a data provider to report data or reference metadata against a flow. Attributes which describe how the registry must behave when data or metadata is registered against this provision agreement are supplied. + ProvisionAgreementType describes the structure of a provision agreement. A provision agreement defines an agreement for a data provider to report data against a dataflow. Attributes which describe how the registry must behave when data or metadata is registered against this provision agreement are supplied. - + - + - DataflowReference provides a reference to a pre-existing structure usage (i.e. a dataflow or metadataflow) in the registry. The reference is provided via a URN and/or a full set of reference fields. + Dataflow provides a reference to a pre-existing dataflow in the registry. The reference is provided via a URN and/or a full set of reference fields. - DataProvider provides a reference to a pre-existing data (or metadata) provider in the registry. The reference is provided via a URN and/or a full set of reference fields. + DataProvider provides a reference to a pre-existing data provider in the registry. The reference is provided via a URN and/or a full set of reference fields. - + + + + ProvisionAgreementType describes the structure of a provision agreement. A provision agreement defines an agreement for a data provider to report data or reference metadata against a flow. Attributes which describe how the registry must behave when data or metadata is registered against this provision agreement are supplied. + + + + + + + Metadataflow provides a reference to a pre-existing metadataflow in the registry. The reference is provided via a URN and/or a full set of reference fields. + + + + + MetadataProvider provides a reference to a pre-existing metadata provider in the registry. The reference is provided via a URN and/or a full set of reference fields. + + + + + References identifiable structures to which the refernece metadata described by the metadata structure used by the metadaflow should be restricted to. These references may include wildcards for parts of the reference. + + + + + + + \ No newline at end of file diff --git a/schemas/SDMXStructureReportingTaxonomy.xsd b/schemas/SDMXStructureReportingTaxonomy.xsd index 68535f8..4d78189 100644 --- a/schemas/SDMXStructureReportingTaxonomy.xsd +++ b/schemas/SDMXStructureReportingTaxonomy.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -17,6 +17,7 @@ + @@ -26,7 +27,7 @@ - + ReportingCateogry defines a reporting category, which is used to group structure usages into useful sub-packages. @@ -34,9 +35,9 @@ - + - + ReportingCategoryBaseType is an abstract base type that serves as the basis for the ReportingCategoryType. @@ -45,18 +46,19 @@ + - + - + ReportingCategoryType describes the structure of a reporting category, which groups structure usages into useful sub-packages. Sub ordinate reporting categories can be nested within the category definition. @@ -79,5 +81,4 @@ - \ No newline at end of file diff --git a/schemas/SDMXStructureStructureMappings.xsd b/schemas/SDMXStructureStructureMappings.xsd new file mode 100644 index 0000000..a8a121e --- /dev/null +++ b/schemas/SDMXStructureStructureMappings.xsd @@ -0,0 +1,294 @@ + + + + + + + + SDMX Structure Mapping Structure Module + The structure Mapping structure module defines the structure of structure mapping constructs. + + + + + ItemSchemeMapBaseType is an abstract base type which forms the basis for the ItemSchemeMapType. + + + + + + + + + + + + + + + + + ItemSchemeMapType is an abstract base type which forms the basis for mapping items between item schemes of the same type. + + + + + + + Source provides a reference to the item scheme which items are mapped from. + + + + + Target provides a reference to the item scheme which items are mapped to. + + + + + + + + + + + OrganisationSchemeMapType defines the structure of a map which identifies relationships between organisations in different organisation schemes. + + + + + + + + + + + + + + + + + + + CategorySchemeMapType defines the structure of a map which identifies relationships between categories in different category schemes. + + + + + + + + + + + + + + + + + + + ConceptSchemeMapType defines the structure of a map which identifies relationships between concepts in different concept schemes. + + + + + + + + + + + + + + + + + + + ReportingTaxonomyMapType defines the structure of a map which identifies relationships between reporting categories in different reporting taxonomies. + + + + + + + + + + + + + + + + + + + StructureMapType defines the structure for mapping components of one structure to components of another structure. A structure may be referenced directly meaning the map applies wherever the structure is used, or it may be a reference via a structure usage meaning the map only applies within the context of that usage. Using the related structures, one can make extrapolations between maps. For example, if key families, A, B, and C, are all grouped in a related structures container, then a map from key family A to C and a map from key family B to C could be used to infer a relation between key family A to C. + + + + + + + Source provides a reference to a structure (data or metadata) or a structure usage (dataflow or metadataflow) from which components defined by the actual structure are to mapped. + + + + + Target provides a reference to a structure (data or metadata) or a structure usage (dataflow or metadataflow) to which components from the source are to mapped. + + + + + Provides the ability to map source to target date formats. The source date is described as the number of epochs since a point in time, where the duration of each epoch is defined, e.g. number of milliseconds since 1970. + + + + + Provides the ability to map source to target date formats. The source date is described as a pattern (for example MM-YYYY). + + + + + + + + + + ComponentMap defines the relationship between the components of the source and target structures, including information on how the value from the source component relates to values in the target component. + + + + + + + + + + ComponentMapType defines the structure for relating a component in a source structure to a component in a target structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + There should be a source value for each source represention (e.g. codelist, data type). Source values can be pattern matched by using regular expression or substrings using start/end indexes. + + + + + The target value(s) is always an absolute string. However, if source value is a regular expression, the target value can output the capture group from the source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/SDMXStructureTransformation.xsd b/schemas/SDMXStructureTransformation.xsd index 5a2c237..47c41e0 100644 --- a/schemas/SDMXStructureTransformation.xsd +++ b/schemas/SDMXStructureTransformation.xsd @@ -1,7 +1,7 @@ - - - + + + @@ -32,6 +32,7 @@ + @@ -120,6 +121,7 @@ + @@ -316,6 +318,7 @@ + @@ -367,6 +370,7 @@ + @@ -435,6 +439,7 @@ + @@ -498,6 +503,7 @@ +