SDMX Message Namespace Module The message namespace module contains the common message constructs, including the common header information which is used with all other SDMX-ML namespace modules. MessageType is an abstract type which is used by all of the messages, to allow inheritance of common features. Every message consists of a mandatory header, followed by optional payload (which may occur multiple times), and finally an optional footer section for conveying error, warning, and informational messages. Structure is a message that contains structural metadata. It may contain any of the following; categorisations, category schemes, code lists, concepts (concept schemes), constraints (attachment and content) data flows, hierarchical code lists, metadata flows, metadata structure definitions, organisation schemes, processes, reporting taxonomies, and structure sets. StructureType defines the contents of a structure message. The payload is optional since this message may be returned from a web service with only information in the footer. 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. GenericMetadata contains reported metadata in a format which supports any metadata structure definition. GenericMetadataType defines the contents of a generic metadata message. 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. 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. Error is used to communicate that an error has occurred when responding to a request in an non-registry environment. The content will be a collection of error messages. ErrorType describes the structure of an error response. ErrorMessage contains the error message. It can occur multiple times to communicate message for multiple errors, or to communicate the error message in parallel languages. If both messages for multiple errors and parallel language messages are used, then each error message should be given a code in order to distinguish message for unique errors. BaseHeaderType in an abstract base type that defines the basis for all message headers. Specific message formats will refine this ID identifies an identification for the message, assigned by the sender. Test indicates whether the message is for test purposes or not. Prepared is the date the message was prepared. Sender is information about the party that is transmitting the message. Receiver is information about the party that is the intended recipient of the message. Name provides a name for the transmission. Multiple instances allow for parallel language values. Structure provides a reference to the structure (either explicitly or through a structure usage reference) that describes the format of data or reference metadata. In addition to the structure, it is required to also supply the namespace of the structure specific schema that defines the format of the data/metadata. For cross sectional data, additional information is also required to state which dimension is being used at the observation level. This information will allow the structure specific schema to be generated. For generic format messages, this is used to simply reference the underlying structure. It is not mandatory in these cases and the generic data/metadata sets will require this reference explicitly. DataProvider identifies the provider of the data for a data message. MetadataProvider identifies the provider of the metadata for a metadata message. DataSetAction code provides a code for determining whether the enclosed message is an Update or Delete message (not to be used with the UtilityData message). DataSetID provides an identifier for a contained data set. Extracted is a time-stamp from the system rendering the data. ReportingBegin provides the start of the time period covered by the message (in the case of data). ReportingEnd provides the end of the time period covered by the message (in the case of data). EmbargoDate holds a time period before which the data included in this message is not available. Source provides human-readable information about the source of the data. StructureHeaderType defines the structure for structural metadata messages. StructureSpecificDataHeaderType defines the header structure for a structure specific data message. GenericMetadataHeaderType defines the header format for generic reference metadata. BasicHeaderType defines the most basic header information used in simple message exchanges. PartyType defines the information which is sent about various parties such as senders and receivers of messages. Name is a human-readable name of the party. Contact provides contact information for the party in regard to the transmission of the message. The id attribute holds the identification of the party. SenderType extends the basic party structure to add an optional time zone declaration. 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". ContactType provides defines the contact information about a party. Name contains a human-readable name for the contact. Department is designation of the organisational structure by a linguistic expression, within which the contact person works. Role is the responsibility of the contact person with respect to the object for which this person is the contact. Telephone holds the telephone number for the contact person. Fax holds the fax number for the contact person. X400 holds the X.400 address for the contact person. URI holds an information URL for the contact person. Email holds the email address for the contact person. Provides a union type of xs:date and xs:dateTime for the header fields in the message.