source: RevitalizationWS/schemas/dataProvider/trunk/src/main/resources/DPWS.xsd @ 7234

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/RevitalizationWS/schemas/dataProvider/trunk/src/main/resources/DPWS.xsd@7234
Revision 7234, 17.4 KB checked in by sdonegan, 9 years ago (diff)

Added mandatory provider email to provider contact type

  • Property svn:executable set to *
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Steve Donegan (NERC Earth Observation Data Centre) -->
3<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
4        <xs:annotation>
5                <xs:documentation>Basic service operation requests</xs:documentation>
6        </xs:annotation>
7        <xs:element name="DoHarvestRequest">
8                <xs:annotation>
9                        <xs:documentation>Initiate an OAI or CSW metadata harvest from the specified provider</xs:documentation>
10                </xs:annotation>
11                <xs:complexType>
12                        <xs:sequence>
13                                <xs:element name="HarvestType" type="HarvestType">
14                                        <xs:annotation>
15                                                <xs:documentation>OAI, CSW, ATOM etc etc</xs:documentation>
16                                        </xs:annotation>
17                                </xs:element>
18                                <xs:element name="ProviderDetails" type="ProviderContactType">
19                                        <xs:annotation>
20                                                <xs:documentation>When harvest complete - will send notification to email address if provided</xs:documentation>
21                                        </xs:annotation>
22                                </xs:element>
23                                <xs:choice>
24                                        <xs:element name="All" type="xs:string">
25                                                <xs:annotation>
26                                                        <xs:documentation>Harvest All Records</xs:documentation>
27                                                </xs:annotation>
28                                        </xs:element>
29                                        <xs:element name="New" type="xs:string">
30                                                <xs:annotation>
31                                                        <xs:documentation>Harvest only new records</xs:documentation>
32                                                </xs:annotation>
33                                        </xs:element>
34                                </xs:choice>
35                        </xs:sequence>
36                </xs:complexType>
37        </xs:element>
38        <xs:element name="DoIngestRequest">
39                <xs:annotation>
40                        <xs:documentation>Activate an ingest of all available metadata files for the specified provider</xs:documentation>
41                </xs:annotation>
42                <xs:complexType>
43                        <xs:sequence>
44                                <xs:element name="Provider" type="ProviderContactType">
45                                        <xs:annotation>
46                                                <xs:documentation>Value for Provider ID should be available in a list from the getLists operation.  When process completed notification will be sent to selected email address if provided</xs:documentation>
47                                        </xs:annotation>
48                                </xs:element>
49                        </xs:sequence>
50                </xs:complexType>
51        </xs:element>
52        <xs:element name="GetHarvestHistoryRequest">
53                <xs:annotation>
54                        <xs:documentation>Get information on OAI or CSW metadata harvesting histories for a date range</xs:documentation>
55                </xs:annotation>
56                <xs:complexType>
57                        <xs:sequence>
58                                <xs:element name="Provider" type="ProviderIDType"/>
59                                <xs:element name="DateRange" type="DataRangeType" minOccurs="0">
60                                        <xs:annotation>
61                                                <xs:documentation>If DateRange not present will default to the last 10 days</xs:documentation>
62                                        </xs:annotation>
63                                </xs:element>
64                        </xs:sequence>
65                </xs:complexType>
66        </xs:element>
67        <xs:complexType name="GetIngestHistoryRequest">
68                <xs:annotation>
69                        <xs:documentation>Get information on metadata ingest into the discovery database history for a date range</xs:documentation>
70                </xs:annotation>
71                <xs:sequence>
72                        <xs:element name="Provider" type="ProviderIDType"/>
73                        <xs:element name="DateRange" type="DataRangeType" minOccurs="0">
74                                <xs:annotation>
75                                        <xs:documentation>If DateRange not present will default to the last 10 days</xs:documentation>
76                                </xs:annotation>
77                        </xs:element>
78                </xs:sequence>
79        </xs:complexType>
80        <xs:element name="GetProviderStatsRequest">
81                <xs:annotation>
82                        <xs:documentation>Get basic statistics on records in the discovery database for provider N</xs:documentation>
83                </xs:annotation>
84                <xs:complexType>
85                        <xs:sequence>
86                                <xs:element name="Provider" type="ProviderIDType"/>
87                                <xs:element name="DateRange" type="DataRangeType" minOccurs="0"/>
88                        </xs:sequence>
89                </xs:complexType>
90        </xs:element>
91        <xs:element name="GetUsageStatsRequest">
92                <xs:annotation>
93                        <xs:documentation>Get basic statistic on usage of the Data Web Service (DWS)</xs:documentation>
94                </xs:annotation>
95                <xs:complexType>
96                        <xs:sequence>
97                                <xs:element name="DataRange" type="DataRangeType"/>
98                        </xs:sequence>
99                </xs:complexType>
100        </xs:element>
101        <xs:complexType name="GetProviderDetailsRequest">
102                <xs:annotation>
103                        <xs:documentation>Request details for provider N</xs:documentation>
104                </xs:annotation>
105                <xs:sequence>
106                        <xs:element name="ID" type="ProviderIDType"/>
107                </xs:sequence>
108        </xs:complexType>
109        <xs:element name="DoConfigureProviderDetails">
110                <xs:annotation>
111                        <xs:documentation>Change details for metadata provider N - includes OAI/CSW harvesting endpoints as well as provider N details</xs:documentation>
112                </xs:annotation>
113                <xs:complexType>
114                        <xs:sequence>
115                                <xs:element name="ID" type="ProviderIDType">
116                                        <xs:annotation>
117                                                <xs:documentation>Unique provider ID from getList list</xs:documentation>
118                                        </xs:annotation>
119                                </xs:element>
120                                <xs:element name="ProviderDetails" type="ProviderDetailsType"/>
121                                <xs:element name="ContactDetails" type="ProviderContactType" minOccurs="0"/>
122                        </xs:sequence>
123                </xs:complexType>
124        </xs:element>
125        <xs:element name="GetList" type="GetListType">
126                <xs:annotation>
127                        <xs:documentation>Get a list of values for list specified in GetListNames operation</xs:documentation>
128                </xs:annotation>
129        </xs:element>
130        <xs:element name="GetListNames" nillable="true">
131                <xs:annotation>
132                        <xs:documentation>Get names of lists used to define controlled values in this web service i.e. HarvestType</xs:documentation>
133                </xs:annotation>
134        </xs:element>
135        <xs:annotation>
136                <xs:documentation>Basic service operation returns</xs:documentation>
137        </xs:annotation>
138        <xs:element name="DoHarvestReturn">
139                <xs:annotation>
140                        <xs:documentation>Return confirmation on status of metadata harvest and relevant report</xs:documentation>
141                </xs:annotation>
142                <xs:complexType>
143                        <xs:sequence>
144                                <xs:element name="Confirmation" type="ConfirmationType"/>
145                                <xs:element name="HarvestInformation" type="HarvestInformationType" minOccurs="0"/>
146                        </xs:sequence>
147                </xs:complexType>
148        </xs:element>
149        <xs:element name="DoIngestReturn">
150                <xs:annotation>
151                        <xs:documentation>Return confirmation on status of metadata ingest and relevant report</xs:documentation>
152                </xs:annotation>
153                <xs:complexType>
154                        <xs:sequence>
155                                <xs:element name="Confirmation" type="ConfirmationType">
156                                        <xs:annotation>
157                                                <xs:documentation>Confirm that ingestion has been initiated.  Ingestion may take many tens of minutes so confirmation message will inform that selected email address in request will be emailed when ingest complete</xs:documentation>
158                                        </xs:annotation>
159                                </xs:element>
160                        </xs:sequence>
161                </xs:complexType>
162        </xs:element>
163        <xs:element name="GetHarvestHistoryReturn">
164                <xs:annotation>
165                        <xs:documentation>Return information on previous metadata harvesting</xs:documentation>
166                </xs:annotation>
167                <xs:complexType>
168                        <xs:sequence>
169                                <xs:element name="Confirmation" type="ConfirmationType"/>
170                                <xs:element name="HarvestingEvent" type="HarvestInformationType" minOccurs="0" maxOccurs="unbounded">
171                                        <xs:annotation>
172                                                <xs:documentation>One per event in log within the date range in the request (default is last 10 days)</xs:documentation>
173                                        </xs:annotation>
174                                </xs:element>
175                        </xs:sequence>
176                </xs:complexType>
177        </xs:element>
178        <xs:complexType name="GetIngestHistoryReturn">
179                <xs:annotation>
180                        <xs:documentation>Return information on previous metadata ingestion</xs:documentation>
181                </xs:annotation>
182                <xs:sequence>
183                        <xs:element name="Confirmation" type="ConfirmationType"/>
184                        <xs:element name="IngestEvent" type="IngestInformationType" minOccurs="0" maxOccurs="unbounded">
185                                <xs:annotation>
186                                        <xs:documentation>One per event in log within the date range in the request (default is last 10 days)</xs:documentation>
187                                </xs:annotation>
188                        </xs:element>
189                </xs:sequence>
190        </xs:complexType>
191        <xs:element name="GetProviderStatsReturn">
192                <xs:annotation>
193                        <xs:documentation>Return statistics on data provider assets in the discovery database</xs:documentation>
194                </xs:annotation>
195                <xs:complexType>
196                        <xs:sequence>
197                                <xs:element name="Confirmation" type="ConfirmationType"/>
198                                <xs:element name="Statistics" type="StatisticsType"/>
199                        </xs:sequence>
200                </xs:complexType>
201        </xs:element>
202        <xs:element name="GetUsageStatsReturn">
203                <xs:annotation>
204                        <xs:documentation>Return statistics on client access to the Discovery Web Service (DWS)</xs:documentation>
205                </xs:annotation>
206                <xs:complexType>
207                        <xs:sequence>
208                                <xs:element name="Confirmation" type="ConfirmationType"/>
209                                <xs:element name="Statistics" type="StatisticsType"/>
210                        </xs:sequence>
211                </xs:complexType>
212        </xs:element>
213        <xs:complexType name="GetProviderDetailsReturn">
214                <xs:annotation>
215                        <xs:documentation>Return information on Provider N's details</xs:documentation>
216                </xs:annotation>
217                <xs:sequence>
218                        <xs:element name="Confirmation" type="ConfirmationType"/>
219                        <xs:element name="HarvestDetails" type="ProviderDetailsType"/>
220                        <xs:element name="ContactDetails" type="ProviderContactType"/>
221                </xs:sequence>
222        </xs:complexType>
223        <xs:element name="DoConfigureProviderDetailsReturn">
224                <xs:annotation>
225                        <xs:documentation>Confirmation of update to Provider N's details</xs:documentation>
226                </xs:annotation>
227                <xs:complexType>
228                        <xs:sequence>
229                                <xs:element name="Confirmation" type="ConfirmationType"/>
230                        </xs:sequence>
231                </xs:complexType>
232        </xs:element>
233        <xs:element name="GetListReturn" type="GetListReturnType">
234                <xs:annotation>
235                        <xs:documentation>Return values in chosen List N</xs:documentation>
236                </xs:annotation>
237        </xs:element>
238        <xs:element name="GetListNamesReturn" type="GetListNamesReturnType">
239                <xs:annotation>
240                        <xs:documentation>Return names of lists used for controlled values</xs:documentation>
241                </xs:annotation>
242        </xs:element>
243        <xs:annotation>
244                <xs:documentation>Types</xs:documentation>
245        </xs:annotation>
246        <xs:complexType name="ProviderDetailsType">
247                <xs:sequence>
248                        <xs:element name="ProviderURL" type="xs:string">
249                                <xs:annotation>
250                                        <xs:documentation>URL of the Providers Metadata publisher i.e. OAI or CSW</xs:documentation>
251                                </xs:annotation>
252                        </xs:element>
253                        <xs:element name="Format" type="xs:string">
254                                <xs:annotation>
255                                        <xs:documentation>Format name (getList)</xs:documentation>
256                                </xs:annotation>
257                        </xs:element>
258                        <xs:element name="SetSpec" type="xs:string" minOccurs="0"/>
259                        <xs:element name="splitBySet" type="xs:boolean"/>
260                </xs:sequence>
261        </xs:complexType>
262        <xs:complexType name="GetListNamesReturnType">
263                <xs:sequence maxOccurs="unbounded">
264                        <xs:element name="listNames">
265                                <xs:complexType>
266                                        <xs:sequence>
267                                                <xs:element name="listName" type="xs:string" maxOccurs="unbounded"/>
268                                        </xs:sequence>
269                                </xs:complexType>
270                        </xs:element>
271                </xs:sequence>
272        </xs:complexType>
273        <xs:complexType name="GetListReturnType">
274                <xs:sequence>
275                        <xs:element name="list" minOccurs="0">
276                                <xs:complexType>
277                                        <xs:sequence>
278                                                <xs:element name="listMember" type="xs:string" maxOccurs="unbounded"/>
279                                        </xs:sequence>
280                                        <xs:attribute name="name" type="xs:string" use="required"/>
281                                </xs:complexType>
282                        </xs:element>
283                </xs:sequence>
284        </xs:complexType>
285        <xs:complexType name="ConfirmationType">
286                <xs:sequence>
287                        <xs:element name="Status" type="xs:string"/>
288                        <xs:element name="Message" type="xs:string"/>
289                </xs:sequence>
290        </xs:complexType>
291        <xs:complexType name="HarvestInformationType">
292                <xs:sequence>
293                        <xs:element name="RecordsHarvested" type="xs:string">
294                                <xs:annotation>
295                                        <xs:documentation>Number of records processed</xs:documentation>
296                                </xs:annotation>
297                        </xs:element>
298                        <xs:element name="RecordsUpdated" type="xs:string">
299                                <xs:annotation>
300                                        <xs:documentation>Number of records detected as new</xs:documentation>
301                                </xs:annotation>
302                        </xs:element>
303                        <xs:element name="ResumptionTokens" type="xs:string" minOccurs="0"/>
304                        <xs:element name="Message" minOccurs="0">
305                                <xs:annotation>
306                                        <xs:documentation>OAI harvesting message - can contain error string</xs:documentation>
307                                </xs:annotation>
308                        </xs:element>
309                        <xs:element name="HarvestStartTime" type="xs:string" minOccurs="0"/>
310                        <xs:element name="HarvestDuration" type="xs:string" minOccurs="0"/>
311                </xs:sequence>
312        </xs:complexType>
313        <xs:complexType name="IngestInformationType">
314                <xs:sequence>
315                        <xs:sequence>
316                                <xs:element name="Provider" type="ProviderIDType"/>
317                                <xs:element name="IngestDate" type="xs:string">
318                                        <xs:annotation>
319                                                <xs:documentation>Date/time of metadata ingest</xs:documentation>
320                                        </xs:annotation>
321                                </xs:element>
322                                <xs:element name="TotalNumberFilesProcessed" type="xs:string">
323                                        <xs:annotation>
324                                                <xs:documentation>Number of files processed - i.e. the number of files in the harvested XML director</xs:documentation>
325                                        </xs:annotation>
326                                </xs:element>
327                                <xs:element name="RecordsProcessedSuccessfully" type="xs:string">
328                                        <xs:annotation>
329                                                <xs:documentation>Number of files in the harvest directory successfully processed - NOTE this includes files that may have ingest errors</xs:documentation>
330                                        </xs:annotation>
331                                </xs:element>
332                                <xs:element name="RecordsProcessedUnsuccessfully" type="xs:string">
333                                        <xs:annotation>
334                                                <xs:documentation>Number of files that failed - mainly due to XML parsing errors during ingest</xs:documentation>
335                                        </xs:annotation>
336                                </xs:element>
337                                <xs:element name="RecordsCreated" type="xs:string">
338                                        <xs:annotation>
339                                                <xs:documentation>Number of records inserted into the discovery database for the first time</xs:documentation>
340                                        </xs:annotation>
341                                </xs:element>
342                                <xs:element name="RecordsUpdated" type="xs:string">
343                                        <xs:annotation>
344                                                <xs:documentation>Number of existing records in the discovery database that have been updated due to new content after harvesting</xs:documentation>
345                                        </xs:annotation>
346                                </xs:element>
347                                <xs:element name="RecordsDeleted" type="xs:string">
348                                        <xs:annotation>
349                                                <xs:documentation>Number of files deleted from the discovery database - will equate to files that were previously in the database but equivalent record on the providers CSW/OAI has been withdrawn so must be deleted from the database</xs:documentation>
350                                        </xs:annotation>
351                                </xs:element>
352                                <xs:element name="NumberOfProblemFiles" type="xs:string">
353                                        <xs:annotation>
354                                                <xs:documentation>Number of files that had a problem reported during ingest and not updated to the database - usually content type problems</xs:documentation>
355                                        </xs:annotation>
356                                </xs:element>
357                                <xs:element name="ProblemFileReport" minOccurs="0" maxOccurs="unbounded">
358                                        <xs:annotation>
359                                                <xs:documentation>Report for each file summarised in NumberOfProblemFiles</xs:documentation>
360                                        </xs:annotation>
361                                        <xs:complexType>
362                                                <xs:sequence>
363                                                        <xs:element name="ProblemFileName" type="xs:string">
364                                                                <xs:annotation>
365                                                                        <xs:documentation>xml filename</xs:documentation>
366                                                                </xs:annotation>
367                                                        </xs:element>
368                                                        <xs:element name="Message" type="xs:string">
369                                                                <xs:annotation>
370                                                                        <xs:documentation>error message thrown by the ingester</xs:documentation>
371                                                                </xs:annotation>
372                                                        </xs:element>
373                                                </xs:sequence>
374                                        </xs:complexType>
375                                </xs:element>
376                        </xs:sequence>
377                </xs:sequence>
378        </xs:complexType>
379        <xs:complexType name="ProviderContactType">
380                <xs:sequence>
381                        <xs:element name="ID" type="ProviderIDType"/>
382                        <xs:element name="ProviderName" type="xs:string" minOccurs="0">
383                                <xs:annotation>
384                                        <xs:documentation>Full provider name i.e. British Atmospheric Data Centre</xs:documentation>
385                                </xs:annotation>
386                        </xs:element>
387                        <xs:element name="ProviderEmail" type="xs:string" minOccurs="0" maxOccurs="unbounded">
388                                <xs:annotation>
389                                        <xs:documentation>Email addresses of contacts at Data Provider</xs:documentation>
390                                </xs:annotation>
391                        </xs:element>
392                        <xs:element name="ProviderAdminEmail">
393                                <xs:annotation>
394                                        <xs:documentation>Mandatory provider admin email</xs:documentation>
395                                </xs:annotation>
396                        </xs:element>
397                </xs:sequence>
398        </xs:complexType>
399        <xs:complexType name="ProviderIDType">
400                <xs:sequence>
401                        <xs:element name="ProviderID" type="xs:string">
402                                <xs:annotation>
403                                        <xs:documentation>This is the unique Data Providers short name i.e. BADC</xs:documentation>
404                                </xs:annotation>
405                        </xs:element>
406                </xs:sequence>
407        </xs:complexType>
408        <xs:complexType name="DataRangeType">
409                <xs:sequence>
410                        <xs:element name="Start">
411                                <xs:annotation>
412                                        <xs:documentation>start period for calculating statistics</xs:documentation>
413                                </xs:annotation>
414                        </xs:element>
415                        <xs:element name="End">
416                                <xs:annotation>
417                                        <xs:documentation>end period for calculating statistics</xs:documentation>
418                                </xs:annotation>
419                        </xs:element>
420                </xs:sequence>
421        </xs:complexType>
422        <xs:complexType name="GetListType">
423                <xs:sequence>
424                        <xs:element name="listName" type="xs:string"/>
425                </xs:sequence>
426        </xs:complexType>
427        <xs:complexType name="HarvestType">
428                <xs:sequence>
429                        <xs:element name="Type" type="xs:string">
430                                <xs:annotation>
431                                        <xs:documentation>OAI, CSW etc - should be name delimited list</xs:documentation>
432                                </xs:annotation>
433                        </xs:element>
434                </xs:sequence>
435        </xs:complexType>
436        <xs:complexType name="StatisticsType">
437                <xs:sequence>
438                        <xs:element name="Data" type="xs:string">
439                                <xs:annotation>
440                                        <xs:documentation>CDATA element containing information on statistics.  Information and structure may change.</xs:documentation>
441                                </xs:annotation>
442                        </xs:element>
443                </xs:sequence>
444        </xs:complexType>
445</xs:schema>
Note: See TracBrowser for help on using the repository browser.