Wiki source code of Part V. Query

Version 3.5 by Helena on 2025/07/02 16:58

Hide last authors
Helena 3.2 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
Helena 3.3 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.
Helena 3.2 33
Helena 3.3 34 [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]:
Helena 3.2 35 id?, validFrom?, validTo?, lastUpdated?, indexTimeSeries?, indexDataSet?, indexAttributes?, indexReportingPeriod?
36
37 Content:
38 ProvisionAgreement, Datasource
39
Helena 3.3 40 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
Helena 3.2 41
Helena 3.4 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]].
Helena 3.2 52
53 Element Documentation:
54
Helena 3.4 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.
Helena 3.2 59
Helena 3.3 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.
Helena 3.2 61
62 Content:
63 (SimpleDataSource|QueryableDataSource)[1..2]
64
65 Element Documentation:
66
Helena 3.5 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.
Helena 3.2 71
Helena 3.3 72 **SimpleDataSourceType:** SimpleDataSourceType describes a simple [[data source>>doc:sdmx:Glossary.Data source.WebHome]]. The URL of the data is contained in the content.
Helena 3.2 73
74 Derivation:
75
76 xs:anySimpleType (restriction)
77 xs:anyURI (extension)
78 SimpleDataSourceType
79
80 Attributes:
81 TYPE?
82
83 Content:
Helena 3.5 84 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
Helena 3.2 85
Helena 3.5 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(%%).
Helena 3.2 89
Helena 3.5 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.
Helena 3.2 91
92 Derivation:
93
94 QueryableDataSourceType (extension)
95 QueryableDataSourceType
96
97 Attributes:
98 isRESTDatasource, isWebServiceDatasource, TYPE?
99
100 Content:
101 DataURL, WSDLURL?, WADLURL?
102
Helena 3.5 103 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
Helena 3.2 104
Helena 3.5 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(%%).
Helena 3.2 110
111 Element Documentation:
112
113 |**Name**|**Type**|**Documentation**|
Helena 3.5 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]].|
Helena 3.2 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
Helena 3.5 126 [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Documentation:
Helena 3.2 127
Helena 3.5 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.
Helena 3.2 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 |**Name**|**Type**|**Documentation**|
148 |id (default: %)|IDQueryType|The id attribute is used to query for an object based on its identifier. This is either an explicit value, or completely wild cared with the "%" value.|
149 |version (default: \*)|VersionQueryType|The version attribute is used to query for an object based on its version. This can be and explicit value, wild-carded ("%"), or late-bound ("\*"). A wild carded version will match any version of the object where as a late-bound version will only match the latest version.|
150
151 **MaintainableQueryType:** MaintainableQueryType describes the structure of a query for a maintainable object.
152
153 Derivation:
154
155 IdentifiableQueryType (extension)
156 VersionableQueryType (extension)
157 MaintainableQueryType
158
159 Attributes:
160 id?, version?, agencyID?
161
162 Content:
163 {Empty}
164
165 Attribute Documentation:
166
167 |**Name**|**Type**|**Documentation**|
168 |id (default: %)|IDQueryType|The id attribute is used to query for an object based on its identifier. This is either an explicit value, or completely wild cared with the "%" value.|
169 |version (default: \*)|VersionQueryType|The version attribute is used to query for an object based on its version. This can be and explicit value, wild-carded ("%"), or late-bound ("\*"). A wild carded version will match any version of the object where as a late-bound version will only match the latest version.|
170 |agencyID (default: %)|NestedIDQueryType|The agencyID attribute is used to query for an object based on its maintenance agency's identifier. This is either an explicit value, or completely wild cared with the "%" value.|
171
172 **StatusMessageType:** StatusMessageType carries the text of error messages and/or warnings in response to queries or requests.
173
174 Attributes:
175 status
176
177 Content:
178 MessageText
179
180 Attribute Documentation:
181
182 |**Name**|**Type**|**Documentation**|
183 |status|StatusType|The status attribute carries the status of the query or request.|
184
185 Element Documentation:
186
187 |**Name**|**Type**|**Documentation**|
188 |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.|
189
190 **SubmitRegistrationsRequestType:** SubmitRegistrationsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of data/metadata set registrations.
191
192 Content:
193 RegistrationRequest+
194
195 Element Documentation:
196
197 |**Name**|**Type**|**Documentation**|
198 |RegistrationRequest|RegistrationRequestT ype|RegistrationRequest provides the details of a requested registration and the action to take on it. A reference to a provision agreement that exists in the registry must be provide along with a simple and/or queryable data source. The id should only be provided when updating or deleting a registration.|
199
200 **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.
201
202 Attributes:
203 action
204
205 Content:
206 Registration
207
208 Attribute Documentation:
209
210 |**Name**|**Type**|**Documentation**|
211 |action|ActionType|The action attribute indicates whether this is an addition, a modification, or a deletion of a registration.|
212
213 Element Documentation:
214
215 |**Name**|**Type**|**Documentation**|
216
217 |Registration|RegistrationType|Registration contains the details of the data/metadata set registration to be added, updated, or deleted.|
218
219 **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.
220
221 Content:
222 RegistrationStatus+
223
224 Element Documentation:
225
226 |**Name**|**Type**|**Documentation**|
227 |RegistrationStatus|RegistrationStatusTy pe|RegistrationStatus provided the status details for the submitted registration. It echoes the original submission and provides status information about the request.|
228
229 **RegistrationStatusType:** RegistrationStatusType describes the structure of a registration status.
230
231 Content:
232 Registration, StatusMessage
233
234 Element Documentation:
235
236 |**Name**|**Type**|**Documentation**|
237 |Registration|RegistrationType|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.|
238 |StatusMessage|StatusMessageType|StatusMessage provides that status for the registration request, and if necessary, any error or warning information.|
239
240 **QueryRegistrationRequestType:** QueryRegistrationRequestType describes the structure of a registration query request. The type of query (data, reference metadata, or both) must be specified. It is possible to query for registrations for a particular provision agreement, data provider, or structure usage, or to query for all registrations in the registry. In addition the search can be refined by providing constraints in the form of explicit time periods, constraint regions, and key sets. When 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.
241
242 Attributes:
243 returnConstraints?
244
245 Content:
246 QueryType, (All|ProvisionAgreement|DataProvider|Dataflow|Metadataflow), ReferencePeriod?, (DataKeySet|CubeRegion|MetadataTargetRegion)
247
248 Attribute Documentation:
249
250 |**Name**|**Type**|**Documentation**|
251 |returnConstraints (default: false)|xs:boolean|The returnConstraints attribute determines whether information about the constraints on the data or metadata sets returned should also be sent the results.|
252
253 Element Documentation:
254
255 |**Name**|**Type**|**Documentation**|
256 |QueryType|QueryTypeType|QueryType defines the type of sets (data, metadata, or both) that are being queried for.|
257 |All|EmptyType|All indicates that all registrations meeting the other criteria of the query should be returned.|
258 |ProvisionAgreement|ProvisionAgreementRe ferenceType|ProvisionAgreement provides a reference to a provision agreement 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.|
259 |DataProvider|DataProviderReferenc eType|DataProvider provides a reference to a data provider 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.|
260 |Dataflow|DataflowReferenceTyp e|Dataflow provides a reference to a data flow 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.|
261 |Metadataflow|MetadataflowReferenc eType|Metadataflow provides a reference to a metadata flow 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|
262 |ReferencePeriod|ReferencePeriodType|ReferencePeriod provides an inclusive start and end date for the data or metadata being sought.|
263 |DataKeySet|DataKeySetType|DataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought.|
264 |CubeRegion|CubeRegionType|CubeRegion is used to provide sets of include or excluded values for dimensions when querying for data.|
265 |MetadataTargetRegion|MetadataTargetRegion Type|MetadataTargetRegion is used to provide sets of included or excluded values for identifier components when querying for metadata.|
266
267 **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.
268
269 Content:
270 StatusMessage, QueryResult
271
272 Element Documentation:
273
274 |**Name**|**Type**|**Documentation**|
275 |StatusMessage|StatusMessageType|StatusMessage provides that status for the registration query request, and if necessary, any error or warning information.|
276 |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.|
277
278 **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.
279
280 Attributes:
281 timeSeriesMatch
282
283 Content:
284 (DataResult|MetadataResult)
285
286 Attribute Documentation:
287
288 |**Name**|**Type**|**Documentation**|
289 |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.|
290
291 Element Documentation:
292
293 |**Name**|**Type**|**Documentation**|
294 |DataResult|ResultType| |
295 |MetadataResult|ResultType| |
296
297 **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.
298
299 Content:
300 Registration, Constraint
301
302 Element Documentation:
303
304 |**Name**|**Type**|**Documentation**|
305 |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.|
306 |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.|
307
308 **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.
309
310 Attributes:
311 action?, externalDependencies?
312
313 Content:
314 (StructureLocation|Structures), SubmittedStructure
315
316 Attribute Documentation:
317
318 |**Name**|**Type**|**Documentation**|
319 |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.|
320 |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.|
321
322 Element Documentation:
323
324 |**Name**|**Type**|**Documentation**|
325
326 |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.|
327 |Structures|StructuresType|Structures allows for the inline definition of structural components for submission.|
328 |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.|
329
330 **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.
331
332 Attributes:
333 action?, externalDependencies?
334
335 Content:
336 MaintainableObject
337
338 Attribute Documentation:
339
340 |**Name**|**Type**|**Documentation**|
341 |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.|
342 |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.|
343
344 Element Documentation:
345
346 |**Name**|**Type**|**Documentation**|
347 |MaintainableObject|MaintainableUrnRefer enceType| |
348
349 **SubmitStructureResponseType:** SubmitStructureResponseType describes the structure of a response to a structure submission. For each submitted structure, a Result will be returned.
350
351 Content:
352 SubmissionResult+
353
354 Element Documentation:
355
356 |**Name**|**Type**|**Documentation**|
357 |SubmissionResult|SubmissionResultType|SubmissionResult provides a status for each submitted structural object.|
358
359 **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.
360
361 Content:
362 SubmittedStructure, StatusMessage
363
364 Element Documentation:
365
366 |**Name**|**Type**|**Documentation**|
367 |SubmittedStructure|SubmittedStructureTy pe|SubmittedStructure provides a reference to the submitted structural object and echoes back the action requested for it.|
368 |StatusMessage|StatusMessageType|StatusMessage provides that status for the submission of the structural object, and if necessary, any error or warning information.|
369
370 **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.
371
372 Content:
373 SubscriptionRequest+
374
375 Element Documentation:
376
377 |**Name**|**Type**|**Documentation**|
378 |SubscriptionRequest|SubscriptionRequestT ype| |
379
380 **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.
381
382 Content:
383 Organisation, RegistryURN?, NotificationMailTo*, NotificationHTTP*, SubscriberAssignedID?, ValidityPeriod, EventSelector
384
385 Element Documentation:
386
387 |**Name**|**Type**|**Documentation**|
388 |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.|
389 |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.|
390 |NotificationMailTo|NotificationURLType|NotificationMailTo holds an e-mail address (the "mailto~:" protocol). Multiple email address can be notified for a single subscription.|
391 |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.|
392 |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.|
393 |ValidityPeriod|ValidityPeriodType|Validity period sets a start and end date for the subscription.|
394 |EventSelector|EventSelectorType|EventSelector indicates an event or events for the subscription.|
395
396 **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.
397
398 Attributes:
399 action
400
401 Content:
402 Subscription
403
404 Attribute Documentation:
405
406 |**Name**|**Type**|**Documentation**|
407 |action|ActionType|The action attribute indicates whether this is an addition, a modification, or a deletion of a subscription.|
408
409 Element Documentation:
410
411 |**Name**|**Type**|**Documentation**|
412 |Subscription|SubscriptionType|Subscription contains the details of the subscription to be added, updated, or deleted.|
413
414 **SubmitSubscriptionsResponseType:** SubmitSubscriptionsResponseType describes the structure of the response to a new subscription submission. A status is provided for each subscription in the request.
415
416 Content:
417 SubscriptionStatus+
418
419 Element Documentation:
420
421 |**Name**|**Type**|**Documentation**|
422 |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.|
423
424 **SubscriptionStatusType:** SubscriptionStatusType describes the structure a status for a single subscription request.
425
426 Content:
427 SubscriptionURN?, SubscriberAssignedID?, StatusMessage
428
429 Element Documentation:
430
431 |**Name**|**Type**|**Documentation**|
432 |SubscriptionURN|xs:anyURI|SubscriptionURN contains the registry generated URN for the subscription, and will be returned for any successfully created, updated, or deleted subscription.|
433 |SubscriberAssignedID|IDType|SubscriberAssignedID is the id assigned by the subscriber to the subscription. If it existed in the subscription request, it will be returned.|
434 |StatusMessage|StatusMessageType|StatusMessage provides that status for the subscription request, and if necessary, any error or warning information.|
435
436 **QuerySubscriptionRequestType:** QuerySubscriptionRequestType describes the structure of a query for subscriptions. Subscriptions for a given organisation may be retrieved.
437
438 Content:
439 Organisation
440
441 Element Documentation:
442
443 |**Name**|**Type**|**Documentation**|
444 |Organisation|OrganisationReferenc eType|Organisation provides a reference to the data consumer for which the subscription details should be returned.|
445
446 **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.
447
448 Content:
449 StatusMessage, Subscription
450
451 Element Documentation:
452
453 |**Name**|**Type**|**Documentation**|
454 |StatusMessage|StatusMessageType|StatusMessage provides that status for the query subscription request, and if necessary, any error or warning information.|
455 |Subscription|SubscriptionType|Subscription contains the details of a subscription for the organisation. This may occur multiple times for each subscription.|
456
457 **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.
458
459 Content:
460 EventTime, (ObjectURN|RegistrationID), SubscriptionURN, EventAction, (StructuralEvent|RegistrationEvent)?
461
462 Element Documentation:
463
464 |**Name**|**Type**|**Documentation**|
465 |EventTime|xs:dateTime|EventTime specifies the time of the triggering event.|
466 |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.|
467 |RegistrationID|IDType|RegistrationID provides the id of the registration that underwent an event.|
468 |SubscriptionURN|xs:anyURI|SubscriptionURN provides the registry/repository URN of the subscription that is the cause of this notification being sent.|
469 |EventAction|ActionType|EventAction indicates the nature of the event - whether the action was an addition, a modification, or a deletion.|
470 |StructuralEvent|StructuralEventType|StructuralEvent is used to provide the details of the structural object that has changed.|
471 |RegistrationEvent|RegistrationEventTyp e|RegistrationEvent is used to provide the details or the registration object that has changed.|
472
473 **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.
474
475 Derivation:
476
477 xs:anySimpleType (restriction)
478 xs:anyURI (extension)
479 NotificationURLType
480
481 Attributes:
482 isSOAP?
483
484 Content:
485 Attribute Documentation:
486
487 |**Name**|**Type**|**Documentation**|
488 |isSOAP (default: false)|xs:boolean|The isSOAP attribute, if true, indicates the provided URL expects the notification to be sent in a SOAP message.|
489
490 **ValidityPeriodType:** ValidityPeriodType specifies inclusive start and end-dates for the subscription period.
491
492 Content:
493 StartDate, EndDate
494
495 Element Documentation:
496
497 |**Name**|**Type**|**Documentation**|
498 |StartDate|xs:date|StartDate is an inclusive start date for the subscription.|
499 |EndDate|xs:date|EndDate is an inclusive end date for the subscription.|
500
501 **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.
502
503 Content:
504 (StructuralRepositoryEvents|DataRegistrationEvents|MetadataRegistrationEvents)[1..3]
505
506 Element Documentation:
507
508 |**Name**|**Type**|**Documentation**|
509 |StructuralRepository Events|StructuralRepository EventsType|StructuralRepositoryEvents details structural events for the subscription.|
510 |DataRegistrationEven ts|DataRegistrationEven tsType|DataRegistrationEvents details the data registration events for the subscription.|
511 |MetadataRegistration Events|MetadataRegistration EventsType|MetadataRegistrationEvents details the metadata registration events for the subscription.|
512
513 **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.
514
515 Attributes:
516 TYPE?
517
518 Content:
519 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)+)
520
521 Attribute Documentation:
522
523 |**Name**|**Type**|**Documentation**|
524 |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.|
525
526 Element Documentation:
527
528 |**Name**|**Type**|**Documentation**|
529 |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.|
530 |AllEvents|EmptyType|AllEvents creates a subscription to structural events for all structural objects maintained by the agencies referenced.|
531 |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.|
532 |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.|
533 |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.|
534 |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.|
535 |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.|
536 |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.|
537 |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.|
538 |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.|
539 |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.|
540 |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.|
541 |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.|
542 |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.|
543 |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.|
544 |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.|
545 |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.|
546 |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.|
547 |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.|
548 |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.|
549 |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.|
550 |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.|
551 |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.|
552 |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.|
553 |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.|
554 |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.|
555
556 **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.
557
558 Content:
559 (All|URN|ID)
560
561 Element Documentation:
562
563 |**Name**|**Type**|**Documentation**|
564 |All|EmptyType|All subscribes to the events all instances of the containing object meeting the other criteria specified.|
565 |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.|
566 |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("%").|
567
568 **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.
569
570 Content:
571 (All|URN|(ID, Version))
572
573 Element Documentation:
574
575 |**Name**|**Type**|**Documentation**|
576 |All|EmptyType|All subscribes to the events all instances of the containing object meeting the other criteria specified.|
577 |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.|
578 |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("%").|
579 |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("\*").|
580
581 **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.
582
583 Attributes:
584 TYPE?
585
586 Content:
587 (AllEvents|(RegistrationID|ProvisionAgreement|DataProvider|DataflowReference|KeyFamilyReference|Category)+)
588
589 Attribute Documentation:
590
591 |**Name**|**Type**|**Documentation**|
592 |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.|
593
594 Element Documentation:
595
596 |**Name**|**Type**|**Documentation**|
597 |AllEvents|EmptyType|AllEvents subscribes to all data registration events in the repository.|
598 |RegistrationID|IDType|RegistrationID subscribes to all the data registration events for the unique registration referenced.|
599 |ProvisionAgreement|ProvisionAgreementRe ferenceType|ProvisionAgreementReference subscribes to all data registration events for the explicitly referenced provision agreement.|
600 |DataProvider|DataProviderReferenc eType|DataProviderReference subscribes to all data registration events for the explicitly referenced data provider.|
601 |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.|
602 |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.|
603 |Category|CategoryReferenceTyp e|Category subscribes to all data registration events for any data flows or key families that are categorized by the referenced category.|
604
605 **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.
606
607 Attributes:
608 TYPE?
609
610 Content:
611 (AllEvents|(RegistrationID|ProvisionAgreement|DataProvider|MetadataflowReference|MetadataStructureDefinitionReference|Category)+)
612
613 Attribute Documentation:
614
615 |**Name**|**Type**|**Documentation**|
616 |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.|
617
618 Element Documentation:
619
620 |**Name**|**Type**|**Documentation**|
621 |AllEvents|EmptyType|AllEvents subscribes to all metadata registration events in the repository.|
622 |RegistrationID|IDType|RegistrationID subscribes to all the metadata registration events for the unique registration referenced.|
623 |ProvisionAgreement|ProvisionAgreementRe ferenceType|ProvisionAgreementReference subscribes to all metadata registration events for the explicitly referenced provision agreement.|
624 |DataProvider|DataProviderReferenc eType|DataProvider subscribes to all metadata registration events for the explicitly referenced data provider.|
625 |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.|
626 |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.|
627 |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.|
628
629 **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.
630
631 Content:
632 (URN|Ref)
633
634 Element Documentation:
635
636 |**Name**|**Type**|**Documentation**|
637 |URN|xs:anyURI|URN provides an explicit reference to a single object.|
638 |Ref|MaintainableQueryTyp e|Ref provides a reference to potentially many object through the use of possible wild-carded reference fields.|
639
640 **StructuralEventType:** StructuralEventType provides the details of a structure event, specifically the object that changed.
641
642 Content:
643 Structures
644
645 Element Documentation:
646
647 |**Name**|**Type**|**Documentation**|
648 |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.|
649
650 **RegistrationEventType:** This provides the details of a data or metadata registration event for the purposes of notification.
651
652 Content:
653 Registration
654
655 Element Documentation:
656
657 |**Name**|**Type**|**Documentation**|
658 |Registration|RegistrationType|Registration provides the changed details of the data or metadata registration.|
659
660 === 2.1.3 Simple Types ===
661
662 **IDQueryType:** IDQueryType is a simple type that allows for an identifier to be substituted with a wild card character ("%").
663
664 Union of:
665 IDType, WildCardValueType.
666
667 **NestedIDQueryType:** NestedIDQueryType is a simple type that allows for a nested identifier to be substituted with a wild card character ("%").
668
669 Union of:
670 NestedIDType, WildCardValueType.
671
672 **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 ("\*").
673
674 Union of:
675 LegacyVersionNumberType, SemanticVersionNumberType, SemanticVersionReferenceType, WildcardType, WildCardValueType.
676
677 **StatusType:** StatusType provides an enumeration of values that detail the status of queries or requests.
678
679 Derived by restriction of xs:NMTOKEN.
680
681 Enumerations:
682
683 |**Value**|**Documentation**|
684 |Success|Query or request successful.|
685 |Warning|Query or request successful, but with warnings.|
686 |Failure|Query or request not successful.|
687
688 **QueryTypeType:** QueryType provides an enumeration of values which specify the objects in the result-set for a registry query.
689
690 Derived by restriction of xs:NMTOKEN.
691
692 Enumerations:
693
694 |**Value**|**Documentation**|
695 |DataSets|Only references data sets should be returned.|
696 |MetadataSets|Only references to metadata sets should be returned.|
697 |AllSets|References to both data sets and metadata sets should be returned.|