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

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

introduced abstract type for the Provider and the Response elements

  • 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"
4        xmlns:xs="http://www.w3.org/2001/XMLSchema">
5        <xs:annotation>
6                <xs:documentation>Basic service operation requests</xs:documentation>
7        </xs:annotation>
8
9        <!--###### GetList #####-->
10        <xs:element name="GetList" type="GetListType">
11                <xs:annotation>
12                        <xs:documentation>Get a list of values for list specified in GetListNames operation</xs:documentation>
13                </xs:annotation>
14        </xs:element>
15        <xs:element name="GetListResponseType" type="GetListResponse">
16                <xs:annotation>
17                        <xs:documentation>Return values in chosen List N</xs:documentation>
18                </xs:annotation>
19        </xs:element>
20        <xs:complexType name="GetListResponse">
21                <xs:complexContent>                             
22                        <xs:extension base="ResponseType">
23                                <xs:sequence>
24                                        <xs:element name="ListNames" type="ListNames"/>
25                                </xs:sequence>
26                        </xs:extension>
27                </xs:complexContent>   
28        </xs:complexType>       
29       
30        <!--###### GetListNames #####-->
31        <xs:element name="GetListNames" nillable="true">
32                <xs:annotation>
33                        <xs:documentation>Get names of lists used to define controlled values in this web service i.e. HarvestType</xs:documentation>
34                </xs:annotation>
35        </xs:element>
36        <xs:element name="GetListNamesResponseType" type="GetListNamesResponse">
37                <xs:annotation>
38                        <xs:documentation>Return names of lists used for controlled values</xs:documentation>
39                </xs:annotation>
40        </xs:element>
41        <xs:complexType name="GetListNamesResponse">
42                <xs:complexContent>                             
43                        <xs:extension base="ResponseType">
44                                <xs:sequence>
45                                        <xs:element name="ListNames" type="ListNames"/>
46                                </xs:sequence>
47                        </xs:extension>
48                </xs:complexContent>           
49        </xs:complexType>
50
51        <!--###### DoNewProvider #####-->
52        <xs:element name="DoHarvestRequest">
53                <xs:annotation>
54                        <xs:documentation>Initiate an OAI or CSW metadata harvest from the specified provider</xs:documentation>
55                </xs:annotation>
56                <xs:complexType>
57                        <xs:sequence>
58                                <xs:element name="EmailReportID" type="xs:int" minOccurs="0" maxOccurs="unbounded">
59                                        <xs:annotation>
60                                                <xs:documentation>Email of person(s) to send harvest confirmation email to</xs:documentation>
61                                        </xs:annotation>
62                                </xs:element>
63                                <xs:element name="ProviderID" type="xs:int">
64                                        <xs:annotation>
65                                                <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
66                                        </xs:annotation>
67                                </xs:element>
68                        </xs:sequence>
69                </xs:complexType>
70        </xs:element>
71        <xs:element name="DoHarvestResponseType" type="DoHarvestResponse">
72                <xs:annotation>
73                        <xs:documentation>Return confirmation on status of metadata harvest and relevant report</xs:documentation>
74                </xs:annotation>
75        </xs:element>
76        <xs:complexType name="DoHarvestResponse">
77                <xs:complexContent>                             
78                        <xs:extension base="ResponseType">
79                                <xs:sequence>
80                                        <xs:element name="processID" type="ProcessIDType"/>
81                                </xs:sequence>
82                        </xs:extension>
83                </xs:complexContent>           
84        </xs:complexType>
85
86       
87        <!--###### DoNewProvider #####-->
88        <xs:element name="DoNewProviderRequest">
89                <xs:complexType>
90                        <xs:sequence>
91                                <xs:element name="DoNewProvider" type="ProviderDetail"/>
92                        </xs:sequence>
93                </xs:complexType>
94        </xs:element>
95       
96        <xs:element name="DoNewProviderResponseType" type="DoNewProviderResponse">
97                <xs:annotation>
98                        <xs:documentation>Confirmation of addition of NEW metadata provider details (super admin only)</xs:documentation>
99                </xs:annotation>
100        </xs:element>   
101        <xs:complexType name="DoNewProviderResponse">
102                <xs:complexContent>                             
103                        <xs:extension base="ResponseType">
104                                <xs:sequence>
105                                        <xs:element ref="Provider"/>
106                                </xs:sequence>
107                        </xs:extension>
108                </xs:complexContent>
109        </xs:complexType>
110       
111        <!--###### GetProviderDetails #####-->
112        <xs:element name="GetProviderDetailsRequest">
113                <xs:complexType>
114                        <xs:sequence>
115                                <xs:element name="ProviderID" type="xs:int" maxOccurs="unbounded">
116                                        <xs:annotation>
117                                                <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
118                                        </xs:annotation>
119                                </xs:element>
120                        </xs:sequence>
121                </xs:complexType>
122        </xs:element>
123       
124        <xs:element name="GetProviderDetailsResponseType" type="GetProviderDetailsResponse"/>
125        <xs:complexType name="GetProviderDetailsResponse">
126                <xs:complexContent>                             
127                        <xs:extension base="ResponseType">
128                                <xs:sequence maxOccurs="unbounded">
129                                        <xs:element name="Provider" type="ProviderDetail"/>
130                                        <xs:element name="ProviderID" type="xs:int">
131                                                <xs:annotation>
132                                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
133                                                </xs:annotation>
134                                        </xs:element>
135                                </xs:sequence>
136                        </xs:extension>
137                </xs:complexContent>                           
138        </xs:complexType>
139
140        <!--###### GetProcessStatus #####-->
141        <xs:element name="GetProcessStatusRequest">
142                <xs:complexType>
143                        <xs:sequence maxOccurs="unbounded">
144                                <xs:element name="ProcessID" type="xs:int"/>
145                        </xs:sequence>
146                </xs:complexType>
147        </xs:element>
148        <xs:element name="GetProcessStatusResponseType" type="GetProcessStatusResponse"/>
149
150       
151        <xs:complexType name="GetProcessStatusResponse">
152                <xs:complexContent>                             
153                        <xs:extension base="ResponseType">
154                                <xs:sequence>
155                                        <xs:element name="ProcessID" type="ProcessIDType" maxOccurs="unbounded"/>
156                                </xs:sequence>
157                        </xs:extension>
158                </xs:complexContent>           
159        </xs:complexType>
160
161        <!-- ##### -->
162        <xs:complexType name="ResponseType" abstract="true">
163                <xs:annotation>
164                        <xs:documentation>Service operational response</xs:documentation>
165                </xs:annotation>
166                <xs:sequence>
167                        <xs:element name="Confirmation" type="ConfirmationType"/>
168                </xs:sequence>
169        </xs:complexType>
170        <!-- ##### -->
171       
172        <xs:element name="GetHarvestHistoryRequest">
173                <xs:annotation>
174                        <xs:documentation>Get information on OAI or CSW metadata harvesting histories for a date range</xs:documentation>
175                </xs:annotation>
176                <xs:complexType>
177                        <xs:sequence>
178                                <xs:element name="DateRange" type="DataRangeType" minOccurs="0">
179                                        <xs:annotation>
180                                                <xs:documentation>If DateRange not present will default to the last 10 days</xs:documentation>
181                                        </xs:annotation>
182                                </xs:element>
183                                <xs:element ref="Provider"/>
184                        </xs:sequence>
185                </xs:complexType>
186        </xs:element>
187        <xs:complexType name="GetIngestHistoryRequest">
188                <xs:annotation>
189                        <xs:documentation>Get information on metadata ingest into the discovery database history for a date range</xs:documentation>
190                </xs:annotation>
191                <xs:sequence>
192                        <xs:element name="DateRange" type="DataRangeType" minOccurs="0">
193                                <xs:annotation>
194                                        <xs:documentation>If DateRange not present will default to the last 10 days</xs:documentation>
195                                </xs:annotation>
196                        </xs:element>
197                        <xs:element ref="Provider"/>
198                </xs:sequence>
199        </xs:complexType>
200        <xs:element name="GetProviderStatsRequest">
201                <xs:annotation>
202                        <xs:documentation>Get basic statistics on records in the discovery database for provider N</xs:documentation>
203                </xs:annotation>
204                <xs:complexType>
205                        <xs:sequence>
206                                <xs:element name="DateRange" type="DataRangeType" minOccurs="0"/>
207                                <xs:element ref="Provider"/>
208                        </xs:sequence>
209                </xs:complexType>
210        </xs:element>
211        <xs:element name="GetUsageStatsRequest">
212                <xs:annotation>
213                        <xs:documentation>Get basic statistic on usage of the Data Web Service (DWS)</xs:documentation>
214                </xs:annotation>
215                <xs:complexType>
216                        <xs:sequence>
217                                <xs:element name="DataRange" type="DataRangeType"/>
218                        </xs:sequence>
219                </xs:complexType>
220        </xs:element>
221        <xs:element name="DoConfigureProviderDetails">
222                <xs:annotation>
223                        <xs:documentation>Change details for metadata provider N - includes OAI/CSW harvesting endpoints as well as provider N details</xs:documentation>
224                </xs:annotation>
225                <xs:complexType>
226                        <xs:sequence>
227                                <xs:element name="ContactDetails" type="ProviderContactType" minOccurs="0"/>
228                        </xs:sequence>
229                </xs:complexType>
230        </xs:element>
231        <xs:element name="DoConfigureProviderDetailsReturn">
232                <xs:annotation>
233                        <xs:documentation>Confirmation of update to Provider N's details</xs:documentation>
234                </xs:annotation>
235                <xs:complexType>
236                        <xs:sequence>
237                                <xs:element name="Confirmation" type="ConfirmationType"/>
238                        </xs:sequence>
239                </xs:complexType>
240        </xs:element>
241        <xs:element name="DoIngestRequest">
242                <xs:annotation>
243                        <xs:documentation>Activate an ingest of all available metadata files for the specified provider</xs:documentation>
244                </xs:annotation>
245                <xs:complexType>
246                        <xs:sequence>
247                                <xs:element name="EmailReport" type="ContactType" minOccurs="0"
248                                        maxOccurs="unbounded">
249                                        <xs:annotation>
250                                                <xs:documentation>Email of person(s) to send harvest confirmation email to</xs:documentation>
251                                        </xs:annotation>
252                                </xs:element>
253                                <xs:element name="Provider" type="ProviderIDType">
254                                        <xs:annotation>
255                                                <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>
256                                        </xs:annotation>
257                                </xs:element>
258                                <xs:element name="ProcessID" type="ProcessIDType" minOccurs="0">
259                                        <xs:annotation>
260                                                <xs:documentation>Unique ID to assign process for later recall from db</xs:documentation>
261                                        </xs:annotation>
262                                </xs:element>
263                        </xs:sequence>
264                </xs:complexType>
265        </xs:element>
266        <xs:element name="DoIngestReturn">
267                <xs:annotation>
268                        <xs:documentation>Return confirmation on status of metadata ingest and relevant report</xs:documentation>
269                </xs:annotation>
270                <xs:complexType>
271                        <xs:sequence>
272                                <xs:element name="Confirmation" type="ConfirmationType">
273                                        <xs:annotation>
274                                                <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>
275                                        </xs:annotation>
276                                </xs:element>
277                                <xs:element name="processID" type="ProcessIDType"/>
278                        </xs:sequence>
279                </xs:complexType>
280        </xs:element>
281
282        <xs:annotation>
283                <xs:documentation>Basic service operation returns</xs:documentation>
284        </xs:annotation>
285        <xs:element name="GetHarvestHistoryReturn">
286                <xs:annotation>
287                        <xs:documentation>Return information on previous metadata harvesting</xs:documentation>
288                </xs:annotation>
289                <xs:complexType>
290                        <xs:sequence>
291                                <xs:element name="Confirmation" type="ConfirmationType"/>
292                                <xs:element name="HarvestingEvent" type="HarvestInformationType" minOccurs="0"
293                                        maxOccurs="unbounded">
294                                        <xs:annotation>
295                                                <xs:documentation>One per event in log within the date range in the request (default is last 10 days)</xs:documentation>
296                                        </xs:annotation>
297                                </xs:element>
298                        </xs:sequence>
299                </xs:complexType>
300        </xs:element>
301        <xs:complexType name="GetIngestHistoryReturn">
302                <xs:annotation>
303                        <xs:documentation>Return information on previous metadata ingestion</xs:documentation>
304                </xs:annotation>
305                <xs:sequence>
306                        <xs:element name="Confirmation" type="ConfirmationType"/>
307                        <xs:element name="IngestEvent" type="IngestInformationType" minOccurs="0"
308                                maxOccurs="unbounded">
309                                <xs:annotation>
310                                        <xs:documentation>One per event in log within the date range in the request (default is last 10 days)</xs:documentation>
311                                </xs:annotation>
312                        </xs:element>
313                </xs:sequence>
314        </xs:complexType>
315        <xs:element name="GetProviderStatsReturn">
316                <xs:annotation>
317                        <xs:documentation>Return statistics on data provider assets in the discovery database</xs:documentation>
318                </xs:annotation>
319                <xs:complexType>
320                        <xs:sequence>
321                                <xs:element name="Confirmation" type="ConfirmationType"/>
322                                <xs:element name="Statistics" type="StatisticsType"/>
323                        </xs:sequence>
324                </xs:complexType>
325        </xs:element>
326        <xs:element name="GetUsageStatsReturn">
327                <xs:annotation>
328                        <xs:documentation>Return statistics on client access to the Discovery Web Service (DWS)</xs:documentation>
329                </xs:annotation>
330                <xs:complexType>
331                        <xs:sequence>
332                                <xs:element name="Confirmation" type="ConfirmationType"/>
333                                <xs:element name="Statistics" type="StatisticsType"/>
334                        </xs:sequence>
335                </xs:complexType>
336        </xs:element>
337        <xs:complexType name="GetListType">
338                <xs:sequence>
339                        <xs:element name="listName" type="xs:string"/>
340                </xs:sequence>
341        </xs:complexType>
342        <xs:complexType name="ListNames">
343                <xs:sequence>
344                        <xs:element name="listItem" type="xs:string" maxOccurs="unbounded"/>
345                </xs:sequence>
346        </xs:complexType>
347        <xs:annotation>
348                <xs:documentation>Types</xs:documentation>
349        </xs:annotation>
350
351        <xs:complexType name="ConfirmationType">
352                <xs:sequence>
353                        <xs:element name="Status" type="xs:string"/>
354                        <xs:element name="Message" type="xs:string"/>
355                </xs:sequence>
356        </xs:complexType>
357        <xs:complexType name="HarvestInformationType">
358                <xs:sequence>
359                        <xs:element name="RecordsHarvested" type="xs:string">
360                                <xs:annotation>
361                                        <xs:documentation>Number of records processed</xs:documentation>
362                                </xs:annotation>
363                        </xs:element>
364                        <xs:element name="RecordsUpdated" type="xs:string">
365                                <xs:annotation>
366                                        <xs:documentation>Number of records detected as new</xs:documentation>
367                                </xs:annotation>
368                        </xs:element>
369                        <xs:element name="ResumptionTokens" type="xs:string" minOccurs="0"/>
370                        <xs:element name="Message" minOccurs="0">
371                                <xs:annotation>
372                                        <xs:documentation>OAI harvesting message - can contain error string</xs:documentation>
373                                </xs:annotation>
374                        </xs:element>
375                        <xs:element name="HarvestStartTime" type="xs:string" minOccurs="0"/>
376                        <xs:element name="HarvestDuration" type="xs:string" minOccurs="0"/>
377                </xs:sequence>
378        </xs:complexType>
379        <xs:complexType name="IngestInformationType">
380                <xs:sequence>
381                        <xs:sequence>
382                                <xs:element name="IngestDate" type="xs:string">
383                                        <xs:annotation>
384                                                <xs:documentation>Date/time of metadata ingest</xs:documentation>
385                                        </xs:annotation>
386                                </xs:element>
387                                <xs:element name="TotalNumberFilesProcessed" type="xs:string">
388                                        <xs:annotation>
389                                                <xs:documentation>Number of files processed - i.e. the number of files in the harvested XML director</xs:documentation>
390                                        </xs:annotation>
391                                </xs:element>
392                                <xs:element name="RecordsProcessedSuccessfully" type="xs:string">
393                                        <xs:annotation>
394                                                <xs:documentation>Number of files in the harvest directory successfully processed - NOTE this includes files that may have ingest errors</xs:documentation>
395                                        </xs:annotation>
396                                </xs:element>
397                                <xs:element name="RecordsProcessedUnsuccessfully" type="xs:string">
398                                        <xs:annotation>
399                                                <xs:documentation>Number of files that failed - mainly due to XML parsing errors during ingest</xs:documentation>
400                                        </xs:annotation>
401                                </xs:element>
402                                <xs:element name="RecordsCreated" type="xs:string">
403                                        <xs:annotation>
404                                                <xs:documentation>Number of records inserted into the discovery database for the first time</xs:documentation>
405                                        </xs:annotation>
406                                </xs:element>
407                                <xs:element name="RecordsUpdated" type="xs:string">
408                                        <xs:annotation>
409                                                <xs:documentation>Number of existing records in the discovery database that have been updated due to new content after harvesting</xs:documentation>
410                                        </xs:annotation>
411                                </xs:element>
412                                <xs:element name="RecordsDeleted" type="xs:string">
413                                        <xs:annotation>
414                                                <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>
415                                        </xs:annotation>
416                                </xs:element>
417                                <xs:element name="NumberOfProblemFiles" type="xs:string">
418                                        <xs:annotation>
419                                                <xs:documentation>Number of files that had a problem reported during ingest and not updated to the database - usually content type problems</xs:documentation>
420                                        </xs:annotation>
421                                </xs:element>
422                                <xs:element name="ProblemFileReport" minOccurs="0" maxOccurs="unbounded">
423                                        <xs:annotation>
424                                                <xs:documentation>Report for each file summarised in NumberOfProblemFiles</xs:documentation>
425                                        </xs:annotation>
426                                        <xs:complexType>
427                                                <xs:sequence>
428                                                        <xs:element name="ProblemFileName" type="xs:string">
429                                                                <xs:annotation>
430                                                                        <xs:documentation>xml filename</xs:documentation>
431                                                                </xs:annotation>
432                                                        </xs:element>
433                                                        <xs:element name="Message" type="xs:string">
434                                                                <xs:annotation>
435                                                                        <xs:documentation>error message thrown by the ingester</xs:documentation>
436                                                                </xs:annotation>
437                                                        </xs:element>
438                                                </xs:sequence>
439                                        </xs:complexType>
440                                </xs:element>
441                                <xs:element ref="Provider"/>
442                        </xs:sequence>
443                </xs:sequence>
444        </xs:complexType>
445        <xs:complexType name="ProviderContactType">
446                <xs:sequence>
447                        <xs:element ref="Provider"/>
448                        <xs:element name="HarvestDetails">
449                                <xs:complexType>
450                                        <xs:choice>
451                                                <xs:element name="OAIProvider" type="OAIProviderDetailsType"/>
452                                                <xs:element name="CSWProvider" type="CSWProviderDetailsType"/>
453                                        </xs:choice>
454                                </xs:complexType>
455                        </xs:element>
456                        <xs:element name="ProviderName" type="xs:string" minOccurs="0">
457                                <xs:annotation>
458                                        <xs:documentation>Full provider name i.e. British Atmospheric Data Centre</xs:documentation>
459                                </xs:annotation>
460                        </xs:element>
461                        <xs:element name="ProviderContacts" type="EmailContactType" minOccurs="0"
462                                maxOccurs="unbounded">
463                                <xs:annotation>
464                                        <xs:documentation>Email addresses of contacts at Data Provider</xs:documentation>
465                                </xs:annotation>
466                        </xs:element>
467                        <xs:element name="ProviderAdminEmail">
468                                <xs:annotation>
469                                        <xs:documentation>Mandatory provider admin email</xs:documentation>
470                                </xs:annotation>
471                                <xs:complexType>
472                                        <xs:complexContent>
473                                                <xs:extension base="ContactType">
474                                                        <xs:sequence>
475                                                                <xs:sequence>
476                                                                        <xs:element name="EmailContact" type="EmailContactType"/>
477                                                                </xs:sequence>
478                                                                <xs:element name="Monitor" type="xs:boolean" minOccurs="0">
479                                                                        <xs:annotation>
480                                                                                <xs:documentation>Set to true if all processes are to be reported via email to this main contact</xs:documentation>
481                                                                        </xs:annotation>
482                                                                </xs:element>
483                                                        </xs:sequence>
484                                                </xs:extension>
485                                        </xs:complexContent>
486                                </xs:complexType>
487                        </xs:element>
488                </xs:sequence>
489        </xs:complexType>
490
491        <xs:complexType name="HarvestProviderType">
492                <xs:sequence> </xs:sequence>
493        </xs:complexType>
494        <xs:complexType name="DataRangeType">
495                <xs:sequence>
496                        <xs:element name="Start">
497                                <xs:annotation>
498                                        <xs:documentation>start period for calculating statistics</xs:documentation>
499                                </xs:annotation>
500                        </xs:element>
501                        <xs:element name="End">
502                                <xs:annotation>
503                                        <xs:documentation>end period for calculating statistics</xs:documentation>
504                                </xs:annotation>
505                        </xs:element>
506                </xs:sequence>
507        </xs:complexType>
508        <xs:complexType name="HarvestType">
509                <xs:sequence>
510                        <xs:element name="Type" type="xs:string">
511                                <xs:annotation>
512                                        <xs:documentation>OAI, CSW etc - should be name delimited list</xs:documentation>
513                                </xs:annotation>
514                        </xs:element>
515                </xs:sequence>
516        </xs:complexType>
517        <xs:complexType name="StatisticsType">
518                <xs:sequence>
519                        <xs:element name="Data" type="xs:string">
520                                <xs:annotation>
521                                        <xs:documentation>CDATA element containing information on statistics.  Information and structure may change.</xs:documentation>
522                                </xs:annotation>
523                        </xs:element>
524                        <xs:element ref="Provider"/>
525                </xs:sequence>
526        </xs:complexType>
527        <xs:complexType name="ContactType">
528                <xs:attribute name="id" type="xs:int" use="required"/>
529        </xs:complexType>
530        <xs:complexType name="ProcessIDType">
531                <xs:annotation>
532                        <xs:documentation>Unique ID to assign a process</xs:documentation>
533                </xs:annotation>
534                <xs:attribute name="id" type="xs:int" use="required"/>
535                <xs:attribute name="status" type="xs:string"/>
536        </xs:complexType>
537        <xs:element name="HarvestOperationType" type="HarvestType">
538                <xs:annotation>
539                        <xs:documentation>Harvest All/new records</xs:documentation>
540                </xs:annotation>
541        </xs:element>
542        <xs:complexType name="ProviderIDType">
543                <xs:annotation>
544                        <xs:documentation>Unique Provider ID</xs:documentation>
545                </xs:annotation>
546                <xs:sequence>
547                        <xs:element name="ID" type="xs:string"/>
548                </xs:sequence>
549        </xs:complexType>
550        <xs:complexType name="EmailContactType">
551                <xs:sequence>
552                        <xs:element name="Email" type="xs:string"/>
553                        <xs:element name="Name" type="xs:string" minOccurs="0"/>
554                        <xs:element name="ID" type="xs:int" minOccurs="0">
555                                <xs:annotation>
556                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
557                                </xs:annotation>
558                        </xs:element>
559                </xs:sequence>
560        </xs:complexType>
561        <xs:complexType name="ReturnType" abstract="true">
562                <xs:sequence>
563                        <xs:element name="Confirmation" type="ConfirmationType"/>
564                </xs:sequence>
565        </xs:complexType>
566        <xs:complexType name="ProviderCommonType">
567                <xs:sequence>
568                        <xs:element name="ProviderURL" type="xs:string">
569                                <xs:annotation>
570                                        <xs:documentation>URL of the Providers Metadata publisher i.e. OAI or CSW</xs:documentation>
571                                </xs:annotation>
572                        </xs:element>
573                        <xs:element name="ProviderName" type="xs:string" minOccurs="0">
574                                <xs:annotation>
575                                        <xs:documentation>Full provider name i.e. British Atmospheric Data Centre</xs:documentation>
576                                </xs:annotation>
577                        </xs:element>
578                        <xs:element name="ProviderContacts" type="EmailContactType" minOccurs="0"
579                                maxOccurs="unbounded">
580                                <xs:annotation>
581                                        <xs:documentation>Email addresses of contacts at Data Provider</xs:documentation>
582                                </xs:annotation>
583                        </xs:element>
584                        <xs:element name="ProviderAdminEmail">
585                                <xs:annotation>
586                                        <xs:documentation>Mandatory provider admin email</xs:documentation>
587                                </xs:annotation>
588                                <xs:complexType>
589                                        <xs:sequence>
590                                                <xs:element name="EmailContact" type="EmailContactType"/>
591                                                <xs:element name="Monitor" type="xs:boolean" minOccurs="0">
592                                                        <xs:annotation>
593                                                                <xs:documentation>Set to true if all processes are to be reported via email to this main contact</xs:documentation>
594                                                        </xs:annotation>
595                                                </xs:element>
596                                        </xs:sequence>
597                                </xs:complexType>
598                        </xs:element>
599                </xs:sequence>
600        </xs:complexType>
601
602       
603        <!-- ##### ProviderDetail #### -->
604        <xs:element name="Provider" type="ProviderDetail"/>
605        <xs:complexType name="ProviderDetail">
606                <xs:annotation>
607                        <xs:documentation>Provide details for a NEW metadata provider</xs:documentation>
608                </xs:annotation>
609                <xs:sequence>
610                        <xs:element ref="ProviderType"/>
611                        <xs:element name="ProviderCommon" type="ProviderCommonType"/>
612                        <xs:element name="ProviderID" type="xs:int" minOccurs="0">
613                                <xs:annotation>
614                                        <xs:documentation>Represents the ID assigned to a Provider element</xs:documentation>
615                                </xs:annotation>
616                        </xs:element>
617                </xs:sequence>
618        </xs:complexType>
619       
620        <xs:element name="ProviderType" type="ProviderDetailsType" abstract="true"/>
621        <xs:element name="OAIProvider" substitutionGroup="ProviderType" type="OAIProviderDetailsType"/>
622        <xs:element name="CSWProvider" substitutionGroup="ProviderType" type="CSWProviderDetailsType"/>
623       
624        <xs:complexType name="ProviderDetailsType" abstract="true"/>   
625        <xs:complexType name="OAIProviderDetailsType">
626                <xs:complexContent>                             
627                        <xs:extension base="ProviderDetailsType">
628                                <xs:sequence>
629                                        <xs:element name="SetSpec" type="xs:string" minOccurs="0"/>
630                                        <xs:element name="splitBySet" type="xs:boolean"/>
631                                        <xs:element name="Format" type="xs:string">
632                                                <xs:annotation>
633                                                        <xs:documentation/>
634                                                </xs:annotation>
635                                        </xs:element>
636                                </xs:sequence>
637                        </xs:extension>
638                </xs:complexContent>
639        </xs:complexType>
640       
641        <xs:complexType name="CSWProviderDetailsType">
642                <xs:complexContent>                             
643                        <xs:extension base="ProviderDetailsType">
644                                <xs:sequence>
645                                        <xs:element name="Format" type="xs:string">
646                                                <xs:annotation>
647                                                        <xs:documentation/>
648                                                </xs:annotation>
649                                        </xs:element>
650                                </xs:sequence>
651                        </xs:extension>
652                </xs:complexContent>
653        </xs:complexType>
654</xs:schema>
Note: See TracBrowser for help on using the repository browser.