Changes for page 4 General Notes for Implementers
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,4 +1,6 @@ 1 -= {{id name="_Toc291503"/}}4 General Notes for Implementers = 1 +{{box title="**Contents**"}} 2 +{{toc/}} 3 +{{/box}} 2 2 3 3 This section discusses a number of topics other than the exchange of data sets in SDMX formats. Supported only in SDMX-ML (and some in SDMX-JSON), these topics include the use of the reference metadata mechanism in SDMX, the use of Structure Sets and Reporting Taxonomies, the use of Processes, a discussion of time and datatyping, and the conventional mechanisms within the SDMX-ML Structure message regarding versioning and referencing. 4 4 ... ... @@ -8,99 +8,67 @@ 8 8 9 9 There are several different representations in SDMX-ML, taken from XML Schemas and common programming languages. The table below describes the various representations, which are found in SDMX-ML, and their equivalents. 10 10 11 -|SDMX-ML Data Type|XML Schema Data Type|.NET Framework Type|Java Data Type 12 -|**String**|**xsd:string**|**System.String**|**java.lang.String** 13 -|**Big Integer**|**xsd:integer**|**System.Decimal**|**java.math.BigInteger** 14 -|**Integer**|**xsd:int**|**System.Int32**|**int** 15 -|**Long**|**xsd.long**|**System.Int64**|**long** 16 -|**Short**|**xsd:short**|**System.Int16**|**short** 17 -|**Decimal**|**xsd:decimal**|**System.Decimal**|**java.math.BigDecimal** 18 -|**Float**|**xsd:float**|**System.Single**|**float** 19 -|**Double**|**xsd:double**|**System.Double**|**double** 20 -|**Boolean**|**xsd:boolean**|**System.Boolean**|**boolean** 21 -|**URI**|**xsd:anyURI**|**System.Uri**|**Java.net.URI or java.lang.String** 22 -|**DateTime**|**xsd:dateTime**|**System.DateTime**|**javax.xml.datatype.XMLG regorianCalendar** 23 -|**Time**|**xsd:time**|**System.DateTime**|**javax.xml.datatype.XMLG regorianCalendar** 24 -|**GregorianYear**|**xsd:gYear**|**System.DateTime**|**javax.xml.datatype.XMLG regorianCalendar** 25 -|**GregorianMonth**|**xsd:gYearMonth**|**System.DateTime**|**javax.xml.datatype.XMLG regorianCalendar** 26 -|**GregorianDay**|**xsd:date**|**System.DateTime**|**javax.xml.datatype.XMLG regorianCalendar** 27 -|**Day, MonthDay, Month**|**xsd:g***|**System.DateTime**|**javax.xml.datatype.XMLG regorianCalendar** 28 -|**Duration**|**xsd:duration**|**System.TimeSpan**|**javax.xml.datatype.Dura tion** 13 +(% style="width:1185.29px" %) 14 +|(% style="width:250px" %)**SDMX-ML Data Type**|(% style="width:285px" %)**XML Schema Data Type**|(% style="width:271px" %)**.NET Framework Type**|(% style="width:354px" %)**Java Data Type** 15 +|(% style="width:250px" %)String|(% style="width:285px" %)xsd:string|(% style="width:271px" %)System.String|(% style="width:354px" %)java.lang.String 16 +|(% style="width:250px" %)Big Integer|(% style="width:285px" %)xsd:integer|(% style="width:271px" %)System.Decimal|(% style="width:354px" %)java.math.BigInteger 17 +|(% style="width:250px" %)Integer|(% style="width:285px" %)xsd:int|(% style="width:271px" %)System.Int32|(% style="width:354px" %)int 18 +|(% style="width:250px" %)Long|(% style="width:285px" %)xsd.long|(% style="width:271px" %)System.Int64|(% style="width:354px" %)long 19 +|(% style="width:250px" %)Short|(% style="width:285px" %)xsd:short|(% style="width:271px" %)System.Int16|(% style="width:354px" %)short 20 +|(% style="width:250px" %)Decimal|(% style="width:285px" %)xsd:decimal|(% style="width:271px" %)System.Decimal|(% style="width:354px" %)java.math.BigDecimal 21 +|(% style="width:250px" %)Float|(% style="width:285px" %)xsd:float|(% style="width:271px" %)System.Single|(% style="width:354px" %)float 22 +|(% style="width:250px" %)Double|(% style="width:285px" %)xsd:double|(% style="width:271px" %)System.Double|(% style="width:354px" %)double 23 +|(% style="width:250px" %)Boolean|(% style="width:285px" %)xsd:boolean|(% style="width:271px" %)System.Boolean|(% style="width:354px" %)boolean 24 +|(% style="width:250px" %)URI|(% style="width:285px" %)xsd:anyURI|(% style="width:271px" %)System.Uri|(% style="width:354px" %)Java.net.URI or java.lang.String 25 +|(% style="width:250px" %)DateTime|(% style="width:285px" %)xsd:dateTime|(% style="width:271px" %)System.DateTime|(% style="width:354px" %)javax.xml.datatype.XMLG regorianCalendar 26 +|(% style="width:250px" %)Time|(% style="width:285px" %)xsd:time|(% style="width:271px" %)System.DateTime|(% style="width:354px" %)javax.xml.datatype.XMLG regorianCalendar 27 +|(% style="width:250px" %)GregorianYear|(% style="width:285px" %)xsd:gYear|(% style="width:271px" %)System.DateTime|(% style="width:354px" %)javax.xml.datatype.XMLG regorianCalendar 28 +|(% style="width:250px" %)GregorianMonth|(% style="width:285px" %)xsd:gYearMonth|(% style="width:271px" %)System.DateTime|(% style="width:354px" %)javax.xml.datatype.XMLG regorianCalendar 29 +|(% style="width:250px" %)GregorianDay|(% style="width:285px" %)xsd:date|(% style="width:271px" %)System.DateTime|(% style="width:354px" %)javax.xml.datatype.XMLG regorianCalendar 30 +|(% style="width:250px" %)Day, MonthDay, Month|(% style="width:285px" %)xsd:g*|(% style="width:271px" %)System.DateTime|(% style="width:354px" %)javax.xml.datatype.XMLG regorianCalendar 31 +|(% style="width:250px" %)Duration|(% style="width:285px" %)xsd:duration|(% style="width:271px" %)System.TimeSpan|(% style="width:354px" %)javax.xml.datatype.Dura tion 29 29 30 30 There are also a number of SDMX-ML data types which do not have these direct correspondences, often because they are composite representations or restrictions of a broader data type. For most of these, there are simple types which can be referenced from the SDMX schemas, for others a derived simple type will be necessary: 31 31 32 -• **AlphaNumeric** (**common:AlphaNumericType**, string which only allows A-z and 0-9) 35 +* AlphaNumeric (common:AlphaNumericType, string which only allows A-z and 0-9) 36 +* Alpha (common:AlphaType, string which only allows A-z) 37 +* Numeric (common:NumericType, string which only allows 0-9, but is not numeric so that is can having leading zeros) 38 +* Count (xs:integer, a sequence with an interval of "1") 39 +* InclusiveValueRange (xs:decimal with the minValue and maxValue facets supplying the bounds) 40 +* ExclusiveValueRange (xs:decimal with the minValue and maxValue facets supplying the bounds) 41 +* Incremental (xs:decimal with a specified interval; the interval is typically enforced outside of the XML validation) 42 +* TimeRange (common:TimeRangeType, startDateTime + Duration) 43 +* ObservationalTimePeriod (common:ObservationalTimePeriodType, a union of StandardTimePeriod and TimeRange). 44 +* StandardTimePeriod (common:StandardTimePeriodType, a union of BasicTimePeriod and ReportingTimePeriod). 45 +* BasicTimePeriod (common:BasicTimePeriodType, a union of GregorianTimePeriod and DateTime) 46 +* GregorianTimePeriod (common:GregorianTimePeriodType, a union of GregorianYear, GregorianMonth, and GregorianDay) 47 +* ReportingTimePeriod (common:ReportingTimePeriodType, a union of ReportingYear, ReportingSemester, ReportingTrimester, ReportingQuarter, ReportingMonth, ReportingWeek, and ReportingDay). 48 +* ReportingYear (common:ReportingYearType) 49 +* ReportingSemester (common:ReportingSemesterType) 50 +* ReportingTrimester (common:ReportingTrimesterType) 51 +* ReportingQuarter (common:ReportingQuarterType) 52 +* ReportingMonth (common:ReportingMonthType) 53 +* ReportingWeek (common:ReportingWeekType) 54 +* ReportingDay (common:ReportingDayType) 55 +* XHTML (common:StructuredText, allows for multi-lingual text content that has XHTML markup) 56 +* KeyValues (common:DataKeyType) 57 +* ,,I,,dentifiableReference (types for each IdentifiableObject) 58 +* GeospatialInformation (a geo feature set, according to the pattern in section 7.2) 59 +* Data types also have a set of facets: 60 +* isSequence = true | false (indicates a sequentially increasing value) 61 +* minLength = positive integer (# of characters/digits) 62 +* maxLength = positive integer (# of characters/digits) 63 +* startValue = decimal (for numeric sequence) 64 +* endValue = decimal (for numeric sequence) 65 +* interval = decimal (for numeric sequence) 66 +* timeInterval = duration 67 +* startTime = BasicTimePeriod (for time range) endTime = BasicTimePeriod (for time range) 68 +* minValue = decimal (for numeric range) 69 +* maxValue = decimal (for numeric range) 70 +* decimal = Integer (# of digits to right of decimal point) 71 +* pattern = (a regular expression, as per W3C XML Schema) 72 +* isMultiLingual = boolean (for specifying text can occur in more than one language) 33 33 34 -• **Alpha** (**common:AlphaType**, string which only allows A-z) 35 - 36 -• ,,**Numeric**,, (,,**common:NumericType**,,, string which only allows 0-9, but is not numeric so that is can having leading zeros) 37 - 38 -• ,,**Count**,, (,,**xs:integer**,,, a sequence with an interval of "1") 39 - 40 -• **InclusiveValueRange** (**xs:decimal** with the **minValue** and **maxValue** facets supplying the bounds) 41 - 42 -• **ExclusiveValueRange** (**xs:decimal** with the **minValue** and **maxValue** facets supplying the bounds) 43 - 44 -• **Incremental** (**xs:decimal** with a specified **interval**; the interval is typically enforced outside of the XML validation) 45 - 46 -• **TimeRange** (**common:TimeRangeType**, **startDateTime** + **Duration**) 47 - 48 -• **ObservationalTimePeriod** (**common:ObservationalTimePeriodType**, a union of **StandardTimePeriod** and **TimeRange**). 49 - 50 -• **StandardTimePeriod** (**common:StandardTimePeriodType**, a union of **BasicTimePeriod** and **ReportingTimePeriod**). 51 - 52 -• **BasicTimePeriod** (**common:BasicTimePeriodType**, a union of **GregorianTimePeriod** and **DateTime**) 53 - 54 -• **GregorianTimePeriod** (**common:GregorianTimePeriodType**, a union of **GregorianYear**, **GregorianMonth**, and **GregorianDay**) 55 - 56 -• **ReportingTimePeriod** (**common:ReportingTimePeriodType**, a union of **ReportingYear**, **ReportingSemester**, **ReportingTrimester**, **ReportingQuarter**, **ReportingMonth**, **ReportingWeek**, and **ReportingDay**). 57 - 58 -• **ReportingYear** (**common:ReportingYearType**) 59 - 60 -• **ReportingSemester** (**common:ReportingSemesterType**) 61 - 62 -• **ReportingTrimester** (**common:ReportingTrimesterType**) 63 - 64 -• **ReportingQuarter** (**common:ReportingQuarterType**) 65 - 66 -• **ReportingMonth** (**common:ReportingMonthType**) 67 - 68 -• **ReportingWeek** (**common:ReportingWeekType**) 69 - 70 -• **ReportingDay** (**common:ReportingDayType**) 71 - 72 -• ,,**XHTML**,, (,,**common:StructuredText**,,, allows for multi-lingual text content that has ,,**XHTML**,, markup) 73 - 74 -• **KeyValues** (**common:DataKeyType**) 75 - 76 -• ,,**IdentifiableReference**,, (types for each IdentifiableObject) 77 - 78 -• ,,**GeospatialInformation**,, (a geo feature set, according to the pattern in section 7.2) 79 - 80 -Data types also have a set of facets: 81 - 82 -• ,,**isSequence = true | false**,, (indicates a sequentially increasing value) 83 - 84 -• ,,**minLength = positive integer**,, (# of characters/digits) 85 - 86 -• ,,**maxLength = positive integer**,, (# of characters/digits) 87 - 88 -• ,,**startValue = decimal**,, (for numeric sequence) 89 - 90 -• ,,**endValue = decimal**,, (for numeric sequence) 91 - 92 -• ,,**interval = decimal**,, (for numeric sequence) 93 - 94 -• **timeInterval = duration** 95 - 96 -• **startTime = BasicTimePer,,iod,,** (for time range) ,,**endTime = BasicTimePeriod**,, (for time range) 97 - 98 -* ,,**minValue = decimal**,, (for numeric range) 99 -* ,,**maxValue = decimal**,, (for numeric range) 100 -* ,,**decimal = Integer**,, (# of digits to right of decimal point) 101 -* ,,**pattern =**,, (a regular expression, as per W3C XML Schema) 102 -* ,,**isMultiLingual = boolean**,, (for specifying text can occur in more than one language) 103 - 104 104 Note that code lists may also have textual representations assigned to them, in addition to their enumeration of codes. 105 105 106 106 === {{id name="_Toc291505"/}}4.1.1 Data Types === ... ... @@ -137,7 +137,7 @@ 137 137 138 138 Further to the above, the mapping between the non-native data types is presented in the table below: 139 139 140 -|**SDMX Facet**|**XML Schema**|**JSON schema **"**pattern**"^^[[^^1^^>>path:#sdfootnote1sym||name="sdfootnote1anc"]]^^ **for "string" type** 110 +|**SDMX Facet**|**XML Schema**|**JSON schema **"**pattern**"^^[[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^1^^>>path:#sdfootnote1sym||name="sdfootnote1anc"]](%%)^^ **for "string" type** 141 141 |GregorianYear|xsd:gYear|((( 142 142 "^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0- 143 143 ... ... @@ -238,7 +238,7 @@ 238 238 239 239 This is used to unambiguously state that a date-time represents an observation at a single point in time. Therefore, if one wants to use SDMX for data which is measured at a distinct point in time rather than being reported over a period, the date-time representation can be used. 240 240 241 -Representation: xs:dateTime (YYYY-MM-DDThh:mm:ss)^^[[^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]]^^ 211 +Representation: xs:dateTime (YYYY-MM-DDThh:mm:ss)^^[[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]](%%)^^ 242 242 243 243 === {{id name="_Toc291512"/}}4.2.6 Standard Reporting Period === 244 244 ... ... @@ -312,7 +312,7 @@ 312 312 313 313 Representation: common:ReportingWeekType (YYYY-Www, e.g. 2000-W53) 314 314 315 -Notes: There are either 52 or 53 weeks in a reporting year. This is based on the ISO 8601 definition of a week (Monday - Saturday), where the first week of a reporting year is defined as the week with the first Thursday on or after the reporting year start day.^^[[^^3^^>>path:#sdfootnote3sym||name="sdfootnote3anc"]]^^ The reporting week is always represented as two digits, therefore 1-9 are 0 padded (e.g. 01). This allows the values to be sorted chronologically using textual sorting methods. 285 +Notes: There are either 52 or 53 weeks in a reporting year. This is based on the ISO 8601 definition of a week (Monday - Saturday), where the first week of a reporting year is defined as the week with the first Thursday on or after the reporting year start day.^^[[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^3^^>>path:#sdfootnote3sym||name="sdfootnote3anc"]](%%)^^ The reporting week is always represented as two digits, therefore 1-9 are 0 padded (e.g. 01). This allows the values to be sorted chronologically using textual sorting methods. 316 316 317 317 **Reporting Day**: 318 318 ... ... @@ -350,7 +350,7 @@ 350 350 11. **If the [PERIOD_INDICATOR] is W:** 351 351 111. **If [REPORTING_YEAR_START_DATE] is a Friday, Saturday, or Sunday:** 352 352 353 -Add^^[[^^4^^>>path:#sdfootnote4sym||name="sdfootnote4anc"]]^^ (P3D, P2D, or P1D respectively) to the [REPORTING_YEAR_START_DATE]. The result is the [REPORTING_YEAR_BASE]. 323 +Add^^[[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^4^^>>path:#sdfootnote4sym||name="sdfootnote4anc"]](%%)^^ (P3D, P2D, or P1D respectively) to the [REPORTING_YEAR_START_DATE]. The result is the [REPORTING_YEAR_BASE]. 354 354 355 355 1. 356 356 11.
- SDMX 3-0-0 SECTION 6 FINAL-1.0_en_59eee18f.gif
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +851 bytes - Content