Wiki source code of Part VI. Registry

Version 2.2 by Helena on 2025/06/26 14:10

Show last authors
1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5
6 = 1. Introduction =
7
8 The registry schemas have been updated to reflect the various changes in the standard and to introduce new constructs for managing subscriptions. In addtion, the constructs that had existed for querying structural metadata have been removed as this is now handled by the query messages.
9
10 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.
11
12 = 2. Schema Documentation =
13 == 2.1 Registry Namespace ==
14
15 **http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/registry**
16
17 === 2.1.1 Summary ===
18
19 Referenced Namespaces:
20 |**Namespace**|**Prefix**
21 |http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/common|com
22 |http:~/~/www.sdmx.org/resources/sdmxml/schemas/v2_1/structure|str
23 |http:~/~/www.w3.org/2001/XMLSchema|xs
24
25 Contents:
26 39 Complex Types
27 5 Simple Types
28
29 === 2.1.2 Complex Types ===
30
31 **RegistrationType: **Registration provides the information needed for data and reference metadata set registration. A data source must be supplied here if not already provided in the provision agreement. The data set or metadata set must be associated with a provision agreement, a metadata flow, or a dataflow definition. If possible, the provision agreement should be specified. Only in cases where this is not possible should the dataflow or metadata flow be used.
32
33 Attributes:
34 id?, validFrom?, validTo?, lastUpdated?, indexTimeSeries?, indexDataSet?, indexAttributes?, indexReportingPeriod?
35
36 Content:
37 ProvisionAgreement, Datasource
38
39 Attribute Documentation:
40 |**Name**|**Type**|**Documentation**
41 |id|com:IDType|The id attribute 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.
42 |validFrom|xs:dateTime|The validFrom attribute 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.
43 |validTo|xs:dateTime|The validFrom attribute 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.
44 |lastUpdated|xs:dateTime|The lastUpdated attribute provides a timestamp for the last time the data source was updated.
45 |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 will always be assumed false when the provision agreement references a metadata flow.
46 |indexDataSet (default: false)|xs:boolean|The indexDataSet, if true, indicates that the registry must index the range of actual (present) values for each dimension of the data set or identifier component of the metadata set (as indicated in the set's structure definition). The default value is false.
47 |indexAttributes (default: false)|xs:boolean|The indexAttributes, if true, indicates that the registry must index the range of actual (present) values for each attribute of the data set or the presence of the metadata attributes of the metadata set (as indicated in the set's structure definition). The default value is false.
48 |indexReportingPeriod (default: false)|xs:boolean|The indexReportingPeriod, if true, indicates that the registry must index the time period ranges for which data is present for the data source. The default value is false, and the attribute will always be assumed false when the provision agreement references a metadata flow.
49
50 Element Documentation:
51 |**Name**|**Type**|**Documentation**
52 |ProvisionAgreement|com: ProvisionAgreementRe ferenceType|ProvisionAgreement provides a reference to the provision agreement that the data is being registered against.
53 |Datasource|DataSourceType|Datasource identifies the data source(s) where the registered data can be retrieved.
54
55 **DataSourceType: **DataSourceType specifies the properties of a data or metadata source. Either a simple data source, a queryable data source, or both must be specified.
56
57 Content:
58 (SimpleDataSource | QueryableDataSource)[1..2]
59
60 Element Documentation:
61 |**Name**|**Type**|**Documentation**
62 |SimpleDataSource|xs:anyURI|SimpleDatasource describes a data source that is an SDMX-ML data or metadata message. It requires only the URL of the data.
63 |QueryableDataSource|QueryableDataSourceT ype|QueryableDatasource describes a data source that must be able to accept an SDMX-ML Query Message, and respond appropriately.
64
65 **SimpleDataSourceType: **SimpleDataSourceType describes a simple data source. The URL of the data is contained in the content.
66
67 Derivation:
68 * xs:anySimpleType (restriction)
69 ** xs:anyURI (extension)
70 *** SimpleDataSourceType
71
72 Attributes:
73 TYPE?
74
75 Content:
76 Attribute Documentation:
77
78 |**Name**|**Type**|**Documentation**
79 |TYPE (fixed: SIMPLE)|xs:string|TYPE is a fixed attribute that is used to ensure only one simple data source may be provided, when it is referenced in a uniqueness constraint.
80
81 **QueryableDataSourceType: **QueryableDataSourceType describes a queryable data source, and add a fixed attribute for ensuring only one queryable source can be provided.
82
83 Derivation:
84 * com:QueryableDataSourceType (extension)
85 ** QueryableDataSourceType
86
87 Attributes:
88 isRESTDatasource, isWebServiceDatasource, TYPE?
89
90 Content:
91 com:DataURL, com:WSDLURL?, com:WADLURL?
92
93 Attribute Documentation:
94 |**Name**|**Type**|**Documentation**
95 |isRESTDatasource|xs:boolean|The isRESTDatasource attribute indicates, if true, that the queryable data source is accessible via the REST protocol.
96 |isWebServiceDatasource|xs:boolean|The isWebServiceDatasource attribute indicates, if true, that the queryable data source is accessible via Web Services protocols.
97 |TYPE (fixed: QUERY)|xs:string|TYPE is a fixed attribute that is used to ensure only one queryable data source may be provided, when it is referenced in a uniqueness constraint.
98
99 Element Documentation:
100 |**Name**|**Type**|**Documentation**
101 |com:DataURL|xs:anyURI|DataURL contains the URL of the data source.
102 |com:WSDLURL|xs:anyURI|WSDLURL provides the location of a WSDL instance on the internet which describes the queryable data source.
103 |com:WADLURL|xs:anyURI|WADLURL provides the location of a WADL instance on the internet which describes the REST protocol of the queryable data source.
104
105 **IdentifiableQueryType: **IdentifiableQueryType describes the structure of a query for an identifiable object.
106
107 Attributes:
108 id?
109
110 Content:
111 {Empty}
112
113 Attribute Documentation:
114 |**Name**|**Type**|**Documentation**
115 |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.
116
117 **VersionableQueryType: **VersionableQueryType describes the structure of a query for a versionable object.
118
119 Derivation:
120 * IdentifiableQueryType (extension)
121 ** VersionableQueryType
122
123 Attributes:
124 id?, version?
125
126 Content:
127 {Empty}
128
129 Attribute Documentation:
130 |**Name**|**Type**|**Documentation**
131 |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.
132 |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.
133
134 **MaintainableQueryType: **MaintainableQueryType describes the structure of a query for a maintainable object.
135
136 Derivation:
137
138 IdentifiableQueryType (extension)
139 [[image:Macintosh%20HD:Users:j:Documents:workspace_neon:xsd-docuementation:output:inherit.gif||alt="-"]] VersionableQueryType (extension)
140 [[image:Macintosh%20HD:Users:j:Documents:workspace_neon:xsd-docuementation:output:inherit.gif||alt="-"]] MaintainableQueryType
141
142 Attributes:
143
144 id?, version?, agencyID?
145
146 Content:
147
148 {Empty}
149
150 Attribute Documentation:
151
152 |**Name**|**Type**|**Documentation**
153 |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.
154 |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.
155 |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.
156
157 **StatusMessageType: **StatusMessageType carries the text of error messages and/or warnings in response to queries or requests.
158
159 Attributes:
160
161 status
162
163 Content:
164
165 MessageText*
166
167 Attribute Documentation:
168
169 |**Name**|**Type**|**Documentation**
170 |status|StatusType|The status attribute carries the status of the query or request.
171
172 Element Documentation:
173
174 |**Name**|**Type**|**Documentation**
175 |MessageText|com: 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.
176
177 **SubmitRegistrationsRequestType: **SubmitRegistrationsRequestType defines the payload of a request message used to submit addtions, updates, or deletions of data/metadata set registrations.
178
179 Content:
180
181 RegistrationRequest+
182
183 Element Documentation:
184
185 |**Name**|**Type**|**Documentation**
186 |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.
187
188 **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.
189
190 Attributes:
191
192 action
193
194 Content:
195
196 Registration
197
198 Attribute Documentation:
199
200 |**Name**|**Type**|**Documentation**
201 |action|com:ActionType|The action attribute indicates whether this is an addition, a modification, or a deletion of a registration.
202
203 Element Documentation:
204
205 |**Name**|**Type**|**Documentation**
206 |Registration|RegistrationType|Registration contains the details of the data/metadata set registration to be added, updated, or deleted.
207
208 **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.
209
210 Content:
211
212 RegistrationStatus+
213
214 Element Documentation:
215
216 |**Name**|**Type**|**Documentation**
217 |RegistrationStatus|RegistrationStatusTy pe|RegistrationStatus provided the status details for the submitted registration. It echoes the original submission and provides status information about the request.
218
219 **RegistrationStatusType: **RegistrationStatusType describes the structure of a registration status.
220
221 Content:
222
223 Registration, StatusMessage
224
225 Element Documentation:
226
227 |**Name**|**Type**|**Documentation**
228 |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.
229 |StatusMessage|StatusMessageType|StatusMessage provides that status for the registration request, and if necessary, any error or warning information.
230
231 **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.
232
233 Attributes:
234
235 returnConstraints?
236
237 Content:
238
239 QueryType, (All | ProvisionAgreement | DataProvider | Dataflow | Metadataflow), ReferencePeriod?, (DataKeySet | MetadataKeySet | CubeRegion | MetadataTargetRegion)*
240
241 Attribute Documentation:
242
243 |**Name**|**Type**|**Documentation**
244 |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.
245
246 Element Documentation:
247
248 |**Name**|**Type**|**Documentation**
249 |QueryType|QueryTypeType|QueryType defines the type of sets (data, metadata, or both) that are being queried for.
250 |All|com:EmptyType|All indicates that all registrations meeting the other criteria of the query should be returned.
251 |ProvisionAgreement|com: 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.
252 |DataProvider|com: 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.
253 |Dataflow|com: 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.
254 |Metadataflow|com: 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
255 |ReferencePeriod|com: ReferencePeriodType|ReferencePeriod provides an inclusive start and end date for the data or metadata being sought.
256 |DataKeySet|str:DataKeySetType|DataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought.
257 |MetadataKeySet|str: MetadataKeySetType|MetadataKeySet is used to provide a set of included or excluded keys which serves to refine the data being sought.
258 |CubeRegion|com:CubeRegionType|CubeRegion is used to provide sets of include or excluded values for dimensions when querying for data.
259 |MetadataTargetRegion|com: MetadataTargetRegion Type|MetadataTargetRegion is used to provide sets of included or excluded values for identifier components when querying for metadata.
260
261 **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.
262
263 Content:
264
265 StatusMessage, QueryResult*
266
267 Element Documentation:
268
269 |**Name**|**Type**|**Documentation**
270 |StatusMessage|StatusMessageType|StatusMessage provides that status for the registration query request, and if necessary, any error or warning information.
271 |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.
272
273 **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.
274
275 Attributes:
276
277 timeSeriesMatch
278
279 Content:
280
281 (DataResult | MetadataResult)
282
283 Attribute Documentation:
284
285 |**Name**|**Type**|**Documentation**
286 |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.
287
288 Element Documentation:
289
290 |**Name**|**Type**|**Documentation**
291 |DataResult|ResultType|
292 |MetadataResult|ResultType|
293
294 **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.
295
296 Content:
297
298 Registration, ContentConstraint*
299
300 Element Documentation:
301
302 |**Name**|**Type**|**Documentation**
303 |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.
304 |ContentConstraint|com: ContentConstraintRef erenceType|ContentConstraint provides a reference to a content 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.
305
306 **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.
307
308 Attributes:
309
310 action?, externalDependencies?
311
312 Content:
313
314 (StructureLocation | str:Structures), SubmittedStructure*
315
316 Attribute Documentation:
317
318 |**Name**|**Type**|**Documentation**
319 |action (default: Append)|com: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 |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.
326 |str:Structures|str:StructuresType|Structures allows for the inline definition of structural components for submission.
327 |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.
328
329 **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.
330
331 Attributes:
332
333 action?, externalDependencies?
334
335 Content:
336
337 MaintainableObject
338
339 Attribute Documentation:
340
341 |**Name**|**Type**|**Documentation**
342 |action|com: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.
343 |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 key family 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.
344
345 Element Documentation:
346
347 |**Name**|**Type**|**Documentation**
348 |MaintainableObject|com: MaintainableReferenc eType|
349
350 **SubmitStructureResponseType: **SubmitStructureResponseType describes the structure of a response to a structure submission. For each submitted structure, a Result will be returned.
351
352 Content:
353
354 SubmissionResult+
355
356 Element Documentation:
357
358 |**Name**|**Type**|**Documentation**
359 |SubmissionResult|SubmissionResultType|SubmissionResult provides a status for each submitted structural object.
360
361 **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.
362
363 Content:
364
365 SubmittedStructure, StatusMessage
366
367 Element Documentation:
368
369 |**Name**|**Type**|**Documentation**
370 |SubmittedStructure|SubmittedStructureTy pe|SubmittedStructure provides a reference to the submitted structural object and echoes back the action requested for it.
371 |StatusMessage|StatusMessageType|StatusMessage provides that status for the submission of the structural object, and if necessary, any error or warning information.
372
373 **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.
374
375 Content:
376
377 SubscriptionRequest+
378
379 Element Documentation:
380
381 |**Name**|**Type**|**Documentation**
382 |SubscriptionRequest|SubscriptionRequestT ype|
383
384 **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.
385
386 Content:
387
388 Organisation, RegistryURN?, NotificationMailTo*, NotificationHTTP*, SubscriberAssignedID?, ValidityPeriod, EventSelector
389
390 Element Documentation:
391
392 |**Name**|**Type**|**Documentation**
393 |Organisation|com: 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.
394 |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.
395 |NotificationMailTo|NotificationURLType|NotificationMailTo holds an e-mail address (the "mailto~:" protocol). Multiple email address can be notified for a single subscription.
396 |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.
397 |SubscriberAssignedID|com: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.
398 |ValidityPeriod|ValidityPeriodType|Validity period sets a start and end date for the subscription.
399 |EventSelector|EventSelectorType|EventSelector indicates an event or events for the subscription.
400
401 **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.
402
403 Attributes:
404
405 action
406
407 Content:
408
409 Subscription
410
411 Attribute Documentation:
412
413 |**Name**|**Type**|**Documentation**
414 |action|com:ActionType|The action attribute indicates whether this is an addition, a modification, or a deletion of a subscription.
415
416 Element Documentation:
417
418 |**Name**|**Type**|**Documentation**
419 |Subscription|SubscriptionType|Subscription contains the details of the subscription to be added, updated, or deleted.
420
421 **SubmitSubscriptionsResponseType: **SubmitSubscriptionsResponseType describes the structure of the response to a new subscription submission. A status is provided for each subscription in the request.
422
423 Content:
424
425 SubscriptionStatus+
426
427 Element Documentation:
428
429 |**Name**|**Type**|**Documentation**
430 |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.
431
432 **SubscriptionStatusType: **SubscriptionStatusType describes the structure a status for a single subscription request.
433
434 Content:
435
436 SubscriptionURN?, SubscriberAssignedID?, StatusMessage
437
438 Element Documentation:
439
440 |**Name**|**Type**|**Documentation**
441 |SubscriptionURN|xs:anyURI|SubscriptionURN contains the registry generated URN for the subscription, and will be returned for any successfully created, updated, or deleted subscription.
442 |SubscriberAssignedID|com:IDType|SubscriberAssignedID is the id assigned by the subscriber to the subscription. If it existed in the subscription request, it will be returned.
443 |StatusMessage|StatusMessageType|StatusMessage provides that status for the subscription request, and if necessary, any error or warning information.
444
445 **QuerySubscriptionRequestType: **QuerySubscriptionRequestType describes the structure of a query for subscriptions. Subscriptions for a given organisation may be retrieved.
446
447 Content:
448
449 Organisation
450
451 Element Documentation:
452
453 |**Name**|**Type**|**Documentation**
454 |Organisation|com: 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
460 StatusMessage, Subscription*
461
462 Element Documentation:
463
464 |**Name**|**Type**|**Documentation**
465 |StatusMessage|StatusMessageType|StatusMessage provides that status for the query subscription request, and if necessary, any error or warning information.
466 |Subscription|SubscriptionType|Subscription contains the details of a subscription for the organisation. This may occur multiple times for each subscription.
467
468 **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.
469
470 Content:
471
472 EventTime, (ObjectURN | RegistrationID), SubscriptionURN, EventAction, (StructuralEvent | RegistrationEvent)?
473
474 Element Documentation:
475
476 |**Name**|**Type**|**Documentation**
477 |EventTime|xs:dateTime|EventTime specifies the time of the triggering event.
478 |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.
479 |RegistrationID|com:IDType|RegistrationID provides the id of the registration that underwent an event.
480 |SubscriptionURN|xs:anyURI|SubscriptionURN provides the registry/repository URN of the subscription that is the cause of this notification being sent.
481 |EventAction|com:ActionType|EventAction indicates the nature of the event - whether the action was an addition, a modification, or a deletion.
482 |StructuralEvent|StructuralEventType|StructuralEvent is used to provide the details of the structural object that has changed.
483 |RegistrationEvent|RegistrationEventTyp e|RegistrationEvent is used to provide the details or the registration object that has changed.
484
485 **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.
486
487 Derivation:
488
489 xs:anySimpleType (restriction)
490 [[image:Macintosh%20HD:Users:j:Documents:workspace_neon:xsd-docuementation:output:inherit.gif||alt="-"]] xs:anyURI (extension)
491 [[image:Macintosh%20HD:Users:j:Documents:workspace_neon:xsd-docuementation:output:inherit.gif||alt="-"]] NotificationURLType
492
493 Attributes:
494
495 isSOAP?
496
497 Content:
498
499 Attribute Documentation:
500
501 |**Name**|**Type**|**Documentation**
502 |isSOAP (default: false)|xs:boolean|The isSOAP attribute, if true, indicates the provided URL expects the notification to be sent in a SOAP message.
503
504 **ValidityPeriodType: **ValidityPeriodType specifies inclusive start and end-dates for the subscription period.
505
506 Content:
507
508 StartDate, EndDate
509
510 Element Documentation:
511
512 |**Name**|**Type**|**Documentation**
513 |StartDate|xs:date|StartDate is an inclusive start date for the subscription.
514 |EndDate|xs:date|EndDate is an inclusive end date for the subscription.
515
516 **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.
517
518 Content:
519
520 (StructuralRepositoryEvents | DataRegistrationEvents | MetadataRegistrationEvents)[1..3]
521
522 Element Documentation:
523
524 |**Name**|**Type**|**Documentation**
525 |StructuralRepository Events|StructuralRepository EventsType|StructuralRepositoryEvents details structural events for the subscription.
526 |DataRegistrationEven ts|DataRegistrationEven tsType|DataRegistrationEvents details the data registration events for the subscription.
527 |MetadataRegistration Events|MetadataRegistration EventsType|MetadataRegistrationEvents details the metadata registration events for the subscription.
528
529 **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.
530
531 Attributes:
532
533 TYPE?
534
535 Content:
536
537 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)+)
538
539 Attribute Documentation:
540
541 |**Name**|**Type**|**Documentation**
542 |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.
543
544 Element Documentation:
545
546 |**Name**|**Type**|**Documentation**
547 |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.
548 |AllEvents|com:EmptyType|AllEvents creates a subscription to structural events for all structural objects maintained by the agencies referenced.
549 |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.
550 |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.
551 |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.
552 |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.
553 |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.
554 |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.
555 |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.
556 |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.
557 |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.
558 |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.
559 |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.
560 |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.
561 |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.
562 |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.
563 |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.
564 |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.
565 |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.
566 |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.
567 |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.
568 |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.
569 |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.
570 |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.
571 |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.
572 |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.
573
574 **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.
575
576 Content:
577
578 (All | URN | ID)
579
580 Element Documentation:
581
582 |**Name**|**Type**|**Documentation**
583 |All|com:EmptyType|All subscribes to the events all instances of the containing object meeting the other criteria specified.
584 |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.
585 |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("%").
586
587 **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.
588
589 Content:
590
591 (All | URN | (ID, Version))
592
593 Element Documentation:
594
595 |**Name**|**Type**|**Documentation**
596 |All|com:EmptyType|All subscribes to the events all instances of the containing object meeting the other criteria specified.
597 |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.
598 |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("%").
599 |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("*").
600
601 **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.
602
603 Attributes:
604
605 TYPE?
606
607 Content:
608
609 (AllEvents | (RegistrationID | ProvisionAgreement | DataProvider | DataflowReference | KeyFamilyReference | Category)+)
610
611 Attribute Documentation:
612
613 |**Name**|**Type**|**Documentation**
614 |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.
615
616 Element Documentation:
617
618 |**Name**|**Type**|**Documentation**
619 |AllEvents|com:EmptyType|AllEvents subscribes to all data registration events in the repository.
620 |RegistrationID|com:IDType|RegistrationID subscribes to all the data registration events for the unique registration referenced.
621 |ProvisionAgreement|com: ProvisionAgreementRe ferenceType|ProvisionAgreementReference subscribes to all data registration events for the explicitly referenced provision agreement.
622 |DataProvider|com: DataProviderReferenc eType|DataProviderReference subscribes to all data registration events for the explicitly referenced data provider.
623 |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.
624 |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.
625 |Category|com: CategoryReferenceTyp e|Category subscribes to all data registration events for any data flows or key families that are categorized by the referenced category.
626
627 **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.
628
629 Attributes:
630
631 TYPE?
632
633 Content:
634
635 (AllEvents | (RegistrationID | ProvisionAgreement | DataProvider | MetadataflowReference | MetadataStructureDefinitionReference | Category)+)
636
637 Attribute Documentation:
638
639 |**Name**|**Type**|**Documentation**
640 |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.
641
642 Element Documentation:
643
644 |**Name**|**Type**|**Documentation**
645 |AllEvents|com:EmptyType|AllEvents subscribes to all metadata registration events in the repository.
646 |RegistrationID|com:IDType|RegistrationID subscribes to all the metadata registration events for the unique registration referenced.
647 |ProvisionAgreement|com: ProvisionAgreementRe ferenceType|ProvisionAgreementReference subscribes to all metadata registration events for the explicitly referenced provision agreement.
648 |DataProvider|com: DataProviderReferenc eType|DataProvider subscribes to all metadata registration events for the explicitly referenced data provider.
649 |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.
650 |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.
651 |Category|com: CategoryReferenceTyp e|Category subscribes to all metadata registration events for any metadata flows or metadata structure definitions that are categorized by the referenced category.
652
653 **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.
654
655 Content:
656
657 (URN | Ref)
658
659 Element Documentation:
660
661 |**Name**|**Type**|**Documentation**
662 |URN|xs:anyURI|URN provides an explicit reference to a single object.
663 |Ref|MaintainableQueryTyp e|Ref provides a reference to potentially many object through the use of possible wild-carded reference fields.
664
665 **StructuralEventType: **StructuralEventType provides the details of a structure event, specifically the object that changed.
666
667 Content:
668
669 str:Structures
670
671 Element Documentation:
672
673 |**Name**|**Type**|**Documentation**
674 |str:Structures|str: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.
675
676 **RegistrationEventType: **This provides the details of a data or metadata registration event for the purposes of notification.
677
678 Content:
679
680 Registration
681
682 Element Documentation:
683
684 |**Name**|**Type**|**Documentation**
685 |Registration|RegistrationType|Registration provides the changed details of the data or metadata registration.
686
687 1.
688 11.
689 111. Simple Types
690
691 **IDQueryType: **IDQueryType is a simple type that allows for an identifier to be substituted with a wild card character ("%").
692
693 Union of:
694
695 com:IDType, com:WildCardValueType.
696
697 **NestedIDQueryType: **NestedIDQueryType is a simple type that allows for a nested identifier to be substituted with a wild card character ("%").
698
699 Union of:
700
701 com:NestedIDType, com:WildCardValueType.
702
703 **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 ("*").
704
705 Union of:
706
707 com:VersionType, com:LateBoundVersionType, com:WildCardValueType.
708
709 **StatusType: **StatusType provides an enumeration of values that detail the status of queries or requests.
710
711 Derived by restriction of xs:NMTOKEN .
712
713 Enumerations:
714
715 |**Value**|**Documentation**
716 |Success|Query or request successful.
717 |Warning|Query or request successful, but with warnings.
718 |Failure|Query or request not successful.
719
720 **QueryTypeType: **QueryType provides an enumeration of values which specify the objects in the result-set for a registry query.
721
722 Derived by restriction of xs:NMTOKEN .
723
724 Enumerations:
725
726 |**Value**|**Documentation**
727 |DataSets|Only references data sets should be returned.
728 |MetadataSets|Only references to metadata sets should be returned.
729 |AllSets|References to both data sets and metadata sets should be returned.
730
731