Fix bug in category class and use Jim's test as a test case
[jabaws.git] / webservices / compbio / ws / server / resource / TcoffeeWS_schema1.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 <xs:schema version="1.0" targetNamespace="http://msa.data.compbio/01/01/2010/" xmlns:tns="http://msa.data.compbio/01/01/2010/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
4   <xs:element name="JobSubmissionException" type="tns:JobSubmissionException"/>
5
6   <xs:element name="LimitExceededException" type="tns:LimitExceededException"/>
7
8   <xs:element name="ResultNotAvailableException" type="tns:ResultNotAvailableException"/>
9
10   <xs:element name="UnsupportedRuntimeException" type="tns:UnsupportedRuntimeException"/>
11
12   <xs:element name="WrongParameterException" type="tns:WrongParameterException"/>
13
14   <xs:element name="align" type="tns:align"/>
15
16   <xs:element name="alignResponse" type="tns:alignResponse"/>
17
18   <xs:element name="cancelJob" type="tns:cancelJob"/>
19
20   <xs:element name="cancelJobResponse" type="tns:cancelJobResponse"/>
21
22   <xs:element name="customAlign" type="tns:customAlign"/>
23
24   <xs:element name="customAlignResponse" type="tns:customAlignResponse"/>
25
26   <xs:element name="getJobStatus" type="tns:getJobStatus"/>
27
28   <xs:element name="getJobStatusResponse" type="tns:getJobStatusResponse"/>
29
30   <xs:element name="getLimit" type="tns:getLimit"/>
31
32   <xs:element name="getLimitResponse" type="tns:getLimitResponse"/>
33
34   <xs:element name="getLimits" type="tns:getLimits"/>
35
36   <xs:element name="getLimitsResponse" type="tns:getLimitsResponse"/>
37
38   <xs:element name="getPresets" type="tns:getPresets"/>
39
40   <xs:element name="getPresetsResponse" type="tns:getPresetsResponse"/>
41
42   <xs:element name="getResult" type="tns:getResult"/>
43
44   <xs:element name="getResultResponse" type="tns:getResultResponse"/>
45
46   <xs:element name="getRunnerOptions" type="tns:getRunnerOptions"/>
47
48   <xs:element name="getRunnerOptionsResponse" type="tns:getRunnerOptionsResponse"/>
49
50   <xs:element name="limits" type="tns:limitsManager"/>
51
52   <xs:element name="presetAlign" type="tns:presetAlign"/>
53
54   <xs:element name="presetAlignResponse" type="tns:presetAlignResponse"/>
55
56   <xs:element name="presets" type="tns:presetManager"/>
57
58   <xs:element name="pullExecStatistics" type="tns:pullExecStatistics"/>
59
60   <xs:element name="pullExecStatisticsResponse" type="tns:pullExecStatisticsResponse"/>
61
62   <xs:element name="runnerConfig" type="tns:runnerConfig"/>
63
64   <xs:complexType name="pullExecStatistics">
65     <xs:sequence>
66       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
67       <xs:element name="position" type="xs:long"/>
68     </xs:sequence>
69   </xs:complexType>
70
71   <xs:complexType name="pullExecStatisticsResponse">
72     <xs:sequence>
73       <xs:element name="return" type="tns:chunkHolder" minOccurs="0"/>
74     </xs:sequence>
75   </xs:complexType>
76
77   <xs:complexType name="chunkHolder">
78     <xs:sequence>
79       <xs:element name="chunk" type="xs:string" minOccurs="0"/>
80       <xs:element name="position" type="xs:long"/>
81     </xs:sequence>
82   </xs:complexType>
83
84   <xs:complexType name="customAlign">
85     <xs:sequence>
86       <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
87       <xs:element name="options" type="tns:option" minOccurs="0" maxOccurs="unbounded"/>
88     </xs:sequence>
89   </xs:complexType>
90
91   <xs:complexType name="fastaSequence">
92     <xs:sequence>
93       <xs:element name="id" type="xs:string" minOccurs="0"/>
94       <xs:element name="sequence" type="xs:string" minOccurs="0"/>
95     </xs:sequence>
96   </xs:complexType>
97
98   <xs:complexType name="option">
99     <xs:sequence>
100       <xs:element name="description" type="xs:string"/>
101       <xs:element name="optionNames" type="xs:string" maxOccurs="unbounded"/>
102       <xs:element name="name" type="xs:string"/>
103       <xs:element name="furtherDetails" type="xs:anyURI" minOccurs="0"/>
104       <xs:element name="defaultValue" type="xs:string" minOccurs="0"/>
105     </xs:sequence>
106     <xs:attribute name="isRequired" type="xs:boolean" use="required"/>
107   </xs:complexType>
108
109   <xs:complexType name="customAlignResponse">
110     <xs:sequence>
111       <xs:element name="return" type="xs:string" minOccurs="0"/>
112     </xs:sequence>
113   </xs:complexType>
114
115   <xs:complexType name="UnsupportedRuntimeException">
116     <xs:sequence>
117       <xs:element name="message" type="xs:string" minOccurs="0"/>
118     </xs:sequence>
119   </xs:complexType>
120
121   <xs:complexType name="LimitExceededException">
122     <xs:sequence>
123       <xs:element name="actualNumberofSequences" type="xs:int"/>
124       <xs:element name="message" type="xs:string" minOccurs="0"/>
125       <xs:element name="numberOfSequencesAllowed" type="xs:int"/>
126       <xs:element name="sequenceLenghtActual" type="xs:int"/>
127       <xs:element name="sequenceLenghtAllowed" type="xs:int"/>
128     </xs:sequence>
129   </xs:complexType>
130
131   <xs:complexType name="JobSubmissionException">
132     <xs:sequence>
133       <xs:element name="message" type="xs:string" minOccurs="0"/>
134     </xs:sequence>
135   </xs:complexType>
136
137   <xs:complexType name="WrongParameterException">
138     <xs:sequence>
139       <xs:element name="message" type="xs:string" minOccurs="0"/>
140     </xs:sequence>
141   </xs:complexType>
142
143   <xs:complexType name="align">
144     <xs:sequence>
145       <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
146     </xs:sequence>
147   </xs:complexType>
148
149   <xs:complexType name="alignResponse">
150     <xs:sequence>
151       <xs:element name="return" type="xs:string" minOccurs="0"/>
152     </xs:sequence>
153   </xs:complexType>
154
155   <xs:complexType name="getLimits">
156     <xs:sequence/>
157   </xs:complexType>
158
159   <xs:complexType name="getLimitsResponse">
160     <xs:sequence>
161       <xs:element name="return" type="tns:limitsManager" minOccurs="0"/>
162     </xs:sequence>
163   </xs:complexType>
164
165   <xs:complexType name="limitsManager">
166     <xs:sequence>
167       <xs:element name="runnerClassName" type="xs:string" minOccurs="0"/>
168       <xs:element name="limit" type="tns:limit" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
169     </xs:sequence>
170   </xs:complexType>
171
172   <xs:complexType name="limit">
173     <xs:sequence>
174       <xs:element name="preset" type="xs:string" minOccurs="0"/>
175       <xs:element name="seqNumber" type="xs:int"/>
176       <xs:element name="seqLength" type="xs:int"/>
177     </xs:sequence>
178     <xs:attribute name="isDefault" type="xs:boolean" use="required"/>
179   </xs:complexType>
180
181   <xs:complexType name="getPresets">
182     <xs:sequence/>
183   </xs:complexType>
184
185   <xs:complexType name="getPresetsResponse">
186     <xs:sequence>
187       <xs:element name="return" type="tns:presetManager" minOccurs="0"/>
188     </xs:sequence>
189   </xs:complexType>
190
191   <xs:complexType name="presetManager">
192     <xs:sequence>
193       <xs:element name="runnerClassName" type="xs:string"/>
194       <xs:element name="preset" type="tns:preset" maxOccurs="unbounded"/>
195     </xs:sequence>
196   </xs:complexType>
197
198   <xs:complexType name="preset">
199     <xs:sequence>
200       <xs:element name="name" type="xs:string"/>
201       <xs:element name="description" type="xs:string" minOccurs="0"/>
202       <xs:element name="optlist" minOccurs="0">
203         <xs:complexType>
204           <xs:sequence>
205             <xs:element name="option" type="xs:string" maxOccurs="unbounded"/>
206           </xs:sequence>
207         </xs:complexType>
208       </xs:element>
209     </xs:sequence>
210   </xs:complexType>
211
212   <xs:complexType name="getLimit">
213     <xs:sequence>
214       <xs:element name="presetName" type="xs:string" minOccurs="0"/>
215     </xs:sequence>
216   </xs:complexType>
217
218   <xs:complexType name="getLimitResponse">
219     <xs:sequence>
220       <xs:element name="return" type="tns:limit" minOccurs="0"/>
221     </xs:sequence>
222   </xs:complexType>
223
224   <xs:complexType name="cancelJob">
225     <xs:sequence>
226       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
227     </xs:sequence>
228   </xs:complexType>
229
230   <xs:complexType name="cancelJobResponse">
231     <xs:sequence>
232       <xs:element name="return" type="xs:boolean"/>
233     </xs:sequence>
234   </xs:complexType>
235
236   <xs:complexType name="presetAlign">
237     <xs:sequence>
238       <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
239       <xs:element name="preset" type="tns:preset" minOccurs="0"/>
240     </xs:sequence>
241   </xs:complexType>
242
243   <xs:complexType name="presetAlignResponse">
244     <xs:sequence>
245       <xs:element name="return" type="xs:string" minOccurs="0"/>
246     </xs:sequence>
247   </xs:complexType>
248
249   <xs:complexType name="getRunnerOptions">
250     <xs:sequence/>
251   </xs:complexType>
252
253   <xs:complexType name="getRunnerOptionsResponse">
254     <xs:sequence>
255       <xs:element name="return" type="tns:runnerConfig" minOccurs="0"/>
256     </xs:sequence>
257   </xs:complexType>
258
259   <xs:complexType name="runnerConfig">
260     <xs:sequence>
261       <xs:element name="options" type="tns:option" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
262       <xs:element name="parameters" type="tns:parameter" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
263       <xs:element name="prmSeparator" type="xs:string" minOccurs="0"/>
264       <xs:element name="runnerClassName" type="xs:string"/>
265     </xs:sequence>
266   </xs:complexType>
267
268   <xs:complexType name="parameter">
269     <xs:complexContent>
270       <xs:extension base="tns:option">
271         <xs:sequence>
272           <xs:element name="possibleValues" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
273           <xs:element name="validValue" type="tns:valueConstrain" minOccurs="0"/>
274         </xs:sequence>
275       </xs:extension>
276     </xs:complexContent>
277   </xs:complexType>
278
279   <xs:complexType name="valueConstrain">
280     <xs:sequence>
281       <xs:element name="type" type="tns:type"/>
282       <xs:element name="max" type="xs:string" minOccurs="0"/>
283       <xs:element name="min" type="xs:string" minOccurs="0"/>
284     </xs:sequence>
285   </xs:complexType>
286
287   <xs:complexType name="getResult">
288     <xs:sequence>
289       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
290     </xs:sequence>
291   </xs:complexType>
292
293   <xs:complexType name="getResultResponse">
294     <xs:sequence>
295       <xs:element name="return" type="tns:alignment" minOccurs="0"/>
296     </xs:sequence>
297   </xs:complexType>
298
299   <xs:complexType name="alignment" final="extension restriction">
300     <xs:sequence>
301       <xs:element name="metadata" type="tns:alignmentMetadata" minOccurs="0"/>
302       <xs:element name="sequences" type="tns:fastaSequence" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
303     </xs:sequence>
304   </xs:complexType>
305
306   <xs:complexType name="alignmentMetadata">
307     <xs:sequence>
308       <xs:element name="program" type="tns:program" minOccurs="0"/>
309       <xs:element name="gapchar" type="xs:unsignedShort"/>
310     </xs:sequence>
311   </xs:complexType>
312
313   <xs:complexType name="ResultNotAvailableException">
314     <xs:sequence>
315       <xs:element name="message" type="xs:string" minOccurs="0"/>
316     </xs:sequence>
317   </xs:complexType>
318
319   <xs:complexType name="getJobStatus">
320     <xs:sequence>
321       <xs:element name="jobId" type="xs:string" minOccurs="0"/>
322     </xs:sequence>
323   </xs:complexType>
324
325   <xs:complexType name="getJobStatusResponse">
326     <xs:sequence>
327       <xs:element name="return" type="tns:jobStatus" minOccurs="0"/>
328     </xs:sequence>
329   </xs:complexType>
330
331   <xs:simpleType name="type">
332     <xs:restriction base="xs:string">
333       <xs:enumeration value="Integer"/>
334       <xs:enumeration value="Float"/>
335     </xs:restriction>
336   </xs:simpleType>
337
338   <xs:simpleType name="program">
339     <xs:restriction base="xs:string">
340       <xs:enumeration value="CLUSTAL"/>
341       <xs:enumeration value="MAFFT"/>
342       <xs:enumeration value="MUSCLE"/>
343       <xs:enumeration value="Tcoffee"/>
344       <xs:enumeration value="Probcons"/>
345     </xs:restriction>
346   </xs:simpleType>
347
348   <xs:simpleType name="jobStatus">
349     <xs:restriction base="xs:string">
350       <xs:enumeration value="PENDING"/>
351       <xs:enumeration value="RUNNING"/>
352       <xs:enumeration value="CANCELLED"/>
353       <xs:enumeration value="FINISHED"/>
354       <xs:enumeration value="FAILED"/>
355       <xs:enumeration value="UNDEFINED"/>
356       <xs:enumeration value="STARTED"/>
357       <xs:enumeration value="SUBMITTED"/>
358       <xs:enumeration value="COLLECTED"/>
359     </xs:restriction>
360   </xs:simpleType>
361 </xs:schema>
362