Skip to content

Commit

Permalink
SDMX-ML v2.1 July 2020 schemas
Browse files Browse the repository at this point in the history
The latest v2.1 schemas provide a starting point for the v3.0 schemas making it possible to see what changes have been made
  • Loading branch information
sdmx3mdt committed Mar 1, 2021
1 parent 22890fa commit 2ed4dc9
Show file tree
Hide file tree
Showing 58 changed files with 19,308 additions and 0 deletions.
1,733 changes: 1,733 additions & 0 deletions schemas/SDMXCommon.xsd

Large diffs are not rendered by default.

4,951 changes: 4,951 additions & 0 deletions schemas/SDMXCommonReferences.xsd

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions schemas/SDMXDataGeneric.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright SDMX 2010 - http://www.sdmx.org -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" elementFormDefault="qualified">
<xs:include schemaLocation="SDMXDataGenericBase.xsd"/>
<xs:include schemaLocation="SDMXDataGenericTimeSeries.xsd"/>

<xs:annotation>
<xs:appinfo>SDMX Generic Data Namespace Module</xs:appinfo>
<xs:documentation>The generic data namespace module defines the generic (non-data structure definition specific) format for data.</xs:documentation>
</xs:annotation>

</xs:schema>
216 changes: 216 additions & 0 deletions schemas/SDMXDataGenericBase.xsd

Large diffs are not rendered by default.

87 changes: 87 additions & 0 deletions schemas/SDMXDataGenericTimeSeries.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright SDMX 2010 - http://www.sdmx.org -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" elementFormDefault="qualified">
<xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" schemaLocation="SDMXCommon.xsd"/>
<xs:include schemaLocation="SDMXDataGenericBase.xsd"/>

<xs:annotation>
<xs:appinfo>SDMX Time Series Generic Data Module</xs:appinfo>
<xs:documentation>The time series generic data module contains the descriptions of a derivation of the base generic data set format which only allows for data organised as time series. A data set structured according to the data set defined here is a valid base generic data set, and can be processed using the same rules as those for the base format. The difference in this structure is that the data is assured to be organised as time series. This allows for variations of the generic data message which restrict the data to only be formatted as time series.</xs:documentation>
</xs:annotation>

<xs:complexType name="TimeSeriesDataSetType">
<xs:annotation>
<xs:documentation>TimeSeriesDataSetType is a derivation of the base DataSetType of the generic format the restricts the data set to only allow for grouped observations where the dimension at the observation level is the time dimension of the data structure definition. This means that unlike the base data set structure, there can be no un-grouped observations. Because this derivation is achieved using restriction, data sets conforming to this type will inherently conform to the base data set structure as well. In fact, data structured here will be identical to data in the base data set when the time dimension is the observation dimension. This means that the data contained in this structure can be processed in exactly the same manner as the base structure.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="DataSetType">
<xs:sequence>
<xs:element ref="common:Annotations" minOccurs="0"/>
<xs:element name="DataProvider" type="common:DataProviderReferenceType" minOccurs="0"/>
<xs:element name="Attributes" type="ValuesType" minOccurs="0"/>
<xs:element name="Group" type="GroupType" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0">
<xs:element name="Series" type="TimeSeriesType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>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 time dimension. 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 time dimension.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="TimeSeriesType">
<xs:annotation>
<xs:documentation>TimeSeriesType defines a structure which is used to group a collection of observations which have a key in common, organised by time. The key for a series is every dimension defined in the data structure definition, save the time dimension. 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 time dimension). It is possible for the series to contain only observations or only attribute values, or both.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="SeriesType">
<xs:sequence>
<xs:element ref="common:Annotations" minOccurs="0"/>
<xs:element name="SeriesKey" type="ValuesType"/>
<xs:element name="Attributes" type="ValuesType" minOccurs="0"/>
<xs:element name="Obs" type="TimeSeriesObsType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Obs contains an observation which shares the dimensionality of the series key. These observations are disambiguated from one another within this series by a time value.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="TimeSeriesObsType">
<xs:annotation>
<xs:documentation>TimeSeriesObsType defines the structure of a time series observation. The observation must be provided a value for the time dimension. This time value should disambiguate the observation within the series in which it is defined (i.e. there should not be another observation with the same time value). The observation can contain an observed value and/or attribute values.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="ObsType">
<xs:sequence>
<xs:element ref="common:Annotations" minOccurs="0"/>
<xs:element name="ObsDimension" type="TimeValueType"/>
<xs:element name="ObsValue" type="ObsValueType" minOccurs="0"/>
<xs:element name="Attributes" type="ValuesType" minOccurs="0">
<xs:annotation>
<xs:documentation>Attributes contains the set of values reported for the attributes which have an association with the primary measure or the time dimension (so long as an attachment group is not also specified).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="TimeValueType">
<xs:annotation>
<xs:documentation>TimeValueType is a derivation of the BaseValueType which is used to provide a value for the time dimension. Since the identifier for the time dimension is fixed, the component reference for this structure is fixed. Note that this means that it is not necessary to provide a value in an instance as the fixed value will be provided in the post validation information set.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:restriction base="BaseValueType">
<xs:attribute name="id" type="common:NCNameIDType" use="optional" fixed="TIME_PERIOD"/>
<xs:attribute name="value" type="common:ObservationalTimePeriodType" use="required"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>

</xs:schema>
12 changes: 12 additions & 0 deletions schemas/SDMXDataStructureSpecific.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright SDMX 2010 - http://www.sdmx.org -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific">
<xs:include schemaLocation="SDMXDataStructureSpecificBase.xsd"/>
<xs:include schemaLocation="SDMXDataStructureSpecificTimeSeries.xsd"/>

<xs:annotation>
<xs:appinfo>SDMX Core Structure Specific Data Namespace Module</xs:appinfo>
<xs:documentation>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.</xs:documentation>
</xs:annotation>

</xs:schema>
Loading

0 comments on commit 2ed4dc9

Please sign in to comment.