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. The xml:lang attribute specifies a language code for the text. If not supplied, the default language is assumed to be English. Name is a reusable element, used for providing a human-readable name for an object. Description is a reusable element, used for providing a longer human-readable description of an object. Text is a reusable element, used for providing a language specific text value for general purposes (i.e. not for a name or description). StructuredText is a reusable element, used for providing a language specific text value structured as XHTML. StatusMessageType describes the structure of an error or warning message. A message contains the text of the message, as well as an optional language indicator and an optional code. Text contains the text of the message, in parallel language values. The code attribute holds an optional code identifying the underlying error that generated the message. This should be used if parallel language descriptions of the error are supplied, to distinguish which of the multiple error messages are for the same underlying error. EmptyType is an empty complex type for elements where the presence of the tag indicates all that is necessary. CodedStatusMessageType describes the structure of an error or warning message which required a code. AnnotableType is an abstract base type used for all annotable artefacts. Any type that provides for annotations should extend this type. Annotations is a reusable element the provides for a collection of annotations. It has been made global so that restrictions of types that extend AnnotatableType may reference it. AnnotationsType provides for a list of annotations to be attached to data and structure messages. AnnotationType provides for non-documentation notes and annotations to be embedded in data and structure messages. It provides optional fields for providing a title, a type description, a URI, and the text of the annotation. AnnotationTitle provides a title for the annotation. AnnotationType is used to distinguish between annotations designed to support various uses. The types are not enumerated, as these can be specified by the user or creator of the annotations. The definitions and use of annotation types should be documented by their creator. AnnotationURL is a URI - typically a URL - which points to an external resource which may contain or supplement the annotation. These can be localised by indicating a language for the resource. If a language is not specified, the resource is assumed to not be localised. If a specific behavior is desired, an annotation type should be defined which specifies the use of this field more exactly. AnnotationText holds a language-specific string containing the text of the annotation. AnnotationValue holds a non-localised value for the annotation. The id attribute provides a non-standard identification of an annotation. It can be used to disambiguate annotations. AnnotationURLType defines an external resource. These can indicate localisation by specifying a language for the resource. Indicates the language of the resources at the URL, if it is localised. If this does not exist, the resource is not localised. 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). 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 (see common:VersionType definition for details). If not supplied, artefact is considered to be un-versioned. 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. 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 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 serviceURL attribute indicates the URL of an SDMX SOAP web service from which the details of the object can be retrieved. Note that this can be a registry or and SDMX structural metadata repository, as they both implement that same web service interface. The structureURL attribute indicates the URL of a SDMX-ML structure message (in the same version as the source document) in which the externally referenced object is contained. Note that this may be a URL of an SDMX RESTful web service which will return the referenced object. AlphaNumericType is a reusable simple type that allows for only mixed-case alphabetical and numeric characters. AlphaType is a reusable simple type that allows for only mixed-case alphabetical characters. This is derived from the AlphaNumericType. NumericType is a reusable simple type that allows for only numeric characters. This is not to be confused with an integer, as this may be used to numeric strings which have leading zeros. These leading zeros are not ignored. This is derived from the AlphaNumericType. ObservationalTimePeriodType specifies a distinct time period or point in time in SDMX. The time period can either be a Gregorian calendar period, a standard reporting period, a distinct point in time, or a time range with a specific date and duration. StandardTimePeriodType defines the set of standard time periods in SDMX. This includes the reporting time periods and the basic date type (i.e. the calendar time periods and the dateTime format). BasicTimePeriodType contains the basic dates and calendar periods. It is a combination of the Gregorian time periods and the date time type.. GregorianTimePeriodType defines the set of standard calendar periods in SDMX. ReportingTimePeriodType defines standard reporting periods in SDMX, which are all in relation to the start day (day-month) of a reporting year which is specified in the specialized reporting year start day attribute. If the reporting year start day is not defined, a day of January 1 is assumed. The reporting year must be epxressed as the year at the beginning of the period. Therfore, if the reproting year runs from April to March, any given reporting year is expressed as the year for April. The general format of a report period can be described as [year]-[period][time zone]?, where the type of period is designated with a single character followed by a number representing the period. Note that all periods allow for an optional time zone offset. See the details of each member type for the specifics of its format. BaseReportPeriodType is a simple type which frames the general pattern of a reporting period for validation purposes. This regular expression is only a general validation which is meant to validate the following structure [year]-[period][time zone]?. This type is meant to be derived from for further validation. ReportPeriodValidTimeZoneType is a derivation of the BaseReportPeriodType which validates that the time zone provided in the base type is valid. The base type will have provided basic validation already. The patterns below validate that the time zone is "Z" or that it is between -14:00 and +14:00, or that there is no time zone provided. This type is meant to be derived from for further validation. ReportingYearType defines a time period of 1 year (P1Y) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. In the absence of a start day for the reporting year, a day of January 1 is assumed. In this case a reporting year will coincide with a calendar year. The format of a reporting year is YYYY-A1 (e.g. 2000-A1). Note that the period value of 1 is fixed. ReportingSemesterType defines a time period of 6 months (P6M) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. In the absence of a start day for the reporting year, a day of January 1 is assumed. The format of a reporting semester is YYYY-Ss (e.g. 2000-S1), where s is either 1 or 2. ReportingTrimesterType defines a time period of 4 months (P4M) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. In the absence of a start day for the reporting year, a day of January 1 is assumed. The format of a reporting trimester is YYYY-Tt (e.g. 2000-T1), where s is either 1, 2, or 3. ReportingQuarterType defines a time period of 3 months (P3M) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. In the absence of a start day for the reporting year, a day of January 1 is assumed. The format of a reporting quarter is YYYY-Qq (e.g. 2000-Q1), where q is a value between 1 and 4. ReportingMonthType defines a time period of 1 month (P1M) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. In the absence of a start day for the reporting year, a day of January 1 is assumed. In this case a reporting month will coincide with a calendar month. The format of a reporting month is YYYY-Mmm (e.g. 2000-M01), where mm is a two digit month (i.e. 01-12). ReportingWeekType defines a time period of 7 days (P7D) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. A standard reporting week is based on the ISO 8601 defintion of a week date, in relation to the reporting period start day. The first week is defined as the week with the first Thursday on or after the reporting year start day. An equivalent definition is the week starting with the Monday nearest in time to the reporting year start day. There are other equivalent defintions, all of which should be adjusted based on the reporting year start day. In the absence of a start day for the reporting year, a day of January 1 is assumed. The format of a reporting week is YYYY-Www (e.g. 2000-W01), where mm is a two digit week (i.e. 01-53). ReportingDayType defines a time period of 1 day (P1D) in relation to a reporting year which has a start day (day-month) specified in the specialized reporting year start day attribute. In the absence of a start day for the reporting year, a day of January 1 is assumed. The format of a reporting day is YYYY-Dddd (e.g. 2000-D001), where ddd is a three digit day (i.e. 001-366). BaseTimeRangeType is a simple type which frames the general pattern for a time range in SDMX. A time range pattern is generally described as [xs:date or xs:dateTime]\[xs:duration], where the referenced types are defined by XML Schema. This type is meant to be derived from for further validation. RangeValidMonthDayType is a derivation of the BaseTimeRangeType which validates that the day provided is valid for the month, without regard to leap years. The base type will have provided basic validation already. The patterns below validate that there are up to 29 days in February, up to 30 days in April, June, September, and November and up to 31 days in January, March, May, July, August, October, and December. This type is meant to be derived from for further validation. RangeValidLeapYearType is a derivation of the RangeValidMonthDayType which validates that a date of February 29 occurs in a valid leap year (i.e. if the year is divisible 4 and not by 100, unless it is also divisible by 400). This type is meant to be derived from for further validation. RangeValidTimeType is a derivation of the RangeValidLeapYearType which validates that the time (if provided) is validly formatted. The base type will have provided basic validation already. The patterns below validate that the time falls between 00:00:00 and 24:00:00. Note that as the XML dateTime type does, seconds are required. It is also permissible to have fractions of seconds, but only within the boundaries of the range specified. This type is meant to be derived from for further validation. RangeValidMonthDayType is a derivation of the RangeValidTimeType which validates that the time zone provided in the base type is valid. The base type will have provided basic validation already. The patterns below validate that the time zone is "Z" or that it is between -14:00 and +14:00, or that there is no time zone provided. This type is meant to be derived from for further validation. TimeRangeValidDateDurationType is an abstract derivation of the RangeValidTimeType which validates that duration provided is generally valid, up to the time component. TimeRangeType defines the structure of a time range in SDMX. The pattern of a time range can be generally described as [start date]\[duration], where start date is an date or dateTime type as defined in XML Schema and duration is a time duration as defined in XML Schema. Note that it is permissible for a time zone offset to be provided on the date or date time. TimezoneType defines the pattern for a time zone. An offset of -14:00 to +14:00 or Z can be specified. Specifies the inclusive start and end times. The startTime attributes contains the inclusive start date for the reference period. The endTime attributes contains the inclusive end date for the reference period. OccurenceType is used to express the maximum occurrence of an object. It combines an integer, equal or greater than 1, and the literal text, "unbounded", for objects which have no upper limit on its occurrence. MaxOccursNumberType is a base type used to restrict an integer to be greater than 1, for the purpose of expressing the maximum number of occurrences of an object. UnboundedCodeType provides single textual value of "unbounded", for use in OccurentType. Object has no upper limit on occurrences. ActionType provides a list of actions, describing the intention of the data transmission from the sender's side. Each action provided at the data or metadata set level applies to the entire data set for which it is given. Note that the actions indicated in the Message Header are optional, and used to summarize specific actions indicated with this data type for all registry interactions. The "Informational" value is used when the message contains information in response to a query, rather than being used to invoke a maintenance activity. Append - this is an incremental update for an existing data/metadata set or the provision of new data or documentation (attribute values) formerly absent. If any of the supplied data or metadata is already present, it will not replace that data or metadata. This corresponds to the "Update" value found in version 1.0 of the SDMX Technical Standards. Replace - data/metadata is to be replaced, and may also include additional data/metadata to be appended. The replacement occurs at the level of the observation - that is, it is not possible to replace an entire series. Delete - data/metadata is to be deleted. Deletion occurs at the lowest level object. For instance, if a delete data message contains a series with no observations, then the entire series will be deleted. If the series contains observations, then only those observations specified will be deleted. The same basic concept applies for attributes. If a series or observation in a delete message contains attributes, then only those attributes will be deleted. Informational - data/metadata is being exchanged for informational purposes only, and not meant to update a system. WildCardValueType is a single value code list, used to include the '%' character - indicating that an entire field is wild carded. Indicates a wild card value. QueryableDataSourceType describes a data source which is accepts an standard SDMX Query message and responds appropriately. DataURL contains the URL of the data source. WSDLURL provides the location of a WSDL instance on the internet which describes the queryable data source. WADLURL provides the location of a WADL instance on the internet which describes the REST protocol of the queryable data source. The isRESTDatasource attribute indicates, if true, that the queryable data source is accessible via the REST protocol. The isWebServiceDatasource attribute indicates, if true, that the queryable data source is accessible via Web Services protocols. XHTMLType allows for mixed content of text and XHTML tags. When using this type, one will have to provide a reference to the XHTML schema, since the processing of the tags within this type is strict, meaning that they are validated against the XHTML schema provided. 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). ProvisionAgreement references a provision agreement which the data or metadata is reported against. StructureUsage references a flow which the data or metadata is reported against. Structure references the structure which defines the structure of the data or metadata set. The structureID attribute uniquely identifies the structure for the purpose of referencing it from the payload. This is only used in structure specific formats. Although it is required, it is only useful when more than one data set is present in the message. The schemaURL attribute provides a location from which the structure specific schema can be located. The namespace attribute is used to provide the namespace for structure-specific formats. By communicating this information in the header, it is possible to generate the structure specific schema while processing the message. The dimensionAtObservation is used to reference the dimension at the observation level for data messages. This can also be given the explicit value of "AllDimensions" which denotes that the cross sectional data is in the flat format. The explicitMeasures indicates whether explicit measures are used in the cross sectional format. This is only applicable for the measure dimension as the dimension at the observation level or the flat structure. DataStructureType is an abstract base type the forms the basis for the structural information for a data set. ProvisionAgreement references a provision agreement which the data is reported against. StructureUsage references a dataflow which the data is reported against. Structure references the data structure definition which defines the structure of the data. StructureSpecificDataStructureType defines the structural information for a structured data set. In addition to referencing the data structure or dataflow which defines the structure of the data, the namespace for the data structure specific schema as well as which dimension is used at the observation level must be provided. It is also necessary to state whether the format uses explicit measures, although this is technically only applicable is the dimension at the observation level is the measure dimension or the flat data format is used. MetadataStructureType is an abstract base type the forms the basis of the structural information for any metadata message. A reference to the metadata structure definition or a metadataflow must be provided. This can be used to determine the structure of the message. ProvisionAgreement references a provision agreement which the metadata is reported against. StructureUsage references a metadataflow which the metadata is reported against. Structure references the metadata structure definition which defines the structure of the metadata. GenericMetadataStructureType defines the structural information for a generic metadata message. ExcludeRootType is a single enumerated value that indciates that child values should be included, but that the actual 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". ObsDimensionsCodeType is an enumeration containing the values "TimeDimension" and "AllDimensions" AllDimensions notes that the cross sectional format shall be flat; that is all dimensions should be contained at the observation level. TIME_PERIOD refers to the fixed identifier for the time dimension. DataTypeType provides an enumerated list of the types of data formats allowed as the for the representation of an object. A string datatype corresponding to W3C XML Schema's xs:string datatype. A string datatype which only allows for the simple aplhabetic charcter set of A-Z, a-z. A string datatype which only allows for the simple alphabetic character set of A-Z, a-z plus the simple numeric character set of 0-9. A string datatype which only allows for the simple numeric character set of 0-9. This format is not treated as an integer, and therefore can having leading zeros. An integer datatype corresponding to W3C XML Schema's xs:integer datatype. An integer datatype corresponding to W3C XML Schema's xs:int datatype. A numeric datatype corresponding to W3C XML Schema's xs:long datatype. A numeric datatype corresponding to W3C XML Schema's xs:short datatype. A numeric datatype corresponding to W3C XML Schema's xs:decimal datatype. A numeric datatype corresponding to W3C XML Schema's xs:float datatype. A numeric datatype corresponding to W3C XML Schema's xs:double datatype. A datatype corresponding to W3C XML Schema's xs:boolean datatype. A datatype corresponding to W3C XML Schema's xs:anyURI datatype. A simple incrementing Integer type. The isSequence facet must be set to true, and the interval facet must be set to "1". This value indicates that the startValue and endValue attributes provide the inclusive boundaries of a numeric range of type xs:decimal. This value indicates that the startValue and endValue attributes provide the exclusive boundaries of a numeric range, of type xs:decimal. This value indicates that the value increments according to the value provided in the interval facet, and has a true value for the isSequence facet. Observational time periods are the superset of all time periods in SDMX. It is the union of the standard time periods (i.e. Gregorian time periods, the reporting time periods, and date time) and a time range. Standard time periods is a superset of distinct time period in SDMX. It is the union of the basic time periods (i.e. the Gregorian time periods and date time) and the reporting time periods. BasicTimePeriod time periods is a superset of the Gregorian time periods and a date time. Gregorian time periods correspond to calendar periods and are represented in ISO-8601 formats. This is the union of the year, year month, and date formats. A Gregorian time period corresponding to W3C XML Schema's xs:gYear datatype, which is based on ISO-8601. A time datatype corresponding to W3C XML Schema's xs:gYearMonth datatype, which is based on ISO-8601. A time datatype corresponding to W3C XML Schema's xs:date datatype, which is based on ISO-8601. Reporting time periods represent periods of a standard length within a reporting year, where to start of the year (defined as a month and day) must be defined elsewhere or it is assumed to be January 1. This is the union of the reporting year, semester, trimester, quarter, month, week, and day. A reporting year represents a period of 1 year (P1Y) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingYearType. A reporting semester represents a period of 6 months (P6M) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingSemesterType. A reporting trimester represents a period of 4 months (P4M) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingTrimesterType. A reporting quarter represents a period of 3 months (P3M) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingQuarterType. A reporting month represents a period of 1 month (P1M) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingMonthType. A reporting week represents a period of 7 days (P7D) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingWeekType. A reporting day represents a period of 1 day (P1D) from the start date of the reporting year. This is expressed as using the SDMX specific ReportingDayType. A time datatype corresponding to W3C XML Schema's xs:dateTime datatype. TimeRange defines a time period by providing a distinct start (date or date time) and a duration. A time datatype corresponding to W3C XML Schema's xs:gMonth datatype. A time datatype corresponding to W3C XML Schema's xs:gMonthDay datatype. A time datatype corresponding to W3C XML Schema's xs:gDay datatype. A time datatype corresponding to W3C XML Schema's xs:time datatype. A time datatype corresponding to W3C XML Schema's xs:duration datatype. A string used to describe geographical features like points (e.g., locations of places, landmarks, buildings, etc.), lines (e.g., rivers, roads, streets, etc.), or areas (e.g., geographical regions, countries, islands, land lots, etc.). A mix of different features is possible too, e.g., combining polygons and geographical points to describe a country and the location of its capital. This value indicates that the content of the component can contain XHTML markup. This value indicates that the content of the component will be data key (a set of dimension references and values for the dimensions). This value indicates that the content of the component will be complete reference (either URN or full set of reference fields) to an Identifiable object in the SDMX Information Model. 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. BasicComponentDataType provides an enumerated list of the types of characters allowed in the textType attribute for all non-target object components. SimpleDataType restricts BasicComponentDataType to specify the allowable data types for a data structure definition component. The XHTML representation is removed as a possible type. TimeDataType restricts SimpleDataType to specify the allowable data types for representing a time value.