source: TI01-discovery/trunk/ws-Discovery2/wsdl/DiscoverySchema.xsd @ 1871

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI01-discovery/trunk/ws-Discovery2/wsdl/DiscoverySchema.xsd@1871
Revision 1871, 4.5 KB checked in by mpritcha, 13 years ago (diff)

Merged search methods into one, with single request / response type.

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Matt Pritchard (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:sequence>
20        </xs:complexType>
21        <xs:complexType name="SearchType">
22                <xs:sequence>
23                        <xs:element name="term" type="xs:string"/>
24                        <xs:element name="termType" type="xs:string"/>
25                        <xs:element name="start" type="xs:positiveInteger" minOccurs="0"/>
26                        <xs:element name="howMany" type="xs:positiveInteger" minOccurs="0"/>
27                        <xs:element name="orderBy" type="xs:string" minOccurs="0"/>
28                        <xs:element name="orderByDirection" type="tns:orderByDirectionType" minOccurs="0"/>
29                        <xs:element name="scope" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
30                        <xs:element name="BoundingBox" type="tns:BoundingBoxType" minOccurs="0"/>
31                        <xs:element name="DateRange" type="tns:DateRangeType" minOccurs="0"/>
32                </xs:sequence>
33        </xs:complexType>
34        <xs:complexType name="getListType">
35                <xs:sequence>
36                        <xs:element name="listName" type="xs:string"/>
37                </xs:sequence>
38        </xs:complexType>
39        <!-- Response global types -->
40        <xs:complexType name="PresentReturnType">
41                <xs:sequence>
42                        <xs:element name="status" type="xs:boolean"/>
43                        <xs:element name="statusMessage" type="xs:string"/>
44                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/>
45                </xs:sequence>
46        </xs:complexType>
47        <xs:complexType name="SearchReturnType">
48                <xs:sequence>
49                        <xs:element name="status" type="xs:boolean"/>
50                        <xs:element name="statusMessage" type="xs:string"/>
51                        <xs:element name="resultId" type="xs:int" minOccurs="0"/>
52                        <xs:element name="hits" type="xs:int" minOccurs="0"/>
53                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/>
54                </xs:sequence>
55        </xs:complexType>
56        <xs:complexType name="getListNamesReturnType">
57                <xs:sequence maxOccurs="unbounded">
58                        <xs:element name="listNames">
59                                <xs:complexType>
60                                        <xs:sequence>
61                                                <xs:element name="listName" type="xs:string" maxOccurs="unbounded"/>
62                                        </xs:sequence>
63                                </xs:complexType>
64                        </xs:element>
65                </xs:sequence>
66        </xs:complexType>
67        <xs:complexType name="getListReturnType">
68                <xs:sequence>
69                        <xs:element name="list" minOccurs="0">
70                                <xs:complexType>
71                                        <xs:sequence>
72                                                <xs:element name="listMember" type="xs:string" maxOccurs="unbounded"/>
73                                        </xs:sequence>
74                                        <xs:attribute name="name" type="xs:string" use="required"/>
75                                </xs:complexType>
76                        </xs:element>
77                </xs:sequence>
78        </xs:complexType>
79        <!-- Other global types-->
80        <xs:complexType name="BoundingBoxType">
81                <xs:all>
82                        <xs:element name="LimitNorth" type="xs:decimal"/>
83                        <xs:element name="LimitSouth" type="xs:decimal"/>
84                        <xs:element name="LimitWest" type="xs:decimal"/>
85                        <xs:element name="LimitEast" type="xs:decimal"/>
86                </xs:all>
87        </xs:complexType>
88        <xs:complexType name="DateRangeType">
89                <xs:all>
90                        <xs:element name="DateRangeStart" type="xs:date"/>
91                        <xs:element name="DateRangeEnd" type="xs:date"/>
92                </xs:all>
93        </xs:complexType>
94        <xs:complexType name="DocumentsType">
95                <xs:sequence>
96                        <xs:element name="document" type="xs:string" maxOccurs="unbounded"/>
97                </xs:sequence>
98        </xs:complexType>
99        <xs:simpleType name="orderByDirectionType">
100                <xs:restriction base="xs:string">
101                        <xs:enumeration value="ascending"/>
102                        <xs:enumeration value="descnding"/>
103                </xs:restriction>
104        </xs:simpleType>
105</xs:schema>
Note: See TracBrowser for help on using the repository browser.