Wiki source code of Part V. Query

Version 3.7 by Helena on 2025/07/02 17:04

Show last authors
1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 = 1 Introduction =
6
7 The registry schemas have been updated to reflect the various changes in the standard and to introduce new constructs for managing [[subscriptions>>doc:sdmx:Glossary.Subscription.WebHome]]. In addtion, the constructs that had existed for querying [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] have been removed as this is now handled by the query messages.
8
9 As was done with the query, the registry message set now contains distinct messages for each operation. The messages will eventually allow the registry to function in more standard web service mannter.
10
11 = 2 Schema Documentation =
12
13 == 2.1 Registry Namespace ==
14
15 http://www.sdmx.org/resources/sdmxml/schemas/v3_1/registry
16
17 === 2.1.1 Summary ===
18
19 Referenced Namespaces:
20
21 |**Namespace**|**Prefix**|
22 |http://www.sdmx.org/resources/sdmxml/schemas/v3_1/common|common|
23 |http://www.sdmx.org/resources/sdmxml/schemas/v3_1/structure|structure|
24 |http://www.w3.org/2001/XMLSchema|xs|
25
26 Contents:
27 39 Complex Types
28 5 Simple Types
29
30 === 2.1.2 Complex Types ===
31
32 **RegistrationType:** Registration provides the information needed for data and [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] set registration. A [[data source>>doc:sdmx:Glossary.Data source.WebHome]] must be supplied here if not already provided in the [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]. The [[data set>>doc:sdmx:Glossary.Data set.WebHome]] or [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] must be associated with a [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]], a [[metadata flow>>doc:sdmx:Glossary.Metadataflow.WebHome]], or a [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] definition. If possible, the [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] should be specified. Only in cases where this is not possible should the [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] or [[metadata flow>>doc:sdmx:Glossary.Metadataflow.WebHome]] be used.
33
34 [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]:
35 id?, validFrom?, validTo?, lastUpdated?, indexTimeSeries?, indexDataSet?, indexAttributes?, indexReportingPeriod?
36
37 Content:
38 ProvisionAgreement, Datasource
39
40 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
41
42 (% style="width:1107.29px" %)
43 |**Name**|**Type**|**Documentation**
44 |id|IDType|The id [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] holds a registry assigned identification for the registration. This must be provided in a response message (unless an error occurred while submitting a new registration), and should be included when updating or deleting a registration.
45 |validFrom|xs:dateTime|The validFrom [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides an inclusive start date for providing supplemental validity information about the registration, so that data visibility from the registry can be controlled by the registrant.
46 |validTo|xs:dateTime|The validFrom [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides an inclusive end date for providing supplemental validity information about the registration, so that data visibility from the registry can be controlled by the registrant.
47 |lastUpdated|xs:dateTime|The lastUpdated [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] provides a timestamp for the last time the [[data source>>doc:sdmx:Glossary.Data source.WebHome]] was updated.
48 |indexTimeSeries (default: false)|xs:boolean|The indexTimeSeries, if true, indicates that the registry must index all time series for the registered data. The default value is false, and the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] will always be assumed false when the [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] references a [[metadata flow>>doc:sdmx:Glossary.Metadataflow.WebHome]].
49 |indexDataSet (default: false)|xs:boolean|The indexDataSet, if true, indicates that the registry must index the range of actual (present) values for each [[dimension>>doc:sdmx:Glossary.Dimension.WebHome]] of the [[data set>>doc:sdmx:Glossary.Data set.WebHome]] or identifier [[component>>doc:sdmx:Glossary.Component.WebHome]] of the [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] (as indicated in the set's structure definition). The default value is false.
50 |indexAttributes (default: false)|xs:boolean|The indexAttributes, if true, indicates that the registry must index the range of actual (present) values for each [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] of the [[data set>>doc:sdmx:Glossary.Data set.WebHome]] or the presence of the metadata [[attributes>>doc:sdmx:Glossary.Attribute.WebHome]] of the [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] (as indicated in the set's structure definition). The default value is false.
51 |indexReportingPeriod (default: false)|xs:boolean|The indexReportingPeriod, if true, indicates that the registry must index the [[time period>>doc:sdmx:Glossary.Time period.WebHome]] ranges for which data is present for the [[data source>>doc:sdmx:Glossary.Data source.WebHome]]. The default value is false, and the [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] will always be assumed false when the [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] references a [[metadata flow>>doc:sdmx:Glossary.Metadataflow.WebHome]].
52
53 Element Documentation:
54
55 (% style="width:1118.29px" %)
56 |**Name**|**Type**|**Documentation**
57 |ProvisionAgreement|ProvisionAgreementReferenceType|ProvisionAgreement provides a reference to the [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] that the data is being registered against.
58 |Datasource|DataSourceType|Datasource identifies the [[data source>>doc:sdmx:Glossary.Data source.WebHome]](s) where the registered data can be retrieved.
59
60 **DataSourceType:** DataSourceType specifies the properties of a data or metadata source. Either a simple [[data source>>doc:sdmx:Glossary.Data source.WebHome]], a queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]], or both must be specified.
61
62 Content:
63 (SimpleDataSource|QueryableDataSource)[1..2]
64
65 Element Documentation:
66
67 (% style="width:1038.29px" %)
68 |**Name**|(% style="width:221px" %)**Type**|(% style="width:536px" %)**Documentation**
69 |SimpleDataSource|(% style="width:221px" %)xs:anyURI|(% style="width:536px" %)SimpleDatasource describes a [[data source>>doc:sdmx:Glossary.Data source.WebHome]] that is an [[SDMX-ML>>doc:sdmx:Glossary.SDMX-ML.WebHome]] data or metadata message. It requires only the URL of the data.
70 |QueryableDataSource|(% style="width:221px" %)QueryableDataSourceType|(% style="width:536px" %)QueryableDatasource describes a [[data source>>doc:sdmx:Glossary.Data source.WebHome]] that can be queried using the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] REST interfaces.
71
72 **SimpleDataSourceType:** SimpleDataSourceType describes a simple [[data source>>doc:sdmx:Glossary.Data source.WebHome]]. The URL of the data is contained in the content.
73
74 Derivation:
75
76 xs:anySimpleType (restriction)
77 xs:anyURI (extension)
78 SimpleDataSourceType
79
80 Attributes:
81 TYPE?
82
83 Content:
84 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
85
86 (% style="width:1046.29px" %)
87 |**Name**|**Type**|**Documentation**
88 |TYPE (fixed: SIMPLE)|xs:string|TYPE is a fixed [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] that is used to ensure only one simple [[data source>>doc:sdmx:Glossary.Data source.WebHome]] may be provided, when it is referenced in a uniqueness (% style="color:#e74c3c" %)constraint(%%).
89
90 **QueryableDataSourceType:** QueryableDataSourceType describes a queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]], and add a fixed [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for ensuring only one queryable source can be provided.
91
92 Derivation:
93
94 QueryableDataSourceType (extension)
95 QueryableDataSourceType
96
97 Attributes:
98 isRESTDatasource, isWebServiceDatasource, TYPE?
99
100 Content:
101 DataURL, WSDLURL?, WADLURL?
102
103 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
104
105 (% style="width:1084.29px" %)
106 |**Name**|**Type**|**Documentation**
107 |isRESTDatasource|xs:boolean|The isRESTDatasource [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates, if true, that the queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]] is accessible via the REST protocol.
108 |isWebServiceDatasource|xs:boolean|The isWebServiceDatasource [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates, if true, that the queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]] is accessible via Web Services protocols.
109 |TYPE (fixed: QUERY)|xs:string|TYPE is a fixed [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] that is used to ensure only one queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]] may be provided, when it is referenced in a uniqueness (% style="color:#e74c3c" %)constraint(%%).
110
111 Element Documentation:
112
113 |**Name**|**Type**|**Documentation**|
114 |DataURL|xs:anyURI|DataURL contains the URL of the [[data source>>doc:sdmx:Glossary.Data source.WebHome]].|
115 |WSDLURL|xs:anyURI|WSDLURL provides the location of a WSDL instance on the internet which describes the queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]].|
116 |WADLURL|xs:anyURI|WADLURL provides the location of a WADL instance on the internet which describes the REST protocol of the queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]].|
117
118 **IdentifiableQueryType:** IdentifiableQueryType describes the structure of a query for an identifiable object.
119
120 Attributes:
121 id?
122
123 Content:
124 {Empty}
125
126 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
127
128 (% style="width:1040.29px" %)
129 |**Name**|**Type**|**Documentation**
130 |id (default:%)|IDQueryType|The id [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used to query for an object based on its identifier. This is either an explicit value, or completely wild cared with the "%" value.
131
132 **VersionableQueryType:** VersionableQueryType describes the structure of a query for a versionable object.
133
134 Derivation:
135
136 IdentifiableQueryType (extension)
137 VersionableQueryType
138
139 Attributes:
140 id?, version?
141
142 Content:
143 {Empty}
144
145 Attribute Documentation:
146
147 (% style="width:1070.29px" %)
148 |**Name**|**Type**|(% style="width:775px" %)**Documentation**
149 |id (default: %)|IDQueryType|(% style="width:775px" %)The id [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used to query for an object based on its identifier. This is either an explicit value, or completely wild cared with the "%" value.
150 |version (default:\*)|VersionQueryType|(% style="width:775px" %)The (% style="color:#e74c3c" %)version(%%) [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used to query for an object based on its (% style="color:#e74c3c" %)version(%%). This can be and explicit value, wild-carded ("%"), or late-bound ("\*"). A wild carded (% style="color:#e74c3c" %)version(%%) will match any (% style="color:#e74c3c" %)version(%%) of the object where as a late-bound (% style="color:#e74c3c" %)version(%%) will only match the latest (% style="color:#e74c3c" %)version(%%).
151
152 **MaintainableQueryType:** MaintainableQueryType describes the structure of a query for a maintainable object.
153
154 Derivation:
155
156 IdentifiableQueryType (extension)
157 VersionableQueryType (extension)
158 MaintainableQueryType
159
160 Attributes:
161 id?, version?, agencyID?
162
163 Content:
164 {Empty}
165
166 Attribute Documentation:
167
168 (% style="width:1118.29px" %)
169 |(% style="width:201px" %)**Name**|(% style="width:127px" %)**Type**|(% style="width:789px" %)**Documentation**
170 |(% style="width:201px" %)id (default: %)|(% style="width:127px" %)IDQueryType|(% style="width:789px" %)The id [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used to query for an object based on its identifier. This is either an explicit value, or completely wild cared with the "%" value.
171 |(% style="width:201px" %)version (default: \*)|(% style="width:127px" %)VersionQueryType|(% style="width:789px" %)The (% style="color:#e74c3c" %)version(%%) [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used to query for an object based on its (% style="color:#e74c3c" %)version(%%). This can be and explicit value, wild-carded ("%"), or late-bound ("\*"). A wild carded (% style="color:#e74c3c" %)version(%%) will match any (% style="color:#e74c3c" %)version(%%) of the object where as a late-bound (% style="color:#e74c3c" %)version(%%) will only match the latest (% style="color:#e74c3c" %)version(%%).
172 |(% style="width:201px" %)agencyID (default: %)|(% style="width:127px" %)NestedIDQueryType|(% style="width:789px" %)The agencyID [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] is used to query for an object based on its [[maintenance agency>>doc:sdmx:Glossary.Maintenance agency.WebHome]]'s identifier. This is either an explicit value, or completely wild cared with the "%" value.
173
174 **StatusMessageType:** StatusMessageType carries the text of error messages and/or warnings in response to queries or requests.
175
176 Attributes:
177 status
178
179 Content:
180 MessageText
181
182 Attribute Documentation:
183
184 (% style="width:1011.29px" %)
185 |**Name**|**Type**|**Documentation**
186 |status|StatusType|The status [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] carries the status of the query or request.
187
188 Element Documentation:
189
190 (% style="width:1011.29px" %)
191 |**Name**|**Type**|**Documentation**
192 |MessageText|StatusMessageType|MessageText contains the text of the error and/or warning message. It can occur multiple times to communicate message for multiple warnings or errors.
193
194 **SubmitRegistrationsRequestType:** SubmitRegistrationsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of data/[[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] registrations.
195
196 Content:
197 RegistrationRequest+
198
199 Element Documentation:
200
201 (% style="width:1012.29px" %)
202 |**Name**|**Type**|**Documentation**
203 |RegistrationRequest|RegistrationRequestType|RegistrationRequest provides the details of a requested registration and the action to take on it. A reference to a [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] that exists in the registry must be provide along with a simple and/or queryable [[data source>>doc:sdmx:Glossary.Data source.WebHome]]. The id should only be provided when updating or deleting a registration.
204
205 **RegistrationRequestType:** RegistrationRequestType describes the structure of a single registration request. It contains the details of a registation and an action field to indicate the action to be taken on the contained registration.
206
207 Attributes:
208 action
209
210 Content:
211 Registration
212
213 Attribute Documentation:
214
215 (% style="width:1008.29px" %)
216 |**Name**|**Type**|**Documentation**
217 |action|ActionType|The action [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] indicates whether this is an addition, a modification, or a deletion of a registration.
218
219 Element Documentation:
220
221 (% style="width:1013.29px" %)
222 |**Name**|**Type**|**Documentation**
223 |Registration|RegistrationType|Registration contains the details of the data/[[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] registration to be added, updated, or deleted.
224
225 **SubmitRegistrationsResponseType:** SubmitRegistrationsResponseType describes the structure of a registration response. For each submitted registration in the request, a registration status is provided. The status elements should be provided in the same order as the submitted registrations, although each status will echo the request to ensure accurate processing of the responses.
226
227 Content:
228 RegistrationStatus+
229
230 Element Documentation:
231
232 (% style="width:1023.29px" %)
233 |**Name**|**Type**|**Documentation**
234 |RegistrationStatus|RegistrationStatusTy pe|RegistrationStatus provided the status details for the submitted registration. It echoes the original submission and provides status information about the request.
235
236 **RegistrationStatusType:** RegistrationStatusType describes the structure of a registration status.
237
238 Content:
239 Registration, StatusMessage
240
241 Element Documentation:
242
243 (% style="width:1005.29px" %)
244 |**Name**|**Type**|(% style="width:578px" %)**Documentation**
245 |Registration|RegistrationType|(% style="width:578px" %)Registration, at the very least echoes the submitted registration. It the request was to create a new registration and it was successful, an id must be supplied.
246 |StatusMessage|StatusMessageType|(% style="width:578px" %)StatusMessage provides that status for the registration request, and if necessary, any error or warning information.
247
248 **QueryRegistrationRequestType:** QueryRegistrationRequestType describes the structure of a registration query request. The type of query (data, [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]], or both) must be specified. It is possible to query for registrations for a particular [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]], [[data provider>>doc:sdmx:Glossary.Data provider.WebHome]], or structure usage, or to query for all registrations in the registry. In addition the search can be refined by providing (% style="color:#e74c3c" %)constraints(%%) in the form of explicit [[time periods>>doc:sdmx:Glossary.Time period.WebHome]], (% style="color:#e74c3c" %)constraint(%%) regions, and key sets. When (% style="color:#e74c3c" %)constraint(%%) regions and key sets are provided they will be effectively processed by first matching all data for the included keys and regions (all available data if there are none) and then removing any data matching the excluded keys or regions.
249
250 Attributes:
251 returnConstraints?
252
253 Content:
254 QueryType, (All|ProvisionAgreement|DataProvider|Dataflow|Metadataflow), ReferencePeriod?, (DataKeySet|CubeRegion|MetadataTargetRegion)
255
256 Attribute Documentation:
257
258 (% style="width:1004.29px" %)
259 |**Name**|**Type**|**Documentation**
260 |returnConstraints (default: false)|xs:boolean|The returnConstraints [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] determines whether information about the (% style="color:#e74c3c" %)constraints(%%) on the data or [[metadata sets>>doc:sdmx:Glossary.Metadata set.WebHome]] returned should also be sent the results.
261
262 Element Documentation:
263
264 (% style="width:1056.29px" %)
265 |**Name**|**Type**|**Documentation**
266 |QueryType|QueryTypeType|QueryType defines the type of sets (data, metadata, or both) that are being queried for.
267 |All|EmptyType|All indicates that all registrations meeting the other criteria of the query should be returned.
268 |ProvisionAgreement|ProvisionAgreementReferenceType|ProvisionAgreement provides a reference to a [[provision agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields.
269 |DataProvider|DataProviderReferenceType|DataProvider provides a reference to a [[data provider>>doc:sdmx:Glossary.Data provider.WebHome]] in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields.
270 |[[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]|DataflowReferenceType|[[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] provides a reference to a [[data flow>>doc:sdmx:Glossary.Dataflow.WebHome]] in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields.
271 |[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]|MetadataflowReferenceType|[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] provides a reference to a [[metadata flow>>doc:sdmx:Glossary.Metadataflow.WebHome]] in the registry, for which all registered sets meeting the other criteria of this query should be returned. The reference is provided as a URN and/or a complete set of reference fields
272 |ReferencePeriod|ReferencePeriodType|ReferencePeriod provides an inclusive start and end date for the data or metadata being sought.
273 |DataKeySet|DataKeySetType|DataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought.
274 |CubeRegion|CubeRegionType|CubeRegion is used to provide sets of include or excluded values for [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] when querying for data.
275 |MetadataTargetRegion|MetadataTargetRegionType|MetadataTargetRegion is used to provide sets of included or excluded values for identifier [[components>>doc:sdmx:Glossary.Component.WebHome]] when querying for metadata.
276
277 **QueryRegistrationResponseType:** QueryRegistrationResponseType describes the structure of a registration query response. It provides a status for the request, and if successful, the resulting data and/or metadata results.
278
279 Content:
280 StatusMessage, QueryResult
281
282 Element Documentation:
283
284 |**Name**|**Type**|**Documentation**|
285 |StatusMessage|StatusMessageType|StatusMessage provides that status for the registration query request, and if necessary, any error or warning information.|
286 |QueryResult|QueryResultType|QueryResult contains a result for a successful registration query. It can occur multiple times, for each registration the meets the conditions specified in the query.|
287
288 **QueryResultType:** QueryResultType describes the structure of a query result for a single data source. Either a data result or metadata result is detailed, depending on the data source.
289
290 Attributes:
291 timeSeriesMatch
292
293 Content:
294 (DataResult|MetadataResult)
295
296 Attribute Documentation:
297
298 |**Name**|**Type**|**Documentation**|
299 |timeSeriesMatch|xs:boolean|The timeSeriesMatch attribute is true when the result is an exact match with the key found in the registry - that is, when the registered data source provides a matching key. It is set to false when the data source is registered with cube-region constraints, or in any other circumstance when it cannot be established that the sought-for keys have been exactly matched. This is always true when the resulting data source is the source of a metadata set.|
300
301 Element Documentation:
302
303 |**Name**|**Type**|**Documentation**|
304 |DataResult|ResultType| |
305 |MetadataResult|ResultType| |
306
307 **ResultType:** ResultType contains the details about a data or metadata source, through the complete registration information. In addition, a reference to the content constraints for the data source may be provided, if the query requested this information.
308
309 Content:
310 Registration, Constraint
311
312 Element Documentation:
313
314 |**Name**|**Type**|**Documentation**|
315 |Registration|RegistrationType|Registration provides the details of a matching registration. In addition to the data source and provision agreement information, the id of the registration must also be provided.|
316 |Constraint|ConstraintReferenceT ype|Constraint provides a reference to a data or metadata constraint in the registry for the resulting data source (or possibly constraints base on the registration provision agreement, data provider, structure usage, or structure). The reference is provided for by a URN and/or a complete set of reference fields.|
317
318 **SubmitStructureRequestType:** SubmitStructureRequestType describes the structure of a structure submission. Structural components are provided either in-line or referenced via a SDMX-ML Structure message external to the registry. A default action and external reference resolution action are all provided for each of the contained components, but can be overridden on a per component basis.
319
320 Attributes:
321 action?, externalDependencies?
322
323 Content:
324 (StructureLocation|Structures), SubmittedStructure
325
326 Attribute Documentation:
327
328 |**Name**|**Type**|**Documentation**|
329 |action (default: Append)|ActionType|The action attribute indicates the default action (append-add, replace-update, delete, or no action-informational) to be taken on all structural components in either the external SDMX-ML Structure message or the in-line components. The default action is Append. The Replace action is not applicable to final structures in the repository, and will produce an error condition, as these can be versioned but not modified. To submit a later version of a structural object, the object should include the incremented version number.|
330 |externalDependencies (default: false)|xs:boolean|The externalDependencies attribute indicates the default resolution of external dependencies. This should be set to true if the repository is expected to use external reference URLs in the structural components to retrieve any externally referenced objects that is used by a non-external object.|
331
332 Element Documentation:
333
334 |**Name**|**Type**|**Documentation**|
335
336 |StructureLocation|xs:anyURI|StructureLocation provides the location of a SDMX-ML Structure message, external to the repository that can be retrieved by the repository submission service.|
337 |Structures|StructuresType|Structures allows for the inline definition of structural components for submission.|
338 |SubmittedStructure|SubmittedStructureTy pe|SubmittedStructure contains a reference to one of the structural maintainable artefacts detailed in the external SDMX-ML Structure message or in-line and provides an override for the default action. This should only be used if the action to be performed on the referenced structural object is different than the default action. For example, one may want to append all structural components of a structure message, save one codelist. This codelist could be referenced in a submitted structure element and given an action of Informational.|
339
340 **SubmittedStructureType:** SubmittedStructureType generally references a submitted structural object. When used in a submit structure request, its purpose is to override the default action or external dependency resolution behavior. If neither of these indicators are set, then it will be ignored. In a submit structure response, it is used to reference a submitted object for the purpose of providing a status for the submission. In this case, the action attribute should be populated in order to echo the requested action.
341
342 Attributes:
343 action?, externalDependencies?
344
345 Content:
346 MaintainableObject
347
348 Attribute Documentation:
349
350 |**Name**|**Type**|**Documentation**|
351 |action|ActionType|The action attribute will indicate the action to be taken on the referenced structural object. This should be provided when this structure is used in a submit structure response.|
352 |externalDependencies|xs:boolean|The externalDependencies attribute should be set to true if the repository is expected to use external reference URLs in the structural components to retrieve objects on which the referenced object has dependencies. (Thus, if a data structure referenced here is being submitted to the repository, and the structure message has URLs which point to the locations of the codelists it uses, then this attribute should be set to true). This should not be provided when this structure is used in a submit structure response.|
353
354 Element Documentation:
355
356 |**Name**|**Type**|**Documentation**|
357 |MaintainableObject|MaintainableUrnRefer enceType| |
358
359 **SubmitStructureResponseType:** SubmitStructureResponseType describes the structure of a response to a structure submission. For each submitted structure, a Result will be returned.
360
361 Content:
362 SubmissionResult+
363
364 Element Documentation:
365
366 |**Name**|**Type**|**Documentation**|
367 |SubmissionResult|SubmissionResultType|SubmissionResult provides a status for each submitted structural object.|
368
369 **SubmissionResultType:** SubmissionResultType provides the status of the structural object submission request. It will identify the object submitted, report back the action requested, and convey the status and any error messages which are relevant to the submission.
370
371 Content:
372 SubmittedStructure, StatusMessage
373
374 Element Documentation:
375
376 |**Name**|**Type**|**Documentation**|
377 |SubmittedStructure|SubmittedStructureTy pe|SubmittedStructure provides a reference to the submitted structural object and echoes back the action requested for it.|
378 |StatusMessage|StatusMessageType|StatusMessage provides that status for the submission of the structural object, and if necessary, any error or warning information.|
379
380 **SubmitSubscriptionsRequestType:** SubmitSubscriptionsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of subscriptions. Subscriptions are submitted to the registry to subscribe to registration and change events for specific registry resources.
381
382 Content:
383 SubscriptionRequest+
384
385 Element Documentation:
386
387 |**Name**|**Type**|**Documentation**|
388 |SubscriptionRequest|SubscriptionRequestT ype| |
389
390 **SubscriptionType:** SubscriptionType describes the details of a subscription to a registration or change event for registry resources. When it occurs as the content of a response message, the registry URN must be provide, unless the response is a failure notification for the creation of a new subscription.
391
392 Content:
393 Organisation, RegistryURN?, NotificationMailTo*, NotificationHTTP*, SubscriberAssignedID?, ValidityPeriod, EventSelector
394
395 Element Documentation:
396
397 |**Name**|**Type**|**Documentation**|
398 |Organisation|OrganisationReferenc eType|Organisation provides a reference to the organisation that owns this subscription. The reference is provided via a URN and/or a complete set of reference fields.|
399 |RegistryURN|xs:anyURI|RegistryURN is used to identify the subscription in the case of deletion or modification. This should be provided in all response messages, unless the response it a notification of the failure to create a newly submitted subscription - in which case there will be no registry assigned URN.|
400 |NotificationMailTo|NotificationURLType|NotificationMailTo holds an e-mail address (the "mailto~:" protocol). Multiple email address can be notified for a single subscription.|
401 |NotificationHTTP|NotificationURLType|NotificationHTTP holds an http address to which notifications can be addressed as POSTs. Multiple http address may be notified for a single subscription event.|
402 |SubscriberAssignedID|IDType|SubscriberAssignedID allows the subscriber to specify an identification which will be returned as part of the notification for the subscribed events. This should be used if multiple new requests are made, so that the responses can be accurately correlated to the requests.|
403 |ValidityPeriod|ValidityPeriodType|Validity period sets a start and end date for the subscription.|
404 |EventSelector|EventSelectorType|EventSelector indicates an event or events for the subscription.|
405
406 **SubscriptionRequestType:** SubscriptionRequestType describes the structure of a single subscription request. It contains subscription details and an action field to indicate the action to be taken on the contained subscription. Note that if the action is update or delete, then the registry supplied URN for the subscription must be included.
407
408 Attributes:
409 action
410
411 Content:
412 Subscription
413
414 Attribute Documentation:
415
416 |**Name**|**Type**|**Documentation**|
417 |action|ActionType|The action attribute indicates whether this is an addition, a modification, or a deletion of a subscription.|
418
419 Element Documentation:
420
421 |**Name**|**Type**|**Documentation**|
422 |Subscription|SubscriptionType|Subscription contains the details of the subscription to be added, updated, or deleted.|
423
424 **SubmitSubscriptionsResponseType:** SubmitSubscriptionsResponseType describes the structure of the response to a new subscription submission. A status is provided for each subscription in the request.
425
426 Content:
427 SubscriptionStatus+
428
429 Element Documentation:
430
431 |**Name**|**Type**|**Documentation**|
432 |SubscriptionStatus|SubscriptionStatusTy pe|SubscriptionStatus contains information which describes the success or failure of a subscription request, providing any error messages in the event of failure. The statuses should occur in the same order as the requests when responding to a message with multiple subscription requests. If a subscriber-assigned identification for the subscription is provided, it will be returned to allow for accurate matching of the responses to the requests. A registry assigned URN will be returned for any successfully created, updated, or deleted subscription.|
433
434 **SubscriptionStatusType:** SubscriptionStatusType describes the structure a status for a single subscription request.
435
436 Content:
437 SubscriptionURN?, SubscriberAssignedID?, StatusMessage
438
439 Element Documentation:
440
441 |**Name**|**Type**|**Documentation**|
442 |SubscriptionURN|xs:anyURI|SubscriptionURN contains the registry generated URN for the subscription, and will be returned for any successfully created, updated, or deleted subscription.|
443 |SubscriberAssignedID|IDType|SubscriberAssignedID is the id assigned by the subscriber to the subscription. If it existed in the subscription request, it will be returned.|
444 |StatusMessage|StatusMessageType|StatusMessage provides that status for the subscription request, and if necessary, any error or warning information.|
445
446 **QuerySubscriptionRequestType:** QuerySubscriptionRequestType describes the structure of a query for subscriptions. Subscriptions for a given organisation may be retrieved.
447
448 Content:
449 Organisation
450
451 Element Documentation:
452
453 |**Name**|**Type**|**Documentation**|
454 |Organisation|OrganisationReferenc eType|Organisation provides a reference to the data consumer for which the subscription details should be returned.|
455
456 **QuerySubscriptionResponseType:** QuerySubscriptionResponseType describes the structure of a subscription query response. A status will describe the success or failure of the request (and provide error or warning messages if necessary). If the query was successful, details of all of the organisation's subscriptions will be provided.
457
458 Content:
459 StatusMessage, Subscription
460
461 Element Documentation:
462
463 |**Name**|**Type**|**Documentation**|
464 |StatusMessage|StatusMessageType|StatusMessage provides that status for the query subscription request, and if necessary, any error or warning information.|
465 |Subscription|SubscriptionType|Subscription contains the details of a subscription for the organisation. This may occur multiple times for each subscription.|
466
467 **NotifyRegistryEventType:** NotifyRegistryEventType describes the structure a registry notification, in response to a subscription to a registry event. At a minimum, the event time, a reference to the change object, a reference to the underlying subscription triggering the notification, and the action that took place on the object are sent. In addition, the full details of the object may be provided at the discretion of the registry. In the event that the details are not sent, it will be possible to query for the details of the changed object using the reference provided.
468
469 Content:
470 EventTime, (ObjectURN|RegistrationID), SubscriptionURN, EventAction, (StructuralEvent|RegistrationEvent)?
471
472 Element Documentation:
473
474 |**Name**|**Type**|**Documentation**|
475 |EventTime|xs:dateTime|EventTime specifies the time of the triggering event.|
476 |ObjectURN|xs:anyURI|ObjectURN provides the URN of the object on which the event occurred, unless the event is related to a registration, in which case the RegistrationID element should be used.|
477 |RegistrationID|IDType|RegistrationID provides the id of the registration that underwent an event.|
478 |SubscriptionURN|xs:anyURI|SubscriptionURN provides the registry/repository URN of the subscription that is the cause of this notification being sent.|
479 |EventAction|ActionType|EventAction indicates the nature of the event - whether the action was an addition, a modification, or a deletion.|
480 |StructuralEvent|StructuralEventType|StructuralEvent is used to provide the details of the structural object that has changed.|
481 |RegistrationEvent|RegistrationEventTyp e|RegistrationEvent is used to provide the details or the registration object that has changed.|
482
483 **NotificationURLType:** NotificationURLType describes the structure of an http or email address. The content holds the addresses while an attribute indicates whether or not is expects the contents in a SOAP message.
484
485 Derivation:
486
487 xs:anySimpleType (restriction)
488 xs:anyURI (extension)
489 NotificationURLType
490
491 Attributes:
492 isSOAP?
493
494 Content:
495 Attribute Documentation:
496
497 |**Name**|**Type**|**Documentation**|
498 |isSOAP (default: false)|xs:boolean|The isSOAP attribute, if true, indicates the provided URL expects the notification to be sent in a SOAP message.|
499
500 **ValidityPeriodType:** ValidityPeriodType specifies inclusive start and end-dates for the subscription period.
501
502 Content:
503 StartDate, EndDate
504
505 Element Documentation:
506
507 |**Name**|**Type**|**Documentation**|
508 |StartDate|xs:date|StartDate is an inclusive start date for the subscription.|
509 |EndDate|xs:date|EndDate is an inclusive end date for the subscription.|
510
511 **EventSelectorType:** EventSelectorType describes the details of the events for a subscription. It allows subscribers to specify registry and repository events for which they wish to receive notifications.
512
513 Content:
514 (StructuralRepositoryEvents|DataRegistrationEvents|MetadataRegistrationEvents)[1..3]
515
516 Element Documentation:
517
518 |**Name**|**Type**|**Documentation**|
519 |StructuralRepository Events|StructuralRepository EventsType|StructuralRepositoryEvents details structural events for the subscription.|
520 |DataRegistrationEven ts|DataRegistrationEven tsType|DataRegistrationEvents details the data registration events for the subscription.|
521 |MetadataRegistration Events|MetadataRegistration EventsType|MetadataRegistrationEvents details the metadata registration events for the subscription.|
522
523 **StructuralRepositoryEventsType:** StructuralRepositoryEventsType details the structural events for the subscription. At least one maintenance agency must be specified, although it may be given a wildcard value (meaning the subscription is for the structural events of all agencies). This can also be a list of agencies to allow the subscription to subscribe the events of more than one agency. It should be noted that when doing so, all of the subsequent objects are assumed to apply to every agency in the list. The subscription is then refined by detailing the structural objects maintained by the agency for which the subscription should apply. It is possible to explicitly select all object events, all objects of given types, or to individually list out specific objects. Note that for any object, it is also possible to provide an explicit URN to reference a distinct object. In this case, the reference to maintenance agency described above is ignored. Although it is not required, if specific objects are being referenced by explicit URNs, it is good practice to list the agencies.
524
525 Attributes:
526 TYPE?
527
528 Content:
529 AgencyID+, (AllEvents|(AgencyScheme|DataConsmerScheme|DataProviderScheme|OrganisationUnitScheme|Dataflow|Metadataflow|CategoryScheme|Categorisation|Codelist|HierarchicalCodelist|ConceptScheme|MetadataStructureDefinition|KeyFamily|StructureSet|ReportingTaxonomy|Process|AttachmentConstraint|ContentConstraint|ProvisionAgreement|TransformationScheme|NameAliasScheme|NamePersonalisationScheme|RulesetScheme|UserDefinedOperatorScheme)+)
530
531 Attribute Documentation:
532
533 |**Name**|**Type**|**Documentation**|
534 |TYPE (fixed: STRUCTURE)|xs:string|TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint.|
535
536 Element Documentation:
537
538 |**Name**|**Type**|**Documentation**|
539 |AgencyID|NestedIDQueryType|AgencyID specifies a maintenance agency for the object or objects indicated in the other fields. This can be either a specific ID, or a single wildcard character ("%"). A wild card character can be used to select all agencies, allowing a subscription to all events for particular object types. This can occur multiple times to list a of group of maintenance agencies, creating event subscriptions for all of the subsequent objects for each agency in the group. Note that if multiple agencies are supplied, then the wildcard character should not be used for any of them.|
540 |AllEvents|EmptyType|AllEvents creates a subscription to structural events for all structural objects maintained by the agencies referenced.|
541 |AgencyScheme|VersionableObjectEve ntType|AgencyScheme is used to subscribe to changes of agency schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
542 |DataConsmerScheme|VersionableObjectEve ntType|DataConsmerScheme is used to subscribe to changes of data consumer schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
543 |DataProviderScheme|VersionableObjectEve ntType|DataProviderScheme is used to subscribe to changes of data provider schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
544 |OrganisationUnitSche me|VersionableObjectEve ntType|OrganisationUnitScheme is used to subscribe to changes of organisation unit schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
545 |Dataflow|VersionableObjectEve ntType|Dataflow is used to subscribe to changes of data flows. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
546 |Metadataflow|VersionableObjectEve ntType|Metadataflow is used to subscribe to changes of metadata flows. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
547 |CategoryScheme|VersionableObjectEve ntType|CategoryScheme is used to subscribe to changes of category schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
548 |Categorisation|IdentifiableObjectEv entType|Categorisation is used to subscribe to changes of categorizations. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id field can be selected.|
549 |Codelist|VersionableObjectEve ntType|Codelist is used to subscribe to changes of code lists. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
550 |HierarchicalCodelist|VersionableObjectEve ntType|HierarchicalCodelist is used to subscribe to changes of hierarchical code lists. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
551 |ConceptScheme|VersionableObjectEve ntType|ConceptScheme is used to subscribe to changes of concept schemes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
552 |MetadataStructureDef inition|VersionableObjectEve ntType|MetadataStructureDefinition is used to subscribe to changes of metadata structure definitions. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
553 |KeyFamily|VersionableObjectEve ntType|KeyFamily is used to subscribe to changes of key families. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
554 |StructureSet|VersionableObjectEve ntType|StructureSet is used to subscribe to changes of structure sets. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
555 |ReportingTaxonomy|VersionableObjectEve ntType|ReportingTaxonomy is used to subscribe to changes of reporting taxonomies. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
556 |Process|VersionableObjectEve ntType|Process is used to subscribe to changes of processes. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
557 |AttachmentConstraint|VersionableObjectEve ntType|AttachmentConstraint is used to subscribe to changes of attachment constraints. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
558 |ContentConstraint|VersionableObjectEve ntType|ContentConstraint is used to subscribe to changes of content constraints. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
559 |ProvisionAgreement|VersionableObjectEve ntType|ProvisionAgreement is used to subscribe to changes of a provision agreement. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
560 |TransformationScheme|VersionableObjectEve ntType|TransformationScheme is used to subscribe to changes of a transformation scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
561 |NameAliasScheme|VersionableObjectEve ntType|NameAliasScheme is used to subscribe to changes of a name alias scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
562 |NamePersonalisationS cheme|VersionableObjectEve ntType|NamePersonalisationScheme is used to subscribe to changes of a name peronsalisation scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
563 |RulesetScheme|VersionableObjectEve ntType|RulesetScheme is used to subscribe to changes of a ruleset scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
564 |UserDefinedOperatorS cheme|VersionableObjectEve ntType|UserDefinedOperatorScheme is used to subscribe to changes of a user defined operator scheme. The maintenance agencies of the object are those identified in the AgencyID collection, effectively making separate version of this query for each agency specified. The agency is ignored if the content of this is a URN, which references an explicit object. Otherwise, either all objects of this type or specific object according to the id and version fields can be selected.|
565
566 **IdentifiableObjectEventType:** IdentifiableObjectEventType describes the structure of a reference to an identifiable object's events. Either all instances of the object matching the inherited criteria, a specific instance, or specific instances of the object may be selected.
567
568 Content:
569 (All|URN|ID)
570
571 Element Documentation:
572
573 |**Name**|**Type**|**Documentation**|
574 |All|EmptyType|All subscribes to the events all instances of the containing object meeting the other criteria specified.|
575 |URN|xs:anyURI|URN subscribes to the events of the specific instance of the object type referenced by this URN. Note that when this field is used, the agency information inherited from the structural repository event container is ignored.|
576 |ID|IDQueryType|ID subscribes to the events of the specific instance of the object type where the value provided here matches the id of the object. The default value is the wildcard character("%").|
577
578 **VersionableObjectEventType:** VersionableObjectEventType describes the structure of a reference to a versionable object's events. Either all instances of the object matching the inherited criteria, a specific instance, or specific instances of the object may be selected.
579
580 Content:
581 (All|URN|(ID, Version))
582
583 Element Documentation:
584
585 |**Name**|**Type**|**Documentation**|
586 |All|EmptyType|All subscribes to the events all instances of the containing object meeting the other criteria specified.|
587 |URN|xs:anyURI|URN subscribes to the events of the specific instance of the object type referenced by this URN. Note that when this field is used, the agency information inherited from the structural repository event container is ignored.|
588 |ID|IDQueryType|ID subscribes to the events of the specific instance of the object type where the value provided here matches the id of the object and the value provided in the version field matches the version of the object. The default value is the wildcard character("%").|
589 |Version|VersionQueryType|Version subscribes to the events of the specific instance of the object type where the value provided in the id field matches the id of the object and the value here matches the version of the object. The default value is the wildcard character("%"). Note that in addition to being wild-carded, this can also be bound to the latest version of the object with the late-bound character("\*").|
590
591 **DataRegistrationEventsType:** DataRegistrationEventsType details the data registration events for the subscription. It is possible to subscribe to all data registration events in the repository, or specific events for; single registrations, provision agreements, data providers, data flows, key families, and categories that categorize data flows or key families.
592
593 Attributes:
594 TYPE?
595
596 Content:
597 (AllEvents|(RegistrationID|ProvisionAgreement|DataProvider|DataflowReference|KeyFamilyReference|Category)+)
598
599 Attribute Documentation:
600
601 |**Name**|**Type**|**Documentation**|
602 |TYPE (fixed: DATA)|xs:string|TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint.|
603
604 Element Documentation:
605
606 |**Name**|**Type**|**Documentation**|
607 |AllEvents|EmptyType|AllEvents subscribes to all data registration events in the repository.|
608 |RegistrationID|IDType|RegistrationID subscribes to all the data registration events for the unique registration referenced.|
609 |ProvisionAgreement|ProvisionAgreementRe ferenceType|ProvisionAgreementReference subscribes to all data registration events for the explicitly referenced provision agreement.|
610 |DataProvider|DataProviderReferenc eType|DataProviderReference subscribes to all data registration events for the explicitly referenced data provider.|
611 |DataflowReference|MaintainableEventTyp e|DataflowReference subscribes to all data registration events for the data flows referenced by this object. This may reference one or more data flows, as the specific references fields allow for a wild-carded value.|
612 |KeyFamilyReference|MaintainableEventTyp e|KeyFamilyReference subscribes to all data registration events for the key families referenced by this object. This may reference one or more key families, as the specific references fields allow for a wild-carded value.|
613 |Category|CategoryReferenceTyp e|Category subscribes to all data registration events for any data flows or key families that are categorized by the referenced category.|
614
615 **MetadataRegistrationEventsType:** MetadataRegistrationEventsType details the metadata registration events for the subscription. It is possible to subscribe to all metadata registration events in the repository, or specific events for; single registrations, provision agreements, data providers, metadata flows, metadata structure definitions, and categories that categorize metadata flows or metadata structure definitions.
616
617 Attributes:
618 TYPE?
619
620 Content:
621 (AllEvents|(RegistrationID|ProvisionAgreement|DataProvider|MetadataflowReference|MetadataStructureDefinitionReference|Category)+)
622
623 Attribute Documentation:
624
625 |**Name**|**Type**|**Documentation**|
626 |TYPE (fixed: METADATA)|xs:string|TYPE is a fixed attribute that is used to ensure only of each event selector may be provided, when it is referenced in a uniqueness constraint.|
627
628 Element Documentation:
629
630 |**Name**|**Type**|**Documentation**|
631 |AllEvents|EmptyType|AllEvents subscribes to all metadata registration events in the repository.|
632 |RegistrationID|IDType|RegistrationID subscribes to all the metadata registration events for the unique registration referenced.|
633 |ProvisionAgreement|ProvisionAgreementRe ferenceType|ProvisionAgreementReference subscribes to all metadata registration events for the explicitly referenced provision agreement.|
634 |DataProvider|DataProviderReferenc eType|DataProvider subscribes to all metadata registration events for the explicitly referenced data provider.|
635 |MetadataflowReferenc e|MaintainableEventTyp e|MetadataflowReference subscribes to all metadata registration events for the metadata flows referenced by this object. This may reference one or more metadata flows, as the specific references fields allow for a wild-carded value.|
636 |MetadataStructureDef initionReference|MaintainableEventTyp e|MetadataStructureDefinitionReference subscribes to all metadata registration events for the metadata structure definitions referenced by this object. This may reference one or more metadata structure definitions, as the specific references fields allow for a wild-carded value.|
637 |Category|CategoryReferenceTyp e|Category subscribes to all metadata registration events for any metadata flows or metadata structure definitions that are categorized by the referenced category.|
638
639 **MaintainableEventType:** MaintainableEventType provides a reference to a maintainable object's event with either the URN of the specific object, or a set of potentially wild-carded reference fields.
640
641 Content:
642 (URN|Ref)
643
644 Element Documentation:
645
646 |**Name**|**Type**|**Documentation**|
647 |URN|xs:anyURI|URN provides an explicit reference to a single object.|
648 |Ref|MaintainableQueryTyp e|Ref provides a reference to potentially many object through the use of possible wild-carded reference fields.|
649
650 **StructuralEventType:** StructuralEventType provides the details of a structure event, specifically the object that changed.
651
652 Content:
653 Structures
654
655 Element Documentation:
656
657 |**Name**|**Type**|**Documentation**|
658 |Structures|StructuresType|Structures contains the details of the structural object that has triggered the event. Although this container allows for multiple structural object, it should only contain the one changed object.|
659
660 **RegistrationEventType:** This provides the details of a data or metadata registration event for the purposes of notification.
661
662 Content:
663 Registration
664
665 Element Documentation:
666
667 |**Name**|**Type**|**Documentation**|
668 |Registration|RegistrationType|Registration provides the changed details of the data or metadata registration.|
669
670 === 2.1.3 Simple Types ===
671
672 **IDQueryType:** IDQueryType is a simple type that allows for an identifier to be substituted with a wild card character ("%").
673
674 Union of:
675 IDType, WildCardValueType.
676
677 **NestedIDQueryType:** NestedIDQueryType is a simple type that allows for a nested identifier to be substituted with a wild card character ("%").
678
679 Union of:
680 NestedIDType, WildCardValueType.
681
682 **VersionQueryType:** VersionQueryType is a simple type that allows for a version number to be substituted with a wild card character ("%") or a late bound character ("\*").
683
684 Union of:
685 LegacyVersionNumberType, SemanticVersionNumberType, SemanticVersionReferenceType, WildcardType, WildCardValueType.
686
687 **StatusType:** StatusType provides an enumeration of values that detail the status of queries or requests.
688
689 Derived by restriction of xs:NMTOKEN.
690
691 Enumerations:
692
693 |**Value**|**Documentation**|
694 |Success|Query or request successful.|
695 |Warning|Query or request successful, but with warnings.|
696 |Failure|Query or request not successful.|
697
698 **QueryTypeType:** QueryType provides an enumeration of values which specify the objects in the result-set for a registry query.
699
700 Derived by restriction of xs:NMTOKEN.
701
702 Enumerations:
703
704 |**Value**|**Documentation**|
705 |DataSets|Only references data sets should be returned.|
706 |MetadataSets|Only references to metadata sets should be returned.|
707 |AllSets|References to both data sets and metadata sets should be returned.|