PSICQUIC: psicquic.xsd

File psicquic.xsd, 4.5 KB (added by baranda, 16 years ago)

schema for the types of the web service

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns="http://psi.hupo.org/mi/psicquic"
3           xmlns:xs="http://www.w3.org/2001/XMLSchema"
4           xmlns:mif="http://psi.hupo.org/mi/mif"
5           xmlns:mitab="http://psi.hupo.org/mi/mitab"
6           targetNamespace="http://psi.hupo.org/mi/psicquic"
7           elementFormDefault="qualified" attributeFormDefault="unqualified"
8        >
9
10    <xs:import namespace="http://psi.hupo.org/mi/mif"
11               schemaLocation="MIF254.xsd"/>
12    <xs:import namespace="http://psi.hupo.org/mi/mitab"
13               schemaLocation="mitab-1.0.xsd"/>
14
15    <!-- types -->
16
17    <xs:complexType name="dbRefType">
18        <xs:sequence>
19            <xs:element name="db" type="xs:string" default=""/>
20            <xs:element name="ac" type="xs:string" default=""/>
21        </xs:sequence>
22    </xs:complexType>
23
24    <xs:complexType name="dbRefListType">
25        <xs:sequence>
26            <xs:element name="dbRef" type="dbRefType" minOccurs="1" maxOccurs="unbounded"/>
27        </xs:sequence>
28    </xs:complexType>
29
30    <xs:complexType name="queryType">
31        <xs:sequence>
32            <xs:element name="queryFormat" type="xs:string"/>
33            <xs:element name="queryString" type="xs:string"/>
34        </xs:sequence>
35    </xs:complexType>
36
37    <xs:complexType name="resultInfoType">
38        <xs:sequence>
39            <xs:element name="firstResult" type="xs:int"/>
40            <xs:element name="totalResults" type="xs:int"/>
41            <xs:element name="blockSize" type="xs:int"/>
42            <xs:element name="expirationDate" type="xs:dateTime"/>
43        </xs:sequence>
44    </xs:complexType>
45
46    <xs:complexType name="dbRefRequestType">
47        <xs:sequence>
48            <xs:element name="dbRef" type="dbRefType"/>
49            <xs:element name="resultType" type="xs:string"/>
50            <xs:element name="firstResult" type="xs:int" default="0"/>
51            <xs:element name="blockSize" type="xs:int" default="200"/>
52        </xs:sequence>
53    </xs:complexType>
54
55    <xs:complexType name="dbRefListRequestType">
56        <xs:sequence>
57            <xs:element name="dbRefList" type="dbRefType"/>
58            <xs:element name="resultType" type="xs:string"/>
59            <xs:element name="firstResult" type="xs:int" default="0"/>
60            <xs:element name="blockSize" type="xs:int" default="200"/>
61        </xs:sequence>
62    </xs:complexType>
63
64    <xs:complexType name="queryRequestType">
65        <xs:sequence>
66            <xs:element name="query" type="queryType"/>
67            <xs:element name="resultType" type="xs:string"/>
68            <xs:element name="firstResult" type="xs:int" default="0"/>
69            <xs:element name="blockSize" type="xs:int" default="200"/>
70        </xs:sequence>
71    </xs:complexType>
72
73    <xs:complexType name="queryResponseType">
74        <xs:sequence>
75            <xs:element name="resultSet" type="resultSetType"/>
76            <xs:element name="resultInfo" type="resultInfoType"/>
77        </xs:sequence>
78    </xs:complexType>
79
80    <xs:complexType name="resultSetType">
81        <xs:sequence>
82            <xs:element name="entrySet" type="mif:entrySetType" minOccurs="0" maxOccurs="1"/>
83            <xs:element name="mitab" type="mitab:mitabType" minOccurs="0" maxOccurs="1"/>
84        </xs:sequence>
85    </xs:complexType>
86
87    <!-- elements -->
88
89    <xs:element name="getByInteractorRequest" type="dbRefRequestType"/>
90    <xs:element name="getByInteractionRequest" type="dbRefRequestType"/>
91    <xs:element name="getByInteractorListRequest" type="dbRefListRequestType"/>
92    <xs:element name="getByInteractionListRequest" type="dbRefListType"/>
93    <xs:element name="getBetweenListRequest" type="dbRefListRequestType"/>
94    <xs:element name="getByQueryStringRequest" type="queryRequestType"/>
95
96    <xs:element name="getVersionResponse" type="xs:string"/>
97    <xs:element name="supportedDataTypes">
98        <xs:complexType>
99            <xs:sequence>
100                <xs:element name="dataType" type="xs:string" maxOccurs="unbounded"/>
101            </xs:sequence>
102        </xs:complexType>
103    </xs:element>
104
105    <xs:element name="queryResponse" type="queryResponseType"/>
106
107    <!-- faults -->
108
109    <xs:element name="psicquicFault">
110        <xs:complexType>
111            <xs:sequence>
112                <xs:element name="code" type="xs:int"/>
113                <xs:element name="message" type="xs:string"/>
114            </xs:sequence>
115        </xs:complexType>
116    </xs:element>
117
118</xs:schema>