Ignore:
Timestamp:
04/11/09 16:50:17 (12 years ago)
Author:
mpritcha
Message:

Initial updates sketching out new API for MEDIN.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ws-Discovery2-MEDIN/discoveryUpgrade/wsdl/Discovery.wsdl

    r5957 r5970  
    33<wsdl:definitions 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" targetNamespace="urn:DiscoveryServiceAPI"> 
    44        <wsdl:types> 
    5                 <xsd:schema targetNamespace="urn:DiscoveryServiceAPI" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:DiscoveryServiceAPI" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
     5                <xsd: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"> 
    66                        <!-- Request elements --> 
    77                        <xs:element name="doSearch" type="tns:SearchType"/> 
     
    1818                                <xs:sequence> 
    1919                                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
    20                                         <xs:element name="format" type="xs:string" minOccurs="0"/> 
    21                                         <xs:element name="orderingInfo" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded"/> 
     20                                        <xs:element name="format" type="xs:string" minOccurs="0"> 
     21                                                <xs:annotation> 
     22                                                        <xs:documentation>Required presentation format, value taken from presentFormatList.</xs:documentation> 
     23                                                </xs:annotation> 
     24                                        </xs:element> 
    2225                                </xs:sequence> 
    2326                        </xs:complexType> 
    2427                        <xs:complexType name="SearchType"> 
    2528                                <xs:sequence> 
    26                                         <xs:element name="termSearch" type="tns:TermSearchType" minOccurs="0" maxOccurs="unbounded"/> 
    27                                         <xs:element name="spatialSearch" type="tns:SpatialSearchType" minOccurs="0"/> 
    28                                         <xs:element name="temporalSearch" type="tns:TemporalSearchType" minOccurs="0"/> 
    29                                         <xs:element name="start" type="xs:positiveInteger" minOccurs="0"/> 
    30                                         <xs:element name="howMany" type="xs:positiveInteger" minOccurs="0"/> 
    31                                         <xs:element name="orderBy" type="xs:string" minOccurs="0"/> 
    32                                         <xs:element name="orderByDirection" type="tns:orderByDirectionType" minOccurs="0"/> 
    33                                         <xs:element name="scope" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
    34                                         <xs:element name="dataCentre" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
    35                                         <xs:element name="format" type="xs:string" minOccurs="0"/> 
     29                                        <xs:element name="searchCriteria"> 
     30                                                <xs:annotation> 
     31                                                        <xs:documentation>Must have at least one of : termSearch, spatialSearch, temporalSearch.</xs:documentation> 
     32                                                </xs:annotation> 
     33                                                <xs:complexType> 
     34                                                        <xs:sequence> 
     35                                                                <xs:element name="termSearch" type="tns:TermSearchType" minOccurs="0" maxOccurs="unbounded"> 
     36                                                                        <xs:annotation> 
     37                                                                                <xs:documentation>Can have multiple term searches - will treat multiple termSearches in "AND" combination, unless multiple instances of same termTarget, in which case "OR" combination is used for those with the same termTarget.</xs:documentation> 
     38                                                                        </xs:annotation> 
     39                                                                </xs:element> 
     40                                                                <xs:element name="spatialSearch" type="tns:SpatialType" minOccurs="0"> 
     41                                                                        <xs:annotation> 
     42                                                                                <xs:documentation>Comparison of a single search bounding box to spatial coverage(s) of data.</xs:documentation> 
     43                                                                        </xs:annotation> 
     44                                                                </xs:element> 
     45                                                                <xs:element name="temporalSearch" type="tns:TemporalType" minOccurs="0"> 
     46                                                                        <xs:annotation> 
     47                                                                                <xs:documentation>Comparison of a date or date range to specified/default dates within metadata.</xs:documentation> 
     48                                                                        </xs:annotation> 
     49                                                                </xs:element> 
     50                                                        </xs:sequence> 
     51                                                </xs:complexType> 
     52                                        </xs:element> 
     53                                        <xs:element name="start" type="xs:positiveInteger" minOccurs="0"> 
     54                                                <xs:annotation> 
     55                                                        <xs:documentation>Sequential record number within result set used as first record within returned search response. Useful for pag9ination. Default = 1.</xs:documentation> 
     56                                                </xs:annotation> 
     57                                        </xs:element> 
     58                                        <xs:element name="howMany" type="xs:positiveInteger" minOccurs="0"> 
     59                                                <xs:annotation> 
     60                                                        <xs:documentation>How many records from result set to include in search response. Default = 30.</xs:documentation> 
     61                                                </xs:annotation> 
     62                                        </xs:element> 
     63                                        <xs:element name="orderBy" type="tns:OrderByType" minOccurs="0" maxOccurs="unbounded"> 
     64                                                <xs:annotation> 
     65                                                        <xs:documentation>Optional set of field(s) by which to order records in the result set and hence the search response. Direction can be specified alongside each field.</xs:documentation> 
     66                                                </xs:annotation> 
     67                                        </xs:element> 
     68                                        <xs:element name="scope" type="xs:string" minOccurs="0" maxOccurs="unbounded"> 
     69                                                <xs:annotation> 
     70                                                        <xs:documentation>Optional term used to restrict search to records tagged with a data provider "scope" as listed in scopeList.</xs:documentation> 
     71                                                </xs:annotation> 
     72                                        </xs:element> 
     73                                        <xs:element name="format" type="xs:string" minOccurs="0"> 
     74                                                <xs:annotation> 
     75                                                        <xs:documentation>restrict records to specific original input formats. </xs:documentation> 
     76                                                </xs:annotation> 
     77                                        </xs:element> 
     78                                        <xs:element name="recordDetail" minOccurs="0"> 
     79                                                <xs:annotation> 
     80                                                        <xs:documentation>Level of detail to be used for each record in the search response (before initiating doPresent). Values taken from recordDetailList. Default = "id", i.e. just the document id.</xs:documentation> 
     81                                                </xs:annotation> 
     82                                        </xs:element> 
    3683                                </xs:sequence> 
    3784                        </xs:complexType> 
     
    4693                                        <xs:element name="status" type="xs:boolean"/> 
    4794                                        <xs:element name="statusMessage" type="xs:string"/> 
    48                                         <xs:element name="documents" type="tns:DocumentReturnType" minOccurs="0"/> 
     95                                        <xs:element name="documents" minOccurs="0"> 
     96                                                <xs:complexType> 
     97                                                        <xs:complexContent> 
     98                                                                <xs:extension base="tns:DocumentReturnType"> 
     99                                                                        <xs:sequence> 
     100                                                                                <xs:element name="documentFull" type="tns:ReturnFullType" maxOccurs="unbounded"/> 
     101                                                                        </xs:sequence> 
     102                                                                </xs:extension> 
     103                                                        </xs:complexContent> 
     104                                                </xs:complexType> 
     105                                        </xs:element> 
    49106                                </xs:sequence> 
    50107                        </xs:complexType> 
     
    55112                                        <xs:element name="resultId" type="xs:int" minOccurs="0"/> 
    56113                                        <xs:element name="hits" type="xs:int" minOccurs="0"/> 
    57                                         <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
     114                                        <xs:element name="documents" minOccurs="0"> 
     115                                                <xs:complexType> 
     116                                                        <xs:complexContent> 
     117                                                                <xs:extension base="tns:DocumentsType"> 
     118                                                                        <xs:choice> 
     119                                                                                <xs:sequence> 
     120                                                                                        <xs:element ref="tns:documentId" maxOccurs="unbounded"/> 
     121                                                                                </xs:sequence> 
     122                                                                                <xs:sequence> 
     123                                                                                        <xs:element name="documentBrief" type="tns:ReturnBriefType" maxOccurs="unbounded"/> 
     124                                                                                </xs:sequence> 
     125                                                                                <xs:sequence> 
     126                                                                                        <xs:element name="documentSummary" type="tns:ReturnSummaryType" maxOccurs="unbounded"/> 
     127                                                                                </xs:sequence> 
     128                                                                        </xs:choice> 
     129                                                                </xs:extension> 
     130                                                        </xs:complexContent> 
     131                                                </xs:complexType> 
     132                                        </xs:element> 
    58133                                </xs:sequence> 
    59134                        </xs:complexType> 
     
    91166                        </xs:complexType> 
    92167                        <xs:complexType name="DateRangeType"> 
    93                                 <xs:all> 
    94                                         <xs:element name="DateRangeStart" type="xs:date"/> 
    95                                         <xs:element name="DateRangeEnd" type="xs:date"/> 
    96                                 </xs:all> 
     168                                <xs:sequence> 
     169                                        <xs:element name="date" type="tns:DateValueType" maxOccurs="2"> 
     170                                                <xs:annotation> 
     171                                                        <xs:documentation>Single date, or pair of dates representing a date range, to be used in search against specified date target in metadata.</xs:documentation> 
     172                                                </xs:annotation> 
     173                                        </xs:element> 
     174                                        <xs:element name="dateRangeTarget" type="xs:string" minOccurs="0"> 
     175                                                <xs:annotation> 
     176                                                        <xs:documentation>Target date to which date search should be applied (e.g. temporal coverage of data, date of publication). Value to be chosen from dateRangeTargetList. Default = temporalCoverage.</xs:documentation> 
     177                                                </xs:annotation> 
     178                                        </xs:element> 
     179                                </xs:sequence> 
    97180                        </xs:complexType> 
    98181                        <xs:complexType name="DocumentsType"> 
    99182                                <xs:sequence> 
    100                                         <xs:element name="document" type="xs:string" maxOccurs="unbounded"/> 
    101                                 </xs:sequence> 
    102                         </xs:complexType> 
    103                         <xs:complexType name="DocumentReturnType"> 
    104                                 <xs:sequence> 
    105                                         <xs:element name="rawDocument" type="tns:DocumentsType" maxOccurs="unbounded"/> 
    106                                         <xs:element name="ancillaryInfo" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded"/> 
    107                                 </xs:sequence> 
    108                         </xs:complexType> 
    109                         <xs:complexType name="OrderingMetricType"> 
    110                                 <xs:sequence> 
    111                                         <xs:element name="metricName" type="xs:string" minOccurs="1"/> 
    112                                         <xs:element name="metricValue" type="xs:string" minOccurs="0"/> 
    113                                 </xs:sequence> 
    114                         </xs:complexType> 
    115                         <xs:complexType name="TermSearchType"> 
    116                                 <xs:sequence> 
    117                                         <xs:element name="term" type="xs:string" minOccurs="1"/> 
    118                                         <xs:element name="termType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
    119                                 </xs:sequence> 
    120                         </xs:complexType> 
    121                         <xs:complexType name="SpatialSearchType"> 
    122                                 <xs:sequence> 
    123                                         <xs:element name="spatialOperator" type="xs:string" minOccurs="1"/> 
    124                                         <xs:element name="BoundingBox" type="tns:BoundingBoxType" minOccurs="1"/> 
    125                                 </xs:sequence> 
    126                         </xs:complexType> 
    127                         <xs:complexType name="TemporalSearchType"> 
    128                                 <xs:sequence> 
    129                                         <xs:element name="temporalOperator" type="xs:string" minOccurs="0"/> 
    130                                         <xs:element name="DateRange" type="tns:DateRangeType" minOccurs="1"/> 
     183                                        <xs:element ref="tns:documentId" maxOccurs="unbounded"/> 
    131184                                </xs:sequence> 
    132185                        </xs:complexType> 
     
    137190                                </xs:restriction> 
    138191                        </xs:simpleType> 
     192                        <xs:complexType name="SpatialType"> 
     193                                <xs:sequence> 
     194                                        <xs:element name="BoundingBox" type="tns:BoundingBoxType"> 
     195                                                <xs:annotation> 
     196                                                        <xs:documentation>Bounding box with coordinates by default in EPSG:4326 (lat/lon)</xs:documentation> 
     197                                                </xs:annotation> 
     198                                        </xs:element> 
     199                                        <xs:element name="spatialOperator" type="xs:string" minOccurs="0"> 
     200                                                <xs:annotation> 
     201                                                        <xs:documentation>Operator used to compare search bounding box with spatial coverage in metadata. Values from spatialOperatorList. Default is "overlaps".</xs:documentation> 
     202                                                </xs:annotation> 
     203                                        </xs:element> 
     204                                        <xs:element name="spatialReferenceSystem" minOccurs="0"> 
     205                                                <xs:annotation> 
     206                                                        <xs:documentation>Spatial reference system used for search bounding box e.g. EPSG:4326, taken from list spatialReferenceSystemList</xs:documentation> 
     207                                                </xs:annotation> 
     208                                        </xs:element> 
     209                                </xs:sequence> 
     210                        </xs:complexType> 
     211                        <xs:complexType name="TermSearchType"> 
     212                                <xs:sequence> 
     213                                        <xs:element name="term" type="xs:string"> 
     214                                                <xs:annotation> 
     215                                                        <xs:documentation>String(s) used in search. Whitespace between strings interpreted as OR combinations of those strings, unless "+" used to combine them, in which case AND combination.</xs:documentation> 
     216                                                </xs:annotation> 
     217                                        </xs:element> 
     218                                        <xs:element name="termTarget" type="xs:string" minOccurs="0" maxOccurs="unbounded"> 
     219                                                <xs:annotation> 
     220                                                        <xs:documentation>Metadata field used as target for search. From list termTargetList</xs:documentation> 
     221                                                </xs:annotation> 
     222                                        </xs:element> 
     223                                </xs:sequence> 
     224                        </xs:complexType> 
     225                        <xs:complexType name="TemporalType"> 
     226                                <xs:sequence> 
     227                                        <xs:element name="DateRange" type="tns:DateRangeType"> 
     228                                                <xs:annotation> 
     229                                                        <xs:documentation>Specify start or end date, or both, along with target date field within metadata.</xs:documentation> 
     230                                                </xs:annotation> 
     231                                        </xs:element> 
     232                                </xs:sequence> 
     233                        </xs:complexType> 
     234                        <xs:complexType name="DocumentReturnType"/> 
     235                        <xs:complexType name="OrderingMetricType"> 
     236                                <xs:annotation> 
     237                                        <xs:documentation>Intented to allow passing of ordering information at the present level</xs:documentation> 
     238                                </xs:annotation> 
     239                                <xs:sequence> 
     240                                        <xs:element name="metricName" type="xs:string"/> 
     241                                        <xs:element name="metricValue" type="xs:string" minOccurs="0"> 
     242                                                <xs:annotation> 
     243                                                        <xs:documentation>Specific value of the metric when used in a 1:1 context with a document return</xs:documentation> 
     244                                                </xs:annotation> 
     245                                        </xs:element> 
     246                                </xs:sequence> 
     247                        </xs:complexType> 
     248                        <xs:complexType name="DateValueType"> 
     249                                <xs:sequence> 
     250                                        <xs:element name="DateValue" type="xs:date"/> 
     251                                        <xs:element name="TemporalOperator" type="xs:string" minOccurs="0"> 
     252                                                <xs:annotation> 
     253                                                        <xs:documentation>Comparison operator taken from temporalOperatorList. Default = "equals"</xs:documentation> 
     254                                                </xs:annotation> 
     255                                        </xs:element> 
     256                                </xs:sequence> 
     257                        </xs:complexType> 
     258                        <xs:complexType name="OrderByType"> 
     259                                <xs:sequence> 
     260                                        <xs:element name="orderByField" type="xs:string"> 
     261                                                <xs:annotation> 
     262                                                        <xs:documentation>Field to use for ordering within result set (and hence search response). Value taken from orderByFieldList</xs:documentation> 
     263                                                </xs:annotation> 
     264                                        </xs:element> 
     265                                        <xs:element name="orderByDirection" type="tns:orderByDirectionType" minOccurs="0"> 
     266                                                <xs:annotation> 
     267                                                        <xs:documentation>Direction of ordering used in result set and hence search response. Valid values : "ascending" or "descending". Default is descending.</xs:documentation> 
     268                                                </xs:annotation> 
     269                                        </xs:element> 
     270                                </xs:sequence> 
     271                        </xs:complexType> 
     272                        <xs:element name="documentId" type="xs:string"/> 
     273                        <xs:complexType name="ReturnBriefType"> 
     274                                <xs:complexContent> 
     275                                        <xs:extension base="tns:DocumentsType"> 
     276                                                <xs:sequence> 
     277                                                        <xs:element ref="tns:documentId"/> 
     278                                                        <xs:element name="title"/> 
     279                                                        <xs:element name="orderedField" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded"> 
     280                                                                <xs:annotation> 
     281                                                                        <xs:documentation>Name value pair(s) representing field(s) corresoponding to orderBy fields in search request.</xs:documentation> 
     282                                                                </xs:annotation> 
     283                                                        </xs:element> 
     284                                                </xs:sequence> 
     285                                        </xs:extension> 
     286                                </xs:complexContent> 
     287                        </xs:complexType> 
     288                        <xs:complexType name="ReturnSummaryType"> 
     289                                <xs:complexContent> 
     290                                        <xs:extension base="tns:DocumentsType"> 
     291                                                <xs:sequence> 
     292                                                        <xs:element ref="tns:documentId"/> 
     293                                                        <xs:element name="title"/> 
     294                                                        <xs:element name="abstract"/> 
     295                                                        <xs:element name="orderedField" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded"> 
     296                                                                <xs:annotation> 
     297                                                                        <xs:documentation>Name value pair(s) representing field(s) corresoponding to orderBy fields in search request.</xs:documentation> 
     298                                                                </xs:annotation> 
     299                                                        </xs:element> 
     300                                                        <xs:element name="temporal" type="tns:TemporalType" minOccurs="0" maxOccurs="unbounded"/> 
     301                                                        <xs:element name="spatial" type="tns:SpatialType" minOccurs="0" maxOccurs="unbounded"/> 
     302                                                </xs:sequence> 
     303                                        </xs:extension> 
     304                                </xs:complexContent> 
     305                        </xs:complexType> 
     306                        <xs:complexType name="ReturnFullType"> 
     307                                <xs:complexContent> 
     308                                        <xs:extension base="tns:DocumentsType"> 
     309                                                <xs:sequence> 
     310                                                        <xs:element ref="tns:documentId"/> 
     311                                                        <xs:element name="title"/> 
     312                                                        <xs:element name="abstract"/> 
     313                                                        <xs:element name="orderedField" type="tns:OrderingMetricType" minOccurs="0" maxOccurs="unbounded"> 
     314                                                                <xs:annotation> 
     315                                                                        <xs:documentation>Name value pair(s) representing field(s) corresoponding to orderBy fields in search request.</xs:documentation> 
     316                                                                </xs:annotation> 
     317                                                        </xs:element> 
     318                                                        <xs:element name="temporal" type="tns:TemporalType" minOccurs="0" maxOccurs="unbounded"/> 
     319                                                        <xs:element name="spatial" type="tns:SpatialType" minOccurs="0" maxOccurs="unbounded"/> 
     320                                                        <xs:element name="document" type="xs:string"> 
     321                                                                <xs:annotation> 
     322                                                                        <xs:documentation>CDATA content of returned XML document.</xs:documentation> 
     323                                                                </xs:annotation> 
     324                                                        </xs:element> 
     325                                                </xs:sequence> 
     326                                        </xs:extension> 
     327                                </xs:complexContent> 
     328                        </xs:complexType> 
    139329                </xsd:schema> 
    140330        </wsdl:types> 
Note: See TracChangeset for help on using the changeset viewer.