Changes for page 4 General Notes for Implementers
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,0 @@ 1 -4 General Notes for Implementers - Content
-
... ... @@ -1,6 +1,4 @@ 1 -{{box title="**Contents**"}} 2 -{{toc/}} 3 -{{/box}} 1 += {{id name="_Toc291503"/}}4 General Notes for Implementers = 4 4 5 5 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. 6 6 ... ... @@ -10,61 +10,93 @@ 10 10 11 11 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. 12 12 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 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** 32 32 33 33 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: 34 34 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 -* ,,IdentifiableReference,, (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 = BasicTimePer,,iod,, (for time range) ,,**endTime = BasicTimePeriod**,, (for time range) 32 +• **AlphaNumeric** (**common:AlphaNumericType**, string which only allows A-z and 0-9) 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 + 68 68 * ,,**minValue = decimal**,, (for numeric range) 69 69 * ,,**maxValue = decimal**,, (for numeric range) 70 70 * ,,**decimal = Integer**,, (# of digits to right of decimal point) ... ... @@ -107,7 +107,7 @@ 107 107 108 108 Further to the above, the mapping between the non-native data types is presented in the table below: 109 109 110 -|**SDMX Facet**|**XML Schema**|**JSON schema **"**pattern**"^^[[ (% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^1^^>>path:#sdfootnote1sym||name="sdfootnote1anc"]](%%)^^ **for "string" type**140 +|**SDMX Facet**|**XML Schema**|**JSON schema **"**pattern**"^^[[^^1^^>>path:#sdfootnote1sym||name="sdfootnote1anc"]]^^ **for "string" type** 111 111 |GregorianYear|xsd:gYear|((( 112 112 "^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0- 113 113 ... ... @@ -208,7 +208,7 @@ 208 208 209 209 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. 210 210 211 -Representation: xs:dateTime (YYYY-MM-DDThh:mm:ss)^^[[ (% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]](%%)^^241 +Representation: xs:dateTime (YYYY-MM-DDThh:mm:ss)^^[[^^2^^>>path:#sdfootnote2sym||name="sdfootnote2anc"]]^^ 212 212 213 213 === {{id name="_Toc291512"/}}4.2.6 Standard Reporting Period === 214 214 ... ... @@ -282,7 +282,7 @@ 282 282 283 283 Representation: common:ReportingWeekType (YYYY-Www, e.g. 2000-W53) 284 284 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.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. 286 286 287 287 **Reporting Day**: 288 288 ... ... @@ -320,7 +320,7 @@ 320 320 11. **If the [PERIOD_INDICATOR] is W:** 321 321 111. **If [REPORTING_YEAR_START_DATE] is a Friday, Saturday, or Sunday:** 322 322 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].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]. 324 324 325 325 1. 326 326 11.
- SDMX 3-0-0 SECTION 6 FINAL-1.0_en_59eee18f.gif
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -851 bytes - Content