source: TI01-discovery/branches/ws-Discovery2-MEDIN/discoveryUpgrade/wsdl/DiscoverySchema.xsd @ 5926

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/branches/ws-Discovery2-MEDIN/discoveryUpgrade/wsdl/DiscoverySchema.xsd@5926
Revision 5926, 7.6 KB checked in by sdonegan, 10 years ago (diff)

made a copy

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 targetNamespace="urn:DiscoveryServiceAPI" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:DiscoveryServiceAPI" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:tns1="urn:DiscoveryServiceAPI" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4        <!-- Request elements -->
5        <xs:element name="doSearch" type="tns:SearchType"/>
6        <xs:element name="doPresent" type="tns:PresentType"/>
7        <xs:element name="getListNames" nillable="true"/>
8        <xs:element name="getList" type="tns:getListType"/>
9        <!-- Response elements -->
10        <xs:element name="doSearchReturn" type="tns:SearchReturnType"/>
11        <xs:element name="doPresentReturn" type="tns:PresentReturnType"/>
12        <xs:element name="getListNamesReturn" type="tns:getListNamesReturnType"/>
13        <xs:element name="getListReturn" type="tns:getListReturnType"/>
14        <!-- Request global types -->
15        <xs:complexType name="PresentType">
16                <xs:sequence>
17                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/>
18                        <xs:element name="format" type="xs:string" minOccurs="0"/>
19                        <xs:element name="orderingInfo" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded">
20                                <xs:annotation>
21                                        <xs:documentation>Intended to allow request for extra information to be passed back to portal for portal ordering.  Note actual sequence of returned documents is governed by the squence in which documents are called.</xs:documentation>
22                                </xs:annotation>
23                        </xs:element>
24                </xs:sequence>
25        </xs:complexType>
26        <xs:complexType name="SearchType">
27                <xs:sequence>
28                        <xs:element name="termSearch" type="tns:TermType" minOccurs="0" maxOccurs="unbounded">
29                                <xs:annotation>
30                                        <xs:documentation>Can have multiple text searches - will treat multiple text search as an "and"</xs:documentation>
31                                </xs:annotation>
32                        </xs:element>
33                        <xs:element name="spatialSearch" type="tns:SpatialSearchType" minOccurs="0"/>
34                        <xs:element name="temporalSearch" type="tns:TemporalSearchType" minOccurs="0"/>
35                        <xs:element name="start" type="xs:positiveInteger" minOccurs="0"/>
36                        <xs:element name="howMany" type="xs:positiveInteger" minOccurs="0"/>
37                        <xs:element name="orderBy" type="xs:string" minOccurs="0"/>
38                        <xs:element name="orderByDirection" type="tns:orderByDirectionType" minOccurs="0"/>
39                        <xs:element name="scope" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
40                        <xs:element name="dataCentre" type="xs:string" minOccurs="0" maxOccurs="unbounded">
41                                <xs:annotation>
42                                        <xs:documentation>different to scope - restrict results to records from specific datacentres</xs:documentation>
43                                </xs:annotation>
44                        </xs:element>
45                        <xs:element name="format" type="xs:string" minOccurs="0">
46                                <xs:annotation>
47                                        <xs:documentation>restrict records to specific original input formats. </xs:documentation>
48                                </xs:annotation>
49                        </xs:element>
50                </xs:sequence>
51        </xs:complexType>
52        <xs:complexType name="getListType">
53                <xs:sequence>
54                        <xs:element name="listName" type="xs:string"/>
55                </xs:sequence>
56        </xs:complexType>
57        <!-- Response global types -->
58        <xs:complexType name="PresentReturnType">
59                <xs:sequence>
60                        <xs:element name="status" type="xs:boolean"/>
61                        <xs:element name="statusMessage" type="xs:string"/>
62                        <xs:element name="documents" type="tns:DocumentReturnType" minOccurs="0"/>
63                </xs:sequence>
64        </xs:complexType>
65        <xs:complexType name="SearchReturnType">
66                <xs:sequence>
67                        <xs:element name="status" type="xs:boolean"/>
68                        <xs:element name="statusMessage" type="xs:string"/>
69                        <xs:element name="resultId" type="xs:int" minOccurs="0"/>
70                        <xs:element name="hits" type="xs:int" minOccurs="0"/>
71                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/>
72                </xs:sequence>
73        </xs:complexType>
74        <xs:complexType name="getListNamesReturnType">
75                <xs:sequence maxOccurs="unbounded">
76                        <xs:element name="listNames">
77                                <xs:complexType>
78                                        <xs:sequence>
79                                                <xs:element name="listName" type="xs:string" maxOccurs="unbounded"/>
80                                        </xs:sequence>
81                                </xs:complexType>
82                        </xs:element>
83                </xs:sequence>
84        </xs:complexType>
85        <xs:complexType name="getListReturnType">
86                <xs:sequence>
87                        <xs:element name="list" minOccurs="0">
88                                <xs:complexType>
89                                        <xs:sequence>
90                                                <xs:element name="listMember" type="xs:string" maxOccurs="unbounded"/>
91                                        </xs:sequence>
92                                        <xs:attribute name="name" type="xs:string" use="required"/>
93                                </xs:complexType>
94                        </xs:element>
95                </xs:sequence>
96        </xs:complexType>
97        <!-- Other global types-->
98        <xs:complexType name="BoundingBoxType">
99                <xs:all>
100                        <xs:element name="LimitNorth" type="xs:decimal"/>
101                        <xs:element name="LimitSouth" type="xs:decimal"/>
102                        <xs:element name="LimitWest" type="xs:decimal"/>
103                        <xs:element name="LimitEast" type="xs:decimal"/>
104                </xs:all>
105        </xs:complexType>
106        <xs:complexType name="DateRangeType">
107                <xs:sequence>
108                        <xs:element name="DateRangeStart" type="xs:date" minOccurs="0"/>
109                        <xs:element name="DateRangeEnd" type="xs:date" minOccurs="0"/>
110                </xs:sequence>
111        </xs:complexType>
112        <xs:complexType name="DocumentsType">
113                <xs:sequence>
114                        <xs:element name="document" type="xs:string" maxOccurs="unbounded"/>
115                </xs:sequence>
116        </xs:complexType>
117        <xs:simpleType name="orderByDirectionType">
118                <xs:restriction base="xs:string">
119                        <xs:enumeration value="ascending"/>
120                        <xs:enumeration value="descending"/>
121                </xs:restriction>
122        </xs:simpleType>
123        <xs:complexType name="SpatialSearchType">
124                <xs:sequence>
125                        <xs:element name="spatialOperator" type="xs:string" minOccurs="0"/>
126                        <xs:element name="BoundingBox" type="tns:BoundingBoxType"/>
127                </xs:sequence>
128        </xs:complexType>
129        <xs:complexType name="TermType">
130                <xs:sequence>
131                        <xs:element name="term" type="xs:string"/>
132                        <xs:element name="termType" type="xs:string" minOccurs="0" maxOccurs="unbounded">
133                                <xs:annotation>
134                                        <xs:documentation>Keyword type</xs:documentation>
135                                </xs:annotation>
136                        </xs:element>
137                </xs:sequence>
138        </xs:complexType>
139        <xs:complexType name="TemporalSearchType">
140                <xs:sequence>
141                        <xs:element name="temporalOperator" type="xs:string" minOccurs="0"/>
142                        <xs:element name="DateRange" type="tns:DateRangeType"/>
143                </xs:sequence>
144        </xs:complexType>
145        <xs:complexType name="DocumentReturnType">
146                <xs:sequence>
147                        <xs:element name="rawDocument" type="tns:DocumentsType">
148                                <xs:annotation>
149                                        <xs:documentation>this replaces 'document' in previous xsd - this will hold the actual requested xml in CDATA</xs:documentation>
150                                </xs:annotation>
151                        </xs:element>
152                        <xs:element name="ancillaryInfo" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded">
153                                <xs:annotation>
154                                        <xs:documentation>Use this sequence to return information on ordering metrics not held within original xml i.e. dataset popularity</xs:documentation>
155                                </xs:annotation>
156                        </xs:element>
157                </xs:sequence>
158        </xs:complexType>
159        <xs:complexType name="OrderingMetricType">
160                <xs:annotation>
161                        <xs:documentation>Intented to allow passing of ordering information at the present level</xs:documentation>
162                </xs:annotation>
163                <xs:sequence>
164                        <xs:element name="metricName" type="xs:string"/>
165                        <xs:element name="metricValue" type="xs:string" minOccurs="0">
166                                <xs:annotation>
167                                        <xs:documentation>Specific value of the metric when used in a 1:1 context with a document return</xs:documentation>
168                                </xs:annotation>
169                        </xs:element>
170                </xs:sequence>
171        </xs:complexType>
172</xs:schema>
Note: See TracBrowser for help on using the repository browser.