source: TI02-CSML/trunk/services/specs/WPS draft 20051117/wps/0.4.0/wpsExecute.xsd @ 2194

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/services/specs/WPS draft 20051117/wps/0.4.0/wpsExecute.xsd@2194
Revision 2194, 23.5 KB checked in by lawrence, 13 years ago (diff)

Adding various specs and 3rd party code of interest for the CSML
services development.

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wps="http://www.opengeospatial.net/wps" xmlns:ows="http://www.opengeospatial.net/ows" targetNamespace="http://www.opengeospatial.net/wps" elementFormDefault="qualified" version="0.4.0" xml:lang="en">
3        <annotation>
4                <appinfo>$Id: wpsExecute.xsd 2005-09-15 $</appinfo>
5                <documentation>This XML Schema Document encodes the WPS Execute operation request and response.
6                Copyright (c) Open Geospatial Consortium (2005). </documentation>
7        </annotation>
8        <!-- =============================================================
9                includes and imports
10        ============================================================== -->
11        <include schemaLocation="wpsCommon.xsd"/>
12        <import namespace="http://www.opengeospatial.net/ows" schemaLocation="../../ows/1.0.0/owsDomainType.xsd"/>
13        <import namespace="http://www.opengeospatial.net/ows" schemaLocation="../../ows/1.0.0/owsDataIdentification.xsd"/>
14        <import namespace="http://www.opengeospatial.net/ows" schemaLocation="../../ows/1.0.0/owsExceptionReport.xsd"/>
15        <!-- =============================================================
16                elements and types
17        ============================================================== -->
18        <element name="Execute">
19                <annotation>
20                        <documentation>WPS Execute operation request, to execute one identified Process. If a process is to be run multiple times, each run shall be submitted as a separate Execute request. </documentation>
21                </annotation>
22                <complexType>
23                        <complexContent>
24                                <extension base="wps:RequestBaseType">
25                                        <sequence>
26                                                <element ref="ows:Identifier">
27                                                        <annotation>
28                                                                <documentation>Identifier of the Process to be executed. This Process identifier shall be as listed in the ProcessOfferings section of the WPS Capabilities document. </documentation>
29                                                        </annotation>
30                                                </element>
31                                                <element name="DataInputs" type="wps:DataInputsType" minOccurs="0">
32                                                        <annotation>
33                                                                <documentation>List of input (or parameter) values provided to the process, including each of the Inputs needed to execute the process. It is possible to have no inputs provided only when all the inputs are predetermined fixed resources. In all other cases, at least one input is required. </documentation>
34                                                        </annotation>
35                                                </element>
36                                                <element name="OutputDefinitions" type="wps:OutputDefinitionsType" minOccurs="0">
37                                                        <annotation>
38                                                                <documentation>List of definitions of the outputs (or parameters) requested from the process. These outputs are not normally identified, unless the client is specifically requesting a limited subset of outputs, and/or is requesting output formats and/or schemas and/or encodings different from the defaults and selected from the alternatives identified in the process description, or wishes to customize the descriptive information about the output. </documentation>
39                                                        </annotation>
40                                                </element>
41                                        </sequence>
42                                        <attribute name="store" type="boolean" use="optional" default="false">
43                                                <annotation>
44                                                        <documentation>Specifies if the complex valued output(s) of this process should be stored by the process as web-accessible resources. If store is "true", the server shall store all the complex valued output(s) of the process so that the client can retrieve them as required. If store is "false", all the complex valued output(s) shall be encoded in the Execute operation response. This parameter shall not be included unless the corresponding "storeSupported" parameter is included and is "true" in the ProcessDescription for this process. </documentation>
45                                                </annotation>
46                                        </attribute>
47                                        <attribute name="status" type="boolean" use="optional" default="false">
48                                                <annotation>
49                                                        <documentation>Specifies if the Execute operation response shall be returned quickly with status information, or not returned until process execution is complete. This parameter shall not be included unless the corresponding "statusSupported" parameter is included and is "true" in the ProcessDescription for this process. </documentation>
50                                                </annotation>
51                                        </attribute>
52                                </extension>
53                        </complexContent>
54                </complexType>
55        </element>
56        <!-- =========================================================== -->
57        <complexType name="DataInputsType">
58                <annotation>
59                        <documentation>List of the Inputs provided as part of the Execute Request. </documentation>
60                </annotation>
61                <sequence>
62                        <element name="Input" type="wps:IOValueType" maxOccurs="unbounded">
63                                <annotation>
64                                        <documentation>Unordered list of one or more inputs to be used by the process, including each of the Inputs needed to execute the process. </documentation>
65                                </annotation>
66                        </element>
67                </sequence>
68        </complexType>
69        <!-- =========================================================== -->
70        <complexType name="OutputDefinitionsType">
71                <annotation>
72                        <documentation>List of definitions of the outputs (or parameters) requested from the process. </documentation>
73                </annotation>
74                <sequence>
75                        <element name="Output" type="wps:OutputDefinitionType" maxOccurs="unbounded">
76                                <annotation>
77                                        <documentation>Unordered list of one or more definitions of the outputs requested. This element shall be repeated for each Output that offers a choice of format, and the client wishes to use one that is not identified as the default, and/or for each Output that the client wishes to customize the descriptive information about the output. </documentation>
78                                </annotation>
79                        </element>
80                </sequence>
81        </complexType>
82        <!-- =========================================================== -->
83        <complexType name="OutputDefinitionType">
84                <annotation>
85                        <documentation>Definition of a format, encoding,  schema, and unit-of-measure for an output to be returned from a process. </documentation>
86                </annotation>
87                <sequence>
88                        <element ref="ows:Identifier">
89                                <annotation>
90                                        <documentation>Unambiguous identifier or name of an output, unique for this process. </documentation>
91                                </annotation>
92                        </element>
93                        <element ref="ows:Title" minOccurs="0">
94                                <annotation>
95                                        <documentation>Title of the process output, normally available for display to a human. This element should be used if the client wishes to customize the Title in the execute response. This element should not be used if the Title provided for this output in the ProcessDescription is adequate. </documentation>
96                                </annotation>
97                        </element>
98                        <element ref="ows:Abstract" minOccurs="0">
99                                <annotation>
100                                        <documentation>Brief narrative description of a process output, normally available for display to a human. This element should be used if the client wishes to customize the Abstract in the execute response. This element should not be used if the Abstract provided for this output in the ProcessDescription is adequate. </documentation>
101                                </annotation>
102                        </element>
103                </sequence>
104                <attribute name="uom" type="anyURI" use="optional">
105                        <annotation>
106                                <documentation>Reference to the unit of measure (if any) requested for this output. A uom can be referenced when a client wants to specify one of the units of measure supported for this output. This uom shall be a unit of measure referenced for this output of this process in the Process full description. </documentation>
107                        </annotation>
108                </attribute>
109                <attributeGroup ref="wps:ComplexValueEncoding"/>
110        </complexType>
111        <!-- =========================================================== -->
112        <attributeGroup name="ComplexValueEncoding">
113                <annotation>
114                        <documentation>References the XML schema, format, and encoding of a complex value. </documentation>
115                </annotation>
116                <attribute name="format" type="ows:MimeType" use="optional">
117                        <annotation>
118                                <documentation>The Format of this input or requested for this output (e.g., text/XML). This element shall be omitted when the Format is indicated in the http header of the output. When included, this format shall be one published for this output or input in the Process full description. </documentation>
119                        </annotation>
120                </attribute>
121                <attribute name="encoding" type="anyURI" use="optional">
122                        <annotation>
123                                <documentation>The encoding of this input or requested for this output (e.g., UTF-8). This "encoding" shall be included whenever the encoding required is not the default encoding indicated in the Process full description. When included, this encoding shall be one published for this output or input in the Process full description. </documentation>
124                        </annotation>
125                </attribute>
126                <attribute name="schema" type="anyURI" use="optional">
127                        <annotation>
128                                <documentation>Web-accessible XML Schema Document that defines the content model of this complex resource (e.g., encoded using GML 2.2 Application Schema).  This reference should be included for XML encoded complex resources to facilitate validation. </documentation>
129                                <documentation>PS I changed the name of this attribute to be consistent with the ProcessDescription.  The original was giving me validation troubles in XMLSpy. </documentation>
130                        </annotation>
131                </attribute>
132        </attributeGroup>
133        <!-- ==============INPUT AND OUTPUT VALUES ====================== -->
134        <!-- =========================================================== -->
135        <complexType name="IOValueType">
136                <annotation>
137                        <documentation>Value of one input to a process or one output from a process. </documentation>
138                </annotation>
139                <complexContent>
140                        <extension base="wps:DescriptionType">
141                                <annotation>
142                                        <documentation>In this use, the DescriptionType shall describe this process input or output. </documentation>
143                                </annotation>
144                                <group ref="wps:ValueFormChoice"/>
145                        </extension>
146                </complexContent>
147        </complexType>
148        <!-- =========================================================== -->
149        <group name="ValueFormChoice">
150                <annotation>
151                        <documentation>Identifies the form of this input or output value, and provides supporting information. </documentation>
152                </annotation>
153                <choice>
154                        <element name="ComplexValueReference">
155                                <annotation>
156                                        <documentation>Identifies this input or output value as a web accessible resource, and references that resource. For an input, this element may be used by a client for any process input coded as ComplexData in the ProcessDescription. For an output, this element shall be used by a server when "store" in the Execute request is "true". </documentation>
157                                </annotation>
158                                <complexType>
159                                        <attributeGroup ref="wps:ValueReference"/>
160                                </complexType>
161                        </element>
162                        <element name="ComplexValue" type="wps:ComplexValueType">
163                                <annotation>
164                                        <documentation>Identifies this input or output value as a complex value data structure encoded in XML (e.g., using GML), and provides that complex value data structure. For an input, this element may be used by a client for any process input coded as ComplexData in the ProcessDescription. For an output, this element shall be used by a server when "store" in the Execute request is "false". </documentation>
165                                </annotation>
166                        </element>
167                        <element name="LiteralValue" type="wps:LiteralValueType">
168                                <annotation>
169                                        <documentation>Identifies this input or output value as a literal value of a simple quantity (e.g., one number), and provides that value. </documentation>
170                                </annotation>
171                        </element>
172                        <element name="BoundingBoxValue" type="ows:BoundingBoxType">
173                                <annotation>
174                                        <documentation>Identifies this input or output value as an ows:BoundingBox data structure, and provides that ows:BoundingBox data structure. </documentation>
175                                </annotation>
176                        </element>
177                </choice>
178        </group>
179        <!-- =========================================================== -->
180        <attributeGroup name="ValueReference">
181                <annotation>
182                        <documentation>Reference to an input or output value that is a web accessible resource. </documentation>
183                </annotation>
184                <attribute ref="ows:reference" use="required">
185                        <annotation>
186                                <documentation>Reference to a web-accessible resource that can be used as input, or is provided by the process as output. This attribute shall contain a URL from which this input/output can be electronically retrieved. </documentation>
187                        </annotation>
188                </attribute>
189                <attributeGroup ref="wps:ComplexValueEncoding"/>
190        </attributeGroup>
191        <!-- =========================================================== -->
192        <complexType name="ComplexValueType" mixed="true">
193                <annotation>
194                        <documentation>One complex value (such as an image), including a definition of the complex value data structure (i.e., schema, format, and encoding). </documentation>
195                </annotation>
196                <complexContent mixed="true">
197                        <extension base="anyType">
198                                <attributeGroup ref="wps:ComplexValueEncoding"/>
199                        </extension>
200                </complexContent>
201        </complexType>
202        <!-- =========================================================== -->
203        <complexType name="LiteralValueType">
204                <annotation>
205                        <documentation>One simple literal value (such as an integer or real number) that is embedded in the Execute operation request or response. </documentation>
206                </annotation>
207                <simpleContent>
208                        <extension base="string">
209                                <annotation>
210                                        <documentation>String containing the Literal value (e.g., "49").</documentation>
211                                </annotation>
212                                <attribute name="dataType" type="anyURI" use="optional">
213                                        <annotation>
214                                                <documentation>Identifies the data type of this literal input or output. This dataType should be included for each quantity whose value is not a simple string. </documentation>
215                                        </annotation>
216                                </attribute>
217                                <attribute name="uom" type="anyURI" use="optional">
218                                        <annotation>
219                                                <documentation>Identifies the unit of measure of this literal input or output. This unit of measure should be referenced for any numerical value that has units (e.g., "meters", but not a more complete reference system). Shall be a UOM identified in the Process description for this input or output. </documentation>
220                                        </annotation>
221                                </attribute>
222                        </extension>
223                </simpleContent>
224        </complexType>
225        <!-- =========== EXECUTE RESPONSE ============================== -->
226        <!-- =========================================================== -->
227        <element name="ExecuteResponse" type="wps:ExecuteResponseType">
228                <annotation>
229                        <documentation>WPS Execute operation response. By default, this XML document is delivered to the client in response to an Execute request. If "status" is "false" in the Execute operation request, this document is normally returned when process execution has been completed.
230                        If "status" in the Execute request is "true", this response shall be returned as soon as the Execute request has been accepted for processing. In this case, the same XML document is also made available as a web-accessible resource from the URL identified in the statusLocation, and the WPS server shall repopulate it once the process has completed. It may repopulate it on an ongoing basis while the process is executing.
231                        However, the response to an Execute request will not include this element in the special case where the output is a single complex value result and the Execute request indicates that "store" is "false". Instead, the server shall return the complex result (e.g., GIF image or GML) directly, without encoding it in the ExecuteResponse. If processing fails in this special case, the normal ExecuteResponse shall be sent, with the error condition indicated. This option is provided to simplify the programming required for simple clients and for service chaining. </documentation>
232                </annotation>
233        </element>
234        <!-- =========================================================== -->
235        <complexType name="ExecuteResponseType">
236                <annotation>
237                        <documentation>Response to an Execute operation request. </documentation>
238                </annotation>
239                <sequence>
240                        <element ref="ows:Identifier">
241                                <annotation>
242                                        <documentation>Identifier of the Process requested to be executed. This Process identifier shall be as listed in the ProcessOfferings section of the WPS Capabilities document. </documentation>
243                                </annotation>
244                        </element>
245                        <element name="Status" type="wps:StatusType">
246                                <annotation>
247                                        <documentation>Execution status of this process. </documentation>
248                                </annotation>
249                        </element>
250                        <element name="DataInputs" type="wps:DataInputsType" minOccurs="0">
251                                <annotation>
252                                        <documentation>Inputs that were provided as part of the execute request. This element can be omitted as an implementation decision by the WPS server. However, it is often advisable to have the response include this information, so the client can confirm that the request was received correctly, and to provide a source of metadata if the client wishes to store the result for future reference. </documentation>
253                                </annotation>
254                        </element>
255                        <element name="OutputDefinitions" type="wps:OutputDefinitionsType" minOccurs="0">
256                                <annotation>
257                                        <documentation>Complete list of Output data types that were requested as part of the Execute request. This element can be omitted as an implementation decision by the WPS server. However, it is often advisable to have the response include this information, so the client can confirm that the request was received correctly, and to provide a source of metadata if the client wishes to store the result for future reference. </documentation>
258                                </annotation>
259                        </element>
260                        <element name="ProcessOutputs" minOccurs="0">
261                                <annotation>
262                                        <documentation>List of values of the Process output parameters. Normally there would be at least one output when the process has completed successfully. If the process has not finished executing, the implementer can choose to include whatever final results are ready at the time the Execute response is provided. If the reference locations of outputs are known in advance, these URLs may be provided before they are populated. </documentation>
263                                </annotation>
264                                <complexType>
265                                        <sequence>
266                                                <element name="Output" type="wps:IOValueType" maxOccurs="unbounded">
267                                                        <annotation>
268                                                                <documentation>Unordered list of values of all the outputs produced by this process. It is not necessary to include an output until the Status is ProcessSucceeded. </documentation>
269                                                        </annotation>
270                                                </element>
271                                        </sequence>
272                                </complexType>
273                        </element>
274                </sequence>
275                <attribute name="statusLocation" type="anyURI" use="optional">
276                        <annotation>
277                                <documentation>The URL referencing the location from which the ExecuteResponse can be retrieved. If "status" is "true" in the Execute request, the ExecuteResponse should also be found here as soon as the process returns the initial response to the client. It should persist at this location as long as the outputs are accessible from the server. The outputs may be stored for as long as the implementer of the server decides. If the process takes a long time, this URL can be repopulated on an ongoing basis in order to keep the client updated on progress. Before the process has succeeded, the ExecuteResponse contains information about the status of the process, including whether or not processing has started, and the percentage completed. It may also optionally contain the inputs and any ProcessStartedType interim results. When the process has succeeded, the ExecuteResponse found at this URL shall contain the output values or references to them. </documentation>
278                        </annotation>
279                </attribute>
280                <attribute name="version" type="ows:VersionType" use="required">
281                        <annotation>
282                                <documentation>Version of the WPS interface specification implemented by the server. </documentation>
283                        </annotation>
284                </attribute>
285        </complexType>
286        <!-- =========== STATUS ========================================= -->
287        <!-- =========================================================== -->
288        <complexType name="StatusType">
289                <annotation>
290                        <documentation>Description of the status of process execution. </documentation>
291                </annotation>
292                <choice>
293                        <element name="ProcessAccepted" type="string">
294                                <annotation>
295                                        <documentation>Indicates that this process has been accepted by the server, but is in a queue and has not yet started to execute. The contents of this human-readable text string is left open to definition by each server implementation, but is expected to include any messages the server may wish to let the clients know. Such information could include how long the queue is, or any warning conditions that may have been encountered. The client may display this text to a human user. </documentation>
296                                </annotation>
297                        </element>
298                        <element name="ProcessStarted" type="wps:ProcessStartedType">
299                                <annotation>
300                                        <documentation>Indicates that this process has been has been accepted by the server, and processing has begun. </documentation>
301                                </annotation>
302                        </element>
303                        <element name="ProcessSucceeded" type="string">
304                                <annotation>
305                                        <documentation>Indicates that this process has successfully completed execution. The contents of this human-readable text string is left open to definition by each server, but is expected to include any messages the server may wish to let the clients know, such as how long the process took to execute, or any warning conditions that may have been encountered. The client may display this text string to a human user. The client should make use of the presence of this element to trigger automated or manual access to the results of the process. If manual access is intended, the client should use the presence of this element to present the results as downloadable links to the user. </documentation>
306                                </annotation>
307                        </element>
308                        <element name="ProcessFailed" type="wps:ProcessFailedType">
309                                <annotation>
310                                        <documentation>Indicates that execution of this process has failed, and includes error information. </documentation>
311                                </annotation>
312                        </element>
313                </choice>
314        </complexType>
315        <!-- =========================================================== -->
316        <complexType name="ProcessStartedType">
317                <annotation>
318                        <documentation>Indicates that this process has been has been accepted by the server, and processing has begun. </documentation>
319                </annotation>
320                <simpleContent>
321                        <extension base="string">
322                                <annotation>
323                                        <documentation>A human-readable text string whose contents are left open to definition by each WPS server, but is expected to include any messages the server may wish to let the clients know. Such information could include how much longer the process may take to execute, or any warning conditions that may have been encountered to date. The client may display this text to a human user. </documentation>
324                                </annotation>
325                                <attribute name="PercentCompleted" use="optional">
326                                        <annotation>
327                                                <documentation>Percentage of the process that has been completed, where 0 means the process has just started, and 100 means the process is complete. This attribute should be included if the process is expected to execute for a long time (i.e. more than a few minutes). This percentage is expected to be accurate to within ten percent. </documentation>
328                                        </annotation>
329                                        <simpleType>
330                                                <restriction base="integer">
331                                                        <minInclusive value="0"/>
332                                                        <maxInclusive value="100"/>
333                                                </restriction>
334                                        </simpleType>
335                                </attribute>
336                        </extension>
337                </simpleContent>
338        </complexType>
339        <!-- =========================================================== -->
340        <complexType name="ProcessFailedType">
341                <annotation>
342                        <documentation>Indicator that the process has failed to execute successfully. The reason for failure is given in the exception report. </documentation>
343                </annotation>
344                <sequence>
345                        <element ref="ows:ExceptionReport"/>
346                </sequence>
347        </complexType>
348        <!-- =========================================================== -->
349</schema>
Note: See TracBrowser for help on using the repository browser.