/[volute]/trunk/projects/grid/uws/doc/UWS.xsd
ViewVC logotype

Contents of /trunk/projects/grid/uws/doc/UWS.xsd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1683 - (show annotations)
Tue Apr 10 21:57:57 2012 UTC (8 years, 5 months ago) by harripa
File MIME type: text/plain
File size: 14624 byte(s)
allow result to have mixed content
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- $Revision: 1.2 $ $Date: 2011/09/01 14:03:58 $ $HeadURL: https://volute.googlecode.com/svn/trunk/projects/grid/uws/doc/UWS.html $ -->
3 <!-- UWS schema - Paul Harrison May 2008 -->
4 <!--
5 $Log: UWS.xsd,v $
6 Revision 1.2 2011/09/01 14:03:58 pah
7 result of merge of contracts_pah_2931 branch
8
9 Revision 1.1.2.2 2011/04/08 10:30:48 pah
10 use local import
11
12 Revision 1.1.2.1 2010/02/25 11:33:41 pah
13 updates as used in the UWS 1.0 PR
14
15 Revision 1.1 2009/06/15 15:30:32 pah
16 made some of the global element defintions for job subobjects just local again
17 added runid, ownerid
18 added ParamList
19 changed some element names to be consistent with the uris
20 Revision 1.6 2008/10/01 11:54:02 pah fix up cvs
21 header Revision 1.5 2008/09/25 00:22:35 pah change termination
22 time to execution duration
23 -->
24 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
25 targetNamespace="http://www.ivoa.net/xml/UWS/v1.0" xmlns:uws="http://www.ivoa.net/xml/UWS/v1.0"
26 xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified"
27 attributeFormDefault="unqualified"
28 >
29 <!--
30 <xs:import namespace="http://www.w3.org/1999/xlink"
31 schemaLocation="../../../stc/STC/v1.30/XLINK.xsd" />
32 -->
33 <xs:import namespace="http://www.w3.org/1999/xlink"
34 schemaLocation="http://www.ivoa.net/xml/Xlink/xlink.xsd"/>
35
36 <xs:complexType name="ShortJobDescription">
37 <xs:sequence>
38 <xs:element name="phase" type="uws:ExecutionPhase">
39 <xs:annotation>
40 <xs:documentation> the execution phase - returned at
41 /(jobs)/(jobid)/phase</xs:documentation>
42 </xs:annotation>
43 </xs:element>
44 </xs:sequence>
45 <xs:attribute name="id" type="uws:JobIdentifier" use="required"></xs:attribute>
46 <xs:attributeGroup ref="uws:reference"></xs:attributeGroup>
47 </xs:complexType>
48 <xs:attributeGroup name="reference">
49 <xs:annotation>
50 <xs:documentation>standard xlink references
51 </xs:documentation>
52 </xs:annotation>
53 <xs:attribute ref="xlink:type" use="optional"
54 default="simple" />
55 <xs:attribute ref="xlink:href" use="optional" />
56 </xs:attributeGroup>
57 <xs:simpleType name="ExecutionPhase">
58 <xs:annotation>
59 <xs:documentation> Enumeration of possible phases of job
60 execution</xs:documentation>
61 </xs:annotation>
62 <xs:restriction base="xs:string">
63 <xs:enumeration value="PENDING">
64 <xs:annotation>
65 <xs:documentation> The first phase a job is entered into
66 - this is where a job is being set up but no request
67 to run has occurred.</xs:documentation>
68 </xs:annotation>
69 </xs:enumeration>
70 <xs:enumeration value="QUEUED">
71 <xs:annotation>
72 <xs:documentation> An job has been accepted for execution
73 but is waiting in a queue</xs:documentation>
74 </xs:annotation>
75 </xs:enumeration>
76 <xs:enumeration value="EXECUTING">
77 <xs:annotation>
78 <xs:documentation>An job is running</xs:documentation>
79 </xs:annotation>
80 </xs:enumeration>
81 <xs:enumeration value="COMPLETED">
82 <xs:annotation>
83 <xs:documentation> An job has completed successfully
84 </xs:documentation>
85 </xs:annotation>
86 </xs:enumeration>
87 <xs:enumeration value="ERROR">
88 <xs:annotation>
89 <xs:documentation> Some form of error has occurred
90 </xs:documentation>
91 </xs:annotation>
92 </xs:enumeration>
93 <xs:enumeration value="UNKNOWN">
94 <xs:annotation>
95 <xs:documentation> The job is in an unknown state.
96 </xs:documentation>
97 </xs:annotation>
98 </xs:enumeration>
99 <xs:enumeration value="HELD">
100 <xs:annotation>
101 <xs:documentation> The job is HELD pending execution and
102 will not automatically be executed - can occur after a PHASE=RUN request has been made (cf PENDING).
103 </xs:documentation>
104 </xs:annotation>
105 </xs:enumeration>
106 <xs:enumeration value="SUSPENDED">
107 <xs:annotation>
108 <xs:documentation> The job has been suspended by the
109 system during execution</xs:documentation>
110 </xs:annotation>
111 </xs:enumeration>
112 <xs:enumeration value="ABORTED">
113 <xs:annotation>
114 <xs:documentation> The job has been aborted, either by
115 user request or by the server because of lack or
116 overuse of resources.</xs:documentation>
117 </xs:annotation>
118 </xs:enumeration>
119 </xs:restriction>
120 </xs:simpleType>
121 <xs:complexType name="JobSummary">
122 <xs:annotation>
123 <xs:documentation>The complete representation of the state
124 of a job</xs:documentation>
125 </xs:annotation>
126 <xs:sequence>
127 <xs:element name="jobId" type="uws:JobIdentifier" />
128 <xs:element name="runId" type="xs:string" maxOccurs="1"
129 minOccurs="0"
130 >
131 <xs:annotation>
132 <xs:documentation> this is a client supplied identifier -
133 the UWS system does nothing other than to return it as
134 part of the description of the job</xs:documentation>
135 </xs:annotation>
136 </xs:element>
137 <xs:element name="ownerId" type="xs:string"
138 nillable="true"
139 >
140 <xs:annotation>
141 <xs:documentation>the owner (creator) of the job -
142 this should be expressed as a string that can be
143 parsed in accordance with IVOA security standards. If
144 there was no authenticated job creator then this
145 should be set to NULL.</xs:documentation>
146 </xs:annotation>
147 </xs:element>
148 <xs:element name="phase" type="uws:ExecutionPhase">
149 <xs:annotation>
150 <xs:documentation> the execution phase - returned at
151 /(jobs)/(jobid)/phase</xs:documentation>
152 </xs:annotation>
153 </xs:element>
154 <xs:element name="quote" type="xs:dateTime"
155 nillable="true" maxOccurs="1" minOccurs="0"
156 >
157 <xs:annotation>
158 <xs:documentation> A Quote predicts when the job is likely to complete - returned at /(jobs)/(jobid)/quote
159 "don't know" is encoded by setting to the XML null value xsi:nil="true"</xs:documentation>
160 </xs:annotation>
161 </xs:element>
162 <xs:element name="startTime" type="xs:dateTime"
163 nillable="true" >
164 <xs:annotation>
165 <xs:documentation>The instant at which the job started execution.</xs:documentation>
166 </xs:annotation></xs:element>
167 <xs:element name="endTime" type="xs:dateTime"
168 nillable="true" >
169 <xs:annotation>
170 <xs:documentation>The instant at which the job finished execution</xs:documentation>
171 </xs:annotation></xs:element>
172 <xs:element name="executionDuration" type="xs:int"
173 nillable="false"
174 >
175 <!-- TODO look if xs:duration here has any benefits -->
176 <xs:annotation>
177 <xs:documentation> The duration (in seconds) for which
178 the job should be allowed to run - a value of 0 is
179 intended to mean unlimited - returned at
180 /(jobs)/(jobid)/executionduration</xs:documentation>
181 </xs:annotation>
182 </xs:element>
183 <xs:element name="destruction" type="xs:dateTime"
184 nillable="true"
185 >
186 <xs:annotation>
187 <xs:documentation> The time at which the whole job +
188 records + results will be destroyed. returned at
189 /(jobs)/(jobid)/destruction</xs:documentation>
190 </xs:annotation>
191 </xs:element>
192 <xs:element ref="uws:parameters" maxOccurs="1"
193 minOccurs="0"
194 >
195 <xs:annotation>
196 <xs:documentation>The parameters to the job (where appropriate)
197 can also be retrieved at /(jobs)/(jobid)/parameters</xs:documentation>
198 </xs:annotation>
199 </xs:element>
200 <xs:element ref="uws:results">
201 <xs:annotation>
202 <xs:documentation>The results for the job - can also be retrieved at /(jobs)/(jobid)/results</xs:documentation>
203 </xs:annotation></xs:element>
204 <xs:element name="errorSummary" type="uws:ErrorSummary"
205 maxOccurs="1" minOccurs="0"
206 >
207 </xs:element>
208 <xs:element name="jobInfo" maxOccurs="1" minOccurs="0">
209 <xs:annotation>
210 <xs:documentation> This is arbitrary information that can
211 be added to the job description by the UWS
212 implementation.</xs:documentation>
213 </xs:annotation>
214 <xs:complexType>
215 <xs:sequence>
216 <xs:any namespace="##any" processContents="lax"
217 minOccurs="0" maxOccurs="unbounded" />
218 </xs:sequence>
219 </xs:complexType>
220 </xs:element>
221 </xs:sequence>
222 </xs:complexType>
223 <xs:simpleType name="JobIdentifier">
224 <xs:annotation>
225 <xs:documentation> The identifier for the job
226 </xs:documentation>
227 </xs:annotation>
228 <xs:restriction base="xs:string" />
229 </xs:simpleType>
230 <xs:element name="job" type="uws:JobSummary">
231 <xs:annotation>
232 <xs:documentation> This is the information that is returned
233 when a GET is made for a single job resource - i.e.
234 /(jobs)/(jobid)</xs:documentation>
235 </xs:annotation>
236 </xs:element>
237 <xs:element name="jobs">
238 <xs:annotation>
239 <xs:documentation> The list of job references returned at
240 /(jobs)</xs:documentation>
241 </xs:annotation>
242 <xs:complexType>
243 <xs:annotation>
244 <xs:documentation> ISSUE - do we want to have any sort of
245 paging or selection mechanism in case the job list gets
246 very large? Or is that an unnecessary complication...
247 </xs:documentation>
248 </xs:annotation>
249 <xs:sequence>
250 <xs:element name="jobref" type="uws:ShortJobDescription"
251 maxOccurs="unbounded" minOccurs="0"
252 ></xs:element>
253 </xs:sequence>
254 </xs:complexType>
255 </xs:element>
256 <xs:complexType name="ResultReference" mixed="true">
257 <xs:annotation>
258 <xs:documentation> A reference to a UWS result
259 </xs:documentation>
260 </xs:annotation>
261 <xs:attribute name="id" type="xs:string" use="required"></xs:attribute>
262 <xs:attributeGroup ref="uws:reference"></xs:attributeGroup>
263 </xs:complexType>
264 <xs:element name="results">
265 <xs:annotation>
266 <xs:documentation> The element returned for
267 /(jobs)/(jobid)/results</xs:documentation>
268 </xs:annotation>
269 <xs:complexType>
270 <xs:sequence>
271 <xs:element name="result" type="uws:ResultReference"
272 maxOccurs="unbounded" minOccurs="0"
273 ></xs:element>
274 </xs:sequence>
275 </xs:complexType>
276 </xs:element>
277 <xs:complexType name="ErrorSummary">
278 <xs:annotation>
279 <xs:documentation>
280 A short summary of an error - a fuller representation of the
281 error may be retrieved from /(jobs)/(jobid)/error
282 </xs:documentation>
283 </xs:annotation>
284 <xs:sequence>
285 <xs:element name="message" type="xs:string"></xs:element>
286 </xs:sequence>
287 <xs:attribute name="type" type="uws:ErrorType" use="required">
288 <xs:annotation>
289 <xs:documentation>
290 characterization of the type of the error
291 </xs:documentation>
292 </xs:annotation>
293 </xs:attribute>
294 <xs:attribute name="hasDetail" type="xs:boolean" use="required">
295 <xs:annotation>
296 <xs:documentation>if true then there is a more detailed error message available at /(jobs)/(jobid)/error</xs:documentation>
297 </xs:annotation></xs:attribute>
298 </xs:complexType>
299 <xs:simpleType name="ErrorType">
300 <xs:restriction base="xs:string">
301 <xs:enumeration value="transient"></xs:enumeration>
302 <xs:enumeration value="fatal"></xs:enumeration>
303 </xs:restriction>
304 </xs:simpleType>
305 <xs:complexType name="Parameter" mixed="true">
306 <xs:annotation>
307 <xs:documentation> the list of input parameters to the job - if
308 the job description language does not naturally have
309 parameters, then this list should contain one element which
310 is the content of the original POST that created the job.
311 </xs:documentation>
312 </xs:annotation>
313 <xs:attribute name="byReference" type="xs:boolean"
314 default="false"
315 >
316 <xs:annotation>
317 <xs:documentation> if this attribute is true then the
318 content of the parameter represents a URL to retrieve the
319 actual parameter value.</xs:documentation>
320 <xs:documentation> It is up to the implementation to decide
321 if a parameter value cannot be returned directly as the
322 content - the basic rule is that the representation of
323 the parameter must allow the whole job element to be
324 valid XML. If this cannot be achieved then the parameter
325 value must be returned by reference.</xs:documentation>
326 </xs:annotation>
327 </xs:attribute>
328 <xs:attribute name="id" type="xs:string" use="required">
329 <xs:annotation>
330 <xs:documentation> the identifier for the parameter
331 </xs:documentation>
332 </xs:annotation>
333 </xs:attribute>
334 <xs:attribute name="isPost" type="xs:boolean"></xs:attribute>
335 </xs:complexType>
336 <xs:element name="parameters">
337 <xs:complexType>
338 <xs:sequence>
339 <xs:element name="parameter" type="uws:Parameter"
340 maxOccurs="unbounded" minOccurs="0"
341 ></xs:element>
342 </xs:sequence>
343 </xs:complexType>
344 </xs:element>
345 </xs:schema>
346
347 <!-- -->

Properties

Name Value
svn:mime-type text/plain

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26