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

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/RevitalizationWS/schemas/dataProvider/trunk/src/main/resources/DPWS.xsd
Revision 7986, 30.8 KB checked in by mnagni, 8 years ago (diff)

Improved the Timer service adding reference to ingest command

  • Property svn:executable set to *
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- edited by Maurizio Nagni (NERC Earth Observation Data Centre) -->
3<xs:schema elementFormDefault="qualified" attributeFormDefault="qualified"
4        xmlns:xs="http://www.w3.org/2001/XMLSchema"
5        targetNamespace="http://ejb.revitalization.services.ndg/"
6        xmlns:dpw="http://ejb.revitalization.services.ndg/">
7
8        <xs:annotation>
9                <xs:documentation>Basic service operation requests</xs:documentation>
10        </xs:annotation>
11
12        <!--###### GetList #####-->
13        <xs:element name="GetList" type="dpw:GetListType">
14                <xs:annotation>
15                        <xs:documentation>Get a list of values for list specified in GetListNames operation</xs:documentation>
16                </xs:annotation>
17        </xs:element>
18        <xs:element name="GetListResponse" type="dpw:GetListResponse">
19                <xs:annotation>
20                        <xs:documentation>Return values in chosen List N</xs:documentation>
21                </xs:annotation>
22        </xs:element>
23        <xs:complexType name="GetListResponse">
24                <xs:complexContent>
25                        <xs:extension base="dpw:ResponseType">
26                                <xs:sequence>
27                                        <xs:element name="ListNames" type="dpw:ListNames"/>
28                                </xs:sequence>
29                        </xs:extension>
30                </xs:complexContent>
31        </xs:complexType>
32
33        <!--###### GetListNames #####-->
34        <xs:element name="GetListNames" nillable="true">
35                <xs:annotation>
36                        <xs:documentation>Get names of lists used to define controlled values in this web service i.e. HarvestType</xs:documentation>
37                </xs:annotation>
38        </xs:element>
39        <xs:element name="GetListNamesResponseType" type="dpw:GetListNamesResponse">
40                <xs:annotation>
41                        <xs:documentation>Return names of lists used for controlled values</xs:documentation>
42                </xs:annotation>
43        </xs:element>
44        <xs:complexType name="GetListNamesResponse">
45                <xs:complexContent>
46                        <xs:extension base="dpw:ResponseType">
47                                <xs:sequence>
48                                        <xs:element name="ListNames" type="dpw:ListNames"/>
49                                </xs:sequence>
50                        </xs:extension>
51                </xs:complexContent>
52        </xs:complexType>
53
54        <!--###### DoNewProvider #####-->
55        <xs:element name="DoHarvestRequest">
56                <xs:annotation>
57                        <xs:documentation>Initiate an OAI or CSW metadata harvest from the specified provider</xs:documentation>
58                </xs:annotation>
59                <xs:complexType>
60                        <xs:sequence>
61                                <xs:element name="EmailReportID" type="xs:int" minOccurs="0" maxOccurs="unbounded">
62                                        <xs:annotation>
63                                                <xs:documentation>Email of person(s) to send harvest confirmation email to</xs:documentation>
64                                        </xs:annotation>
65                                </xs:element>
66                                <xs:element name="ProviderID" type="xs:int">
67                                        <xs:annotation>
68                                                <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
69                                        </xs:annotation>
70                                </xs:element>
71                        </xs:sequence>
72                </xs:complexType>
73        </xs:element>
74        <xs:element name="DoHarvestResponseType" type="dpw:DoHarvestResponse">
75                <xs:annotation>
76                        <xs:documentation>Return confirmation on status of metadata harvest and relevant report</xs:documentation>
77                </xs:annotation>
78        </xs:element>
79        <xs:complexType name="DoHarvestResponse">
80                <xs:complexContent>
81                        <xs:extension base="dpw:ResponseType">
82                                <xs:sequence>
83                                        <xs:element name="processID" type="dpw:ProcessIDType"/>
84                                </xs:sequence>
85                        </xs:extension>
86                </xs:complexContent>
87        </xs:complexType>
88
89
90        <!--###### DoNewProvider #####-->
91        <xs:element name="DoNewUpdateProviderRequest">
92                <xs:complexType>
93                        <xs:sequence>
94                                <xs:element name="DoNewUpdateProvider" type="dpw:ProviderDetail"/>
95                        </xs:sequence>
96                </xs:complexType>
97        </xs:element>
98
99        <xs:element name="DoNewUpdateProviderResponse" type="dpw:DoNewUpdateProviderResponse">
100                <xs:annotation>
101                        <xs:documentation>Confirmation of addition of NEW metadata provider details (super admin only)</xs:documentation>
102                </xs:annotation>
103        </xs:element>
104        <xs:complexType name="DoNewUpdateProviderResponse">
105                <xs:complexContent>
106                        <xs:extension base="dpw:ResponseType">
107                                <xs:sequence>
108                                        <xs:element ref="dpw:Provider"/>
109                                </xs:sequence>
110                        </xs:extension>
111                </xs:complexContent>
112        </xs:complexType>
113
114        <!--###### GetProviderDetails #####-->
115        <xs:element name="GetProviderDetailsRequest">
116                <xs:complexType>
117                        <xs:sequence>
118                                <xs:element name="ProviderID" type="xs:int" maxOccurs="unbounded">
119                                        <xs:annotation>
120                                                <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
121                                        </xs:annotation>
122                                </xs:element>
123                        </xs:sequence>
124                </xs:complexType>
125        </xs:element>
126
127        <xs:element name="GetProviderDetailsResponse" type="dpw:GetProviderDetailsResponse"/>
128        <xs:complexType name="GetProviderDetailsResponse">
129                <xs:complexContent>
130                        <xs:extension base="dpw:ResponseType">
131                                <xs:sequence maxOccurs="unbounded">
132                                        <xs:element name="Provider" type="dpw:ProviderDetail"/>
133                                </xs:sequence>
134                        </xs:extension>
135                </xs:complexContent>
136        </xs:complexType>
137
138        <!--###### GetProviderStatistic #####-->
139        <xs:element name="GetProviderStatisticRequest">
140                <xs:complexType>
141                        <xs:sequence>
142                                <xs:element name="ProviderID" type="xs:int" maxOccurs="unbounded">
143                                        <xs:annotation>
144                                                <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
145                                        </xs:annotation>
146                                </xs:element>
147                        </xs:sequence>
148                </xs:complexType>
149        </xs:element>
150
151        <xs:element name="GetProviderStatisticResponse" type="dpw:GetProviderStatisticResponse"/>
152        <xs:complexType name="GetProviderStatisticResponse">
153                <xs:complexContent>
154                        <xs:extension base="dpw:ResponseType">
155                                <xs:sequence maxOccurs="unbounded">
156                                        <xs:element name="Provider" type="dpw:ProviderStatistic"/>
157                                </xs:sequence>
158                        </xs:extension>
159                </xs:complexContent>
160        </xs:complexType>
161
162        <!--###### DeleteProvider #####-->
163        <xs:element name="DeleteProviderRequest">
164                <xs:complexType>
165                        <xs:sequence>
166                                <xs:element name="ProviderID" type="xs:int" maxOccurs="unbounded">
167                                        <xs:annotation>
168                                                <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
169                                        </xs:annotation>
170                                </xs:element>
171                        </xs:sequence>
172                </xs:complexType>
173        </xs:element>
174
175        <xs:element name="DeleteProviderResponse" type="dpw:DeleteProviderResponse"/>
176        <xs:complexType name="DeleteProviderResponse">
177                <xs:complexContent>
178                        <xs:extension base="dpw:ResponseType"/>
179                </xs:complexContent>
180        </xs:complexType>
181
182        <!--###### GetProcessStatus #####-->
183        <xs:element name="GetProcessStatusRequest">
184                <xs:complexType>
185                        <xs:sequence maxOccurs="unbounded">
186                                <xs:element name="ProcessID" type="xs:int"/>
187                        </xs:sequence>
188                </xs:complexType>
189        </xs:element>
190        <xs:element name="GetProcessStatusResponseType" type="dpw:GetProcessStatusResponse"/>
191
192
193        <xs:complexType name="GetProcessStatusResponse">
194                <xs:complexContent>
195                        <xs:extension base="dpw:ResponseType">
196                                <xs:sequence>
197                                        <xs:element name="ProcessID" type="dpw:ProcessIDType" maxOccurs="unbounded"/>
198                                </xs:sequence>
199                        </xs:extension>
200                </xs:complexContent>
201        </xs:complexType>
202
203        <!--###### GetHarvestHistory #####-->
204        <xs:element name="GetHarvestHistoryRequest" type="dpw:GetHistoryRequest">
205                <xs:annotation>
206                        <xs:documentation>Get information on OAI or CSW metadata harvesting histories for a date range</xs:documentation>
207                </xs:annotation>
208        </xs:element>
209
210        <xs:element name="GetHarvestHistoryResponse" type="dpw:GetHarvestHistoryResponse">
211                <xs:annotation>
212                        <xs:documentation>Return information on previous metadata harvesting</xs:documentation>
213                </xs:annotation>
214        </xs:element>
215
216        <xs:complexType name="GetHarvestHistoryResponse">
217                <xs:complexContent>
218                        <xs:extension base="dpw:ResponseType">
219                                <xs:sequence maxOccurs="unbounded">
220                                        <xs:element name="HarvestingEvent" type="dpw:HarvestHistoryType" minOccurs="0"
221                                                maxOccurs="unbounded">
222                                                <xs:annotation>
223                                                        <xs:documentation>One per event in log within the date range in the request (default is last 10 days)</xs:documentation>
224                                                </xs:annotation>
225                                        </xs:element>
226                                </xs:sequence>
227                        </xs:extension>
228                </xs:complexContent>
229        </xs:complexType>
230
231        <!--###### GetIngestHistory #####-->
232        <xs:element name="GetIngestHistoryRequest" type="dpw:GetHistoryRequest">
233                <xs:annotation>
234                        <xs:documentation>Get information on OAI or CSW metadata ingesting histories for a date range</xs:documentation>
235                </xs:annotation>
236        </xs:element>
237
238        <xs:element name="GetIngestHistoryResponse" type="dpw:GetIngestHistoryResponse">
239                <xs:annotation>
240                        <xs:documentation>Return information on previous metadata ingesting</xs:documentation>
241                </xs:annotation>
242        </xs:element>
243
244        <xs:complexType name="GetIngestHistoryResponse">
245                <xs:annotation>
246                        <xs:documentation>Return information on previous metadata ingestion</xs:documentation>
247                </xs:annotation>
248                <xs:complexContent>
249                        <xs:extension base="dpw:ResponseType">
250                                <xs:sequence maxOccurs="unbounded">
251                                        <xs:element name="IngestEvent" type="dpw:IngestHistoryType" minOccurs="0"
252                                                maxOccurs="unbounded">
253                                                <xs:annotation>
254                                                        <xs:documentation>One per event in log within the date range in the request (default is last 10 days)</xs:documentation>
255                                                </xs:annotation>
256                                        </xs:element>
257                                </xs:sequence>
258                        </xs:extension>
259                </xs:complexContent>
260        </xs:complexType>
261
262        <!--###### DoIngest #####-->
263        <xs:element name="DoIngestRequest">
264                <xs:annotation>
265                        <xs:documentation>Activate an ingest of all available metadata files for the specified provider</xs:documentation>
266                </xs:annotation>
267                <xs:complexType>
268                        <xs:sequence>
269                                <xs:element name="ProcessID" type="dpw:ProcessIDType" minOccurs="0">
270                                        <xs:annotation>
271                                                <xs:documentation>Unique ID to assign process for later recall from db</xs:documentation>
272                                        </xs:annotation>
273                                </xs:element>
274                                <xs:element name="EmailReportID" type="xs:int" minOccurs="0" maxOccurs="unbounded">
275                                        <xs:annotation>
276                                                <xs:documentation>Email of person(s) to send ingest confirmation email to</xs:documentation>
277                                        </xs:annotation>
278                                </xs:element>
279                                <xs:element name="IngestCommandId" type="xs:int" minOccurs="1">
280                                        <xs:annotation>
281                                                <xs:documentation>Command to be executed togheter with the ingestion process</xs:documentation>
282                                        </xs:annotation>
283                                </xs:element>
284                        </xs:sequence>
285                </xs:complexType>
286        </xs:element>
287
288        <!--###### AddTimer #####-->
289        <xs:element name="AddTimerRequest">
290                <xs:annotation>
291                        <xs:documentation>Activate an "harvest then ingest" timer for the specified provider</xs:documentation>
292                </xs:annotation>
293                <xs:complexType>
294                        <xs:sequence>
295                                <xs:element name="NewTimer" type="dpw:TimerInfoCommonType"/>
296                        </xs:sequence>
297                </xs:complexType>
298        </xs:element>
299
300        <xs:element name="AddTimerResponse" type="dpw:AddTimerResponse">
301                <xs:annotation>
302                        <xs:documentation>Return information on the new timer</xs:documentation>
303                </xs:annotation>
304        </xs:element>
305
306        <xs:complexType name="AddTimerResponse">
307                <xs:annotation>
308                        <xs:documentation>Return information on previous metadata ingestion</xs:documentation>
309                </xs:annotation>
310                <xs:complexContent>
311                        <xs:extension base="dpw:ResponseType">
312                                <xs:sequence>
313                                        <xs:element name="timerInfo" type="dpw:TimerInfoDetail"/>
314                                </xs:sequence>
315                        </xs:extension>
316                </xs:complexContent>
317        </xs:complexType>
318
319        <!--###### DeleteTimer #####-->
320        <xs:element name="DeleteTimerRequest">
321                <xs:annotation>
322                        <xs:documentation>Delete an existing timer</xs:documentation>
323                </xs:annotation>
324                <xs:complexType>
325                        <xs:sequence>
326                                <xs:element name="TimerID" type="xs:int">
327                                        <xs:annotation>
328                                                <xs:documentation>Delete, if exists, the timer associated with the given id</xs:documentation>
329                                        </xs:annotation>
330                                </xs:element>
331                        </xs:sequence>
332                </xs:complexType>
333        </xs:element>
334
335        <xs:element name="DeleteTimerResponse" type="dpw:DeleteTimerResponse">
336                <xs:annotation>
337                        <xs:documentation>Return information on the new timer</xs:documentation>
338                </xs:annotation>
339        </xs:element>
340
341        <xs:complexType name="DeleteTimerResponse">
342                <xs:annotation>
343                        <xs:documentation>Return information on previous metadata ingestion</xs:documentation>
344                </xs:annotation>
345                <xs:complexContent>
346                        <xs:extension base="dpw:ResponseType">
347                                <xs:sequence>
348                                        <xs:element name="timerInfoLog" type="dpw:TimerInfoLogDetail"/>
349                                </xs:sequence>
350                        </xs:extension>
351                </xs:complexContent>
352        </xs:complexType>
353
354        <xs:element name="DoIngestResponse" type="dpw:DoIngestResponse">
355                <xs:annotation>
356                        <xs:documentation>Return confirmation on status of metadata ingest and relevant report</xs:documentation>
357                </xs:annotation>
358        </xs:element>
359
360        <xs:complexType name="DoIngestResponse">
361                <xs:annotation>
362                        <xs:documentation>Return information on previous metadata ingestion</xs:documentation>
363                </xs:annotation>
364                <xs:complexContent>
365                        <xs:extension base="dpw:ResponseType"> </xs:extension>
366                </xs:complexContent>
367        </xs:complexType>
368
369        <!--###### CreateIngestCommand #####-->
370        <xs:element name="CreateIngestCommand" type="dpw:IngestCommandType">
371                <xs:annotation>
372                        <xs:documentation>Create a IngestCommandType record</xs:documentation>
373                </xs:annotation>
374        </xs:element>
375
376        <xs:element name="CreateIngestCommandResponse" type="dpw:CreateIngestCommandResponse"> </xs:element>
377        <xs:complexType name="CreateIngestCommandResponse">
378                <xs:complexContent>
379                        <xs:extension base="dpw:ResponseType">
380                                <xs:sequence>
381                                        <xs:element name="command" type="dpw:IngestCommandType"/>
382                                </xs:sequence>
383                        </xs:extension>
384                </xs:complexContent>
385        </xs:complexType>
386
387        <!--###### IngestDeleteCommand #####-->
388        <xs:element name="DeleteIngestCommandRequest">
389                <xs:annotation>
390                        <xs:documentation>Delete an existing command</xs:documentation>
391                </xs:annotation>
392                <xs:complexType>
393                        <xs:sequence>
394                                <xs:element name="IngestCommandID" type="xs:int">
395                                        <xs:annotation>
396                                                <xs:documentation>Delete, if exists, the command associated with the provider</xs:documentation>
397                                        </xs:annotation>
398                                </xs:element>
399                        </xs:sequence>
400                </xs:complexType>
401        </xs:element>
402
403        <xs:element name="DeleteIngestCommandResponse" type="dpw:DeleteIngestCommandResponse"> </xs:element>
404
405        <xs:complexType name="DeleteIngestCommandResponse">
406                <xs:complexContent>
407                        <xs:extension base="dpw:ResponseType"> </xs:extension>
408                </xs:complexContent>
409        </xs:complexType>
410
411        <!-- ##### -->
412        <xs:complexType name="ResponseType" abstract="true">
413                <xs:annotation>
414                        <xs:documentation>Service operational response</xs:documentation>
415                </xs:annotation>
416                <xs:sequence>
417                        <xs:element name="Confirmation" type="dpw:ConfirmationType"/>
418                </xs:sequence>
419        </xs:complexType>
420        <!-- ##### -->
421
422
423
424
425        <xs:complexType name="GetHistoryRequest">
426                <xs:annotation>
427                        <xs:documentation>Get information on metadata ingest into the discovery database history for a date range</xs:documentation>
428                </xs:annotation>
429                <xs:sequence>
430                        <xs:element name="DateRange" type="dpw:DataRangeType" minOccurs="0">
431                                <xs:annotation>
432                                        <xs:documentation>If DateRange not present will default to the last 10 days</xs:documentation>
433                                </xs:annotation>
434                        </xs:element>
435                        <xs:element name="ProviderID" type="xs:int">
436                                <xs:annotation>
437                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
438                                </xs:annotation>
439                        </xs:element>
440                </xs:sequence>
441        </xs:complexType>
442
443
444
445        <xs:complexType name="GetListType">
446                <xs:sequence>
447                        <xs:element name="listName" type="xs:string"/>
448                </xs:sequence>
449        </xs:complexType>
450        <xs:complexType name="ListNames">
451                <xs:sequence>
452                        <xs:element name="listItem" type="xs:string" maxOccurs="unbounded"/>
453                </xs:sequence>
454        </xs:complexType>
455        <xs:annotation>
456                <xs:documentation>Types</xs:documentation>
457        </xs:annotation>
458
459        <xs:complexType name="ConfirmationType">
460                <xs:sequence>
461                        <xs:element name="Status" type="xs:string"/>
462                        <xs:element name="Message" type="xs:string"/>
463                </xs:sequence>
464        </xs:complexType>
465        <xs:complexType name="HarvestHistoryType">
466                <xs:sequence>
467                        <xs:element name="RequestId" type="xs:int">
468                                <xs:annotation>
469                                        <xs:documentation>Process ID number</xs:documentation>
470                                </xs:annotation>
471                        </xs:element>
472                        <xs:element name="TotalRecords" type="xs:int">
473                                <xs:annotation>
474                                        <xs:documentation>Number of records processed</xs:documentation>
475                                </xs:annotation>
476                        </xs:element>
477                        <xs:element name="HarvestStartTime" type="xs:dateTime" minOccurs="0"/>
478                        <xs:element name="HarvestStopTime" type="xs:dateTime" minOccurs="0"/>
479                        <xs:element name="ProviderID" type="xs:int">
480                                <xs:annotation>
481                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
482                                </xs:annotation>
483                        </xs:element>
484                </xs:sequence>
485        </xs:complexType>
486        <xs:complexType name="IngestHistoryType">
487                <xs:sequence>
488                        <xs:element name="IngestStartTime" type="xs:dateTime">
489                                <xs:annotation>
490                                        <xs:documentation>Start time of metadata ingest operation</xs:documentation>
491                                </xs:annotation>
492                        </xs:element>
493                        <xs:element name="IngestStopTime" type="xs:dateTime">
494                                <xs:annotation>
495                                        <xs:documentation>End time of metadata ingest operation</xs:documentation>
496                                </xs:annotation>
497                        </xs:element>
498                        <xs:element name="TotalNumberFilesProcessed" type="xs:int">
499                                <xs:annotation>
500                                        <xs:documentation>Number of files processed - i.e. the number of files in the harvested XML director</xs:documentation>
501                                </xs:annotation>
502                        </xs:element>
503                        <xs:element name="RecordsProcessedSuccessfully" type="xs:int">
504                                <xs:annotation>
505                                        <xs:documentation>Number of files in the harvest directory successfully processed - NOTE this includes files that may have ingest errors</xs:documentation>
506                                </xs:annotation>
507                        </xs:element>
508                        <xs:element name="RecordsProcessedUnsuccessfully" type="xs:int">
509                                <xs:annotation>
510                                        <xs:documentation>Number of files that failed - mainly due to XML parsing errors during ingest</xs:documentation>
511                                </xs:annotation>
512                        </xs:element>
513                        <xs:element name="RecordsCreated" type="xs:int">
514                                <xs:annotation>
515                                        <xs:documentation>Number of records inserted into the discovery database for the first time</xs:documentation>
516                                </xs:annotation>
517                        </xs:element>
518                        <xs:element name="RecordsUpdated" type="xs:int">
519                                <xs:annotation>
520                                        <xs:documentation>Number of existing records in the discovery database that have been updated due to new content after harvesting</xs:documentation>
521                                </xs:annotation>
522                        </xs:element>
523                        <xs:element name="RecordsDeleted" type="xs:int">
524                                <xs:annotation>
525                                        <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>
526                                </xs:annotation>
527                        </xs:element>
528                        <xs:element name="ProblemFileReport" minOccurs="0" maxOccurs="unbounded">
529                                <xs:annotation>
530                                        <xs:documentation>Report for each file summarised in NumberOfProblemFiles</xs:documentation>
531                                </xs:annotation>
532                                <xs:complexType>
533                                        <xs:sequence>
534                                                <xs:element name="ProblemFileName" type="xs:string">
535                                                        <xs:annotation>
536                                                                <xs:documentation>xml filename</xs:documentation>
537                                                        </xs:annotation>
538                                                </xs:element>
539                                                <xs:element name="Message" type="xs:string">
540                                                        <xs:annotation>
541                                                                <xs:documentation>error message thrown by the ingester</xs:documentation>
542                                                        </xs:annotation>
543                                                </xs:element>
544                                        </xs:sequence>
545                                </xs:complexType>
546                        </xs:element>
547                        <xs:element name="ProviderID" type="xs:int">
548                                <xs:annotation>
549                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
550                                </xs:annotation>
551                        </xs:element>
552                        <xs:element name="RequestId" type="xs:int">
553                                <xs:annotation>
554                                        <xs:documentation>Process ID number</xs:documentation>
555                                </xs:annotation>
556                        </xs:element>
557                        <xs:element name="IngestCommand" type="xs:string">
558                                <xs:annotation>
559                                        <xs:documentation>The executed command for this ingest process</xs:documentation>
560                                </xs:annotation>
561                        </xs:element>
562                </xs:sequence>
563        </xs:complexType>
564        <xs:complexType name="ProviderContactType">
565                <xs:sequence>
566                        <xs:element ref="dpw:Provider"/>
567                        <xs:element name="HarvestDetails">
568                                <xs:complexType>
569                                        <xs:choice>
570                                                <xs:element name="OAIProvider" type="dpw:OAIProviderDetailsType"/>
571                                                <xs:element name="CSWProvider" type="dpw:CSWProviderDetailsType"/>
572                                        </xs:choice>
573                                </xs:complexType>
574                        </xs:element>
575                        <xs:element name="ProviderName" type="xs:string" minOccurs="0">
576                                <xs:annotation>
577                                        <xs:documentation>Full provider name i.e. British Atmospheric Data Centre</xs:documentation>
578                                </xs:annotation>
579                        </xs:element>
580                        <xs:element name="ProviderContacts" type="dpw:EmailContactType" minOccurs="0"
581                                maxOccurs="unbounded">
582                                <xs:annotation>
583                                        <xs:documentation>Email addresses of contacts at Data Provider</xs:documentation>
584                                </xs:annotation>
585                        </xs:element>
586                        <xs:element name="ProviderAdminEmail">
587                                <xs:annotation>
588                                        <xs:documentation>Mandatory provider admin email</xs:documentation>
589                                </xs:annotation>
590                                <xs:complexType>
591                                        <xs:complexContent>
592                                                <xs:extension base="dpw:ContactType">
593                                                        <xs:sequence>
594                                                                <xs:sequence>
595                                                                        <xs:element name="EmailContact" type="dpw:EmailContactType"/>
596                                                                </xs:sequence>
597                                                                <xs:element name="Monitor" type="xs:boolean" minOccurs="0">
598                                                                        <xs:annotation>
599                                                                                <xs:documentation>Set to true if all processes are to be reported via email to this main contact</xs:documentation>
600                                                                        </xs:annotation>
601                                                                </xs:element>
602                                                        </xs:sequence>
603                                                </xs:extension>
604                                        </xs:complexContent>
605                                </xs:complexType>
606                        </xs:element>
607                </xs:sequence>
608        </xs:complexType>
609
610        <xs:complexType name="HarvestProviderType">
611                <xs:sequence> </xs:sequence>
612        </xs:complexType>
613        <xs:complexType name="DataRangeType">
614                <xs:sequence>
615                        <xs:element name="Start" type="xs:dateTime">
616                                <xs:annotation>
617                                        <xs:documentation>start period for calculating statistics</xs:documentation>
618                                </xs:annotation>
619                        </xs:element>
620                        <xs:element name="End" type="xs:dateTime">
621                                <xs:annotation>
622                                        <xs:documentation>end period for calculating statistics</xs:documentation>
623                                </xs:annotation>
624                        </xs:element>
625                </xs:sequence>
626        </xs:complexType>
627        <xs:complexType name="HarvestType">
628                <xs:sequence>
629                        <xs:element name="Type" type="xs:string">
630                                <xs:annotation>
631                                        <xs:documentation>OAI, CSW etc - should be name delimited list</xs:documentation>
632                                </xs:annotation>
633                        </xs:element>
634                </xs:sequence>
635        </xs:complexType>
636        <xs:complexType name="ContactType">
637                <xs:attribute name="id" type="xs:int" use="required"/>
638        </xs:complexType>
639        <xs:complexType name="ProcessIDType">
640                <xs:annotation>
641                        <xs:documentation>Unique ID to assign a process</xs:documentation>
642                </xs:annotation>
643                <xs:attribute name="id" type="xs:int" use="required"/>
644                <xs:attribute name="status" type="xs:string"/>
645        </xs:complexType>
646        <xs:element name="HarvestOperationType" type="dpw:HarvestType">
647                <xs:annotation>
648                        <xs:documentation>Harvest All/new records</xs:documentation>
649                </xs:annotation>
650        </xs:element>
651        <xs:complexType name="ProviderIDType">
652                <xs:annotation>
653                        <xs:documentation>Unique Provider ID</xs:documentation>
654                </xs:annotation>
655                <xs:sequence>
656                        <xs:element name="ID" type="xs:string"/>
657                </xs:sequence>
658        </xs:complexType>
659        <xs:complexType name="EmailContactType">
660                <xs:sequence>
661                        <xs:element name="Email" type="xs:string"/>
662                        <xs:element name="Name" type="xs:string" minOccurs="0"/>
663                        <xs:element name="ID" type="xs:int" minOccurs="0">
664                                <xs:annotation>
665                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
666                                </xs:annotation>
667                        </xs:element>
668                </xs:sequence>
669        </xs:complexType>
670        <xs:complexType name="IngestCommandType">
671                <xs:sequence>
672                        <xs:element name="Command" type="xs:string"/>
673                        <xs:element name="ID" type="xs:int" minOccurs="0">
674                                <xs:annotation>
675                                        <xs:documentation>Represents the Command element ID</xs:documentation>
676                                </xs:annotation>
677                        </xs:element>
678                </xs:sequence>
679        </xs:complexType>
680        <xs:complexType name="ReturnType" abstract="true">
681                <xs:sequence>
682                        <xs:element name="Confirmation" type="dpw:ConfirmationType"/>
683                </xs:sequence>
684        </xs:complexType>
685        <xs:complexType name="ProviderCommonType">
686                <xs:sequence>
687                        <xs:element name="ProviderURL" type="xs:string">
688                                <xs:annotation>
689                                        <xs:documentation>URL of the Providers Metadata publisher i.e. OAI or CSW</xs:documentation>
690                                </xs:annotation>
691                        </xs:element>
692                        <xs:element name="ProviderName" type="xs:string" minOccurs="0">
693                                <xs:annotation>
694                                        <xs:documentation>Full provider name i.e. British Atmospheric Data Centre</xs:documentation>
695                                </xs:annotation>
696                        </xs:element>
697                        <xs:element name="ProviderContacts" type="dpw:EmailContactType" minOccurs="0"
698                                maxOccurs="unbounded">
699                                <xs:annotation>
700                                        <xs:documentation>Email addresses of contacts at Data Provider</xs:documentation>
701                                </xs:annotation>
702                        </xs:element>
703                        <xs:element name="ProviderAdminEmail">
704                                <xs:annotation>
705                                        <xs:documentation>Mandatory provider admin email</xs:documentation>
706                                </xs:annotation>
707                                <xs:complexType>
708                                        <xs:sequence>
709                                                <xs:element name="EmailContact" type="dpw:EmailContactType"/>
710                                                <xs:element name="Monitor" type="xs:boolean" minOccurs="0">
711                                                        <xs:annotation>
712                                                                <xs:documentation>Set to true if all processes are to be reported via email to this main contact</xs:documentation>
713                                                        </xs:annotation>
714                                                </xs:element>
715                                        </xs:sequence>
716                                </xs:complexType>
717                        </xs:element>
718                        <xs:element minOccurs="0" name="DataMarker" type="xs:string"/>
719                        <xs:element minOccurs="0" name="NDGDataProvider" type="xs:boolean"/>
720                        <xs:element minOccurs="0" name="CswPublish" type="xs:boolean"/>
721                        <xs:element minOccurs="0" name="CswPublishDir" type="xs:string"/>
722                </xs:sequence>
723        </xs:complexType>
724
725        <!-- ##### TimerInfo #### -->
726        <xs:complexType name="TimerInfoDetail">
727                <xs:annotation>
728                        <xs:documentation>Provide details for proveder timer</xs:documentation>
729                </xs:annotation>
730                <xs:sequence>
731                        <xs:element name="TimerInfoCommon" type="dpw:TimerInfoCommonType"/>
732                        <xs:element name="creationDate" type="xs:dateTime"/>
733                        <xs:element name="lastReqId" type="xs:int"/>
734                        <xs:element name="TimerID" type="xs:int">
735                                <xs:annotation>
736                                        <xs:documentation>Represents the ID assigned to the Timer element</xs:documentation>
737                                </xs:annotation>
738                        </xs:element>
739                </xs:sequence>
740        </xs:complexType>
741
742        <xs:complexType name="TimerInfoLogDetail">
743                <xs:annotation>
744                        <xs:documentation>Provide details for proveder timer</xs:documentation>
745                </xs:annotation>
746                <xs:sequence>
747                        <xs:element name="TimerInfoCommon" type="dpw:TimerInfoDetail"/>
748                        <xs:element name="removeDate" type="xs:dateTime"/>
749                </xs:sequence>
750        </xs:complexType>
751
752        <!-- ##### ProviderDetail #### -->
753        <xs:element name="Provider" type="dpw:ProviderDetail"/>
754        <xs:complexType name="ProviderDetail">
755                <xs:annotation>
756                        <xs:documentation>Provide details for a NEW metadata provider</xs:documentation>
757                </xs:annotation>
758                <xs:sequence>
759                        <xs:element ref="dpw:ProviderType"/>
760                        <xs:element name="ProviderCommon" type="dpw:ProviderCommonType"/>
761                        <xs:element name="ProviderID" type="xs:int" minOccurs="0">
762                                <xs:annotation>
763                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
764                                </xs:annotation>
765                        </xs:element>
766                        <xs:element name="timerInfo" type="dpw:TimerInfoDetail" maxOccurs="unbounded"
767                                minOccurs="0"/>
768                </xs:sequence>
769        </xs:complexType>
770
771        <xs:element name="ProviderType" type="dpw:ProviderDetailsType" abstract="true"/>
772        <xs:element name="OAIProvider" substitutionGroup="dpw:ProviderType"
773                type="dpw:OAIProviderDetailsType"/>
774        <xs:element name="CSWProvider" substitutionGroup="dpw:ProviderType"
775                type="dpw:CSWProviderDetailsType"/>
776
777        <xs:complexType name="ProviderDetailsType" abstract="true"/>
778        <xs:complexType name="OAIProviderDetailsType">
779                <xs:complexContent>
780                        <xs:extension base="dpw:ProviderDetailsType">
781                                <xs:sequence>
782                                        <xs:element name="SetSpec" type="xs:string" minOccurs="0"/>
783                                        <xs:element name="splitBySet" type="xs:boolean"/>
784                                        <xs:element name="Format" type="xs:string">
785                                                <xs:annotation>
786                                                        <xs:documentation/>
787                                                </xs:annotation>
788                                        </xs:element>
789                                </xs:sequence>
790                        </xs:extension>
791                </xs:complexContent>
792        </xs:complexType>
793
794        <xs:complexType name="CSWProviderDetailsType">
795                <xs:complexContent>
796                        <xs:extension base="dpw:ProviderDetailsType">
797                                <xs:sequence>
798                                        <xs:element name="outputSchema" type="xs:string">
799                                                <xs:annotation>
800                                                        <xs:documentation/>
801                                                </xs:annotation>
802                                        </xs:element>
803                                        <xs:element name="typeName" maxOccurs="unbounded">
804                                                <xs:complexType>
805                                                        <xs:sequence>
806                                                                <xs:element name="namespaceURI" type="xs:string" minOccurs="1"
807                                                                        maxOccurs="1"/>
808                                                                <xs:element name="localPart" type="xs:string" minOccurs="1"
809                                                                        maxOccurs="1"/>
810                                                        </xs:sequence>
811                                                </xs:complexType>
812                                        </xs:element>
813                                        <xs:element name="query" type="xs:string" minOccurs="0"/>
814                                </xs:sequence>
815                        </xs:extension>
816                </xs:complexContent>
817        </xs:complexType>
818
819        <xs:complexType name="TimerInfoCommonType">
820                <xs:sequence>
821                        <xs:element name="StartDate" type="xs:dateTime" minOccurs="0">
822                                <xs:annotation>
823                                        <xs:documentation>The date the timer starts for the first time.</xs:documentation>
824                                </xs:annotation>
825                        </xs:element>
826                        <xs:element name="StopDate" type="xs:dateTime" minOccurs="0">
827                                <xs:annotation>
828                                        <xs:documentation>The date the timer stops.</xs:documentation>
829                                </xs:annotation>
830                        </xs:element>
831                        <xs:element name="frequency" type="xs:long" default="10">
832                                <xs:annotation>
833                                        <xs:documentation>The frequency, in minutes, the timer starts a new process</xs:documentation>
834                                </xs:annotation>
835                        </xs:element>
836                        <xs:element name="singleAction" type="xs:boolean" default="false">
837                                <xs:annotation>
838                                        <xs:documentation>Specifies if this timer has to run only once</xs:documentation>
839                                </xs:annotation>
840                        </xs:element>
841                        <xs:element name="ProviderID" type="xs:int">
842                                <xs:annotation>
843                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
844                                </xs:annotation>
845                        </xs:element>
846                        <xs:element name="IngestCommand" type="xs:string" minOccurs="1">
847                                <xs:annotation>
848                                        <xs:documentation>Command to be executed togheter with the ingestion process</xs:documentation>
849                                </xs:annotation>
850                        </xs:element>
851                </xs:sequence>
852        </xs:complexType>
853        <xs:complexType name="ProviderStatistic">
854                <xs:sequence>
855                        <xs:element name="ProviderID" type="xs:int" minOccurs="0">
856                                <xs:annotation>
857                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
858                                </xs:annotation>
859                        </xs:element>
860                        <xs:element name="IngestedRecord" type="xs:int" minOccurs="0">
861                                <xs:annotation>
862                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
863                                </xs:annotation>
864                        </xs:element>
865                </xs:sequence>
866        </xs:complexType>
867</xs:schema>
Note: See TracBrowser for help on using the repository browser.