source: TI02-CSML/trunk/services/3rdParty/pywps-1.0.0/pywps/Wps/ogc/execute.py @ 2194

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/services/3rdParty/pywps-1.0.0/pywps/Wps/ogc/execute.py@2194
Revision 2194, 25.4 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#!/usr/bin/python
2"""
3Execute definition file
4
5Description:
6    This file contains structure describing the Execute response
7    and request. See OGC 05-007r4 for details
8
9    For each structure:
10        Possible attributes are
11
12        oblig - (m)andatory, (o)ptional, (c)onditional
13        ns - namespace
14        elements - nested elements (if any)
15        attributes - attributes of this element (if any)
16        default - default value (if any)
17        values - if there are more nearly same structures
18"""
19
20# Author:       Jachym Cepicky
21#               http://les-ejk.cz
22#
23# Lince:
24#
25# Web Processing Service implementation
26# Copyright (C) 2006 Jachym Cepicky
27#
28# This program is free software; you can redistribute it and/or modify
29# it under the terms of the GNU General Public License as published by
30# the Free Software Foundation; either version 2 of the License, or
31# (at your option) any later version.
32#
33# This program is distributed in the hope that it will be useful,
34# but WITHOUT ANY WARRANTY; without even the implied warranty of
35# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
36# GNU General Public License for more details.
37#
38# You should have received a copy of the GNU General Public License
39# along with this program; if not, write to the Free Software
40# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
41
42class WPS:
43    def __init__(self):
44        self.namespaces = {
45            "ows":"http://www.opengeospatial.net/ows",
46            "wps":"http://www.opengeospatial.net/wps",
47            "xsi":"http://www.w3.org/2001/XMLSchema-instance",
48            "xlink":"http://www.w3.org/1999/xlink",
49            }
50
51        self.schemalocation = {
52          "wps":"http://www.bnhelp.cz/schema/wps/0.4.0/wpsExecute.xsd",
53        }
54       
55        self.e = {
56            'request': {
57                'attributes': {
58                    'service':{
59                        'oblig':"m"
60                        },
61                    'request':{
62                        'oblig':"m"
63                        },
64                    'version':{
65                        'oblig':"m"
66                        },
67                    'store': {
68                        'oblig':"o", 
69                        'defaul':"false"
70                        },
71                    'status':{
72                        'oblig':"o", 
73                        'defaul':"false"
74                        },
75                    },
76                'elements': {
77                    'Identifier':{
78                        'oblig':"m"
79                        },
80                    'DataInputs':{
81                        'Input': {
82                            'Identifier': {
83                                'oblig':"m"
84                                },
85                            'Title'     : {
86                                'oblig':"m"
87                                },
88                            'Abstract'  : {
89                                'oblig':"o"
90                                },
91                            'ValueFormChoice' : {
92                                'ComplexValueReference': {
93                                        'attributes': {
94                                            'format': {
95                                                'oblig':"o"
96                                                },
97                                            'encoding': {
98                                                'oblig':"o"
99                                                },
100                                            'schema': {
101                                                'oblig':"o"
102                                                },
103                                            'reference': {
104                                                'oblig':"m"
105                                                },
106                                            }
107                                        },#/ComplexValueReference
108                                    'ComplexValue': {
109                                        'attributes': {
110                                            'format': {
111                                                'oblig':"o"
112                                                },
113                                            'encoding': {
114                                                'oblig':"o"
115                                                },
116                                            'schema': {
117                                                'oblig':"o"
118                                                },
119                                            },
120                                        'elements': {
121                                            'Value': {
122                                                'oblig':"m"
123                                                },
124                                            }
125                                        }, #/ComplexValue
126                                    'LiteralValue': {
127                                            'value': {
128                                                'oblig':"m"
129                                                },
130                                            'dataType': {
131                                                'oblig':"o"
132                                                },
133                                            'uom': {
134                                                'oblig':"o"
135                                                },
136
137                                        }, #/LiteralValue
138                                    'BoundingBoxValue':{
139                                        }#/BoundingBoxValue
140                                    },
141                            }
142
143                        },# DataInputs
144                    'OutputDefinitions':{
145                        'oblig':"o",
146                        'Output': {
147                            'ns': '',
148                            'elements': {
149                                'Identifier': {
150                                    'oblig':"m",
151                                    'ns': 'ows:',
152                                    },
153                                'Title'     : {
154                                    'oblig':"m",
155                                    'ns': 'ows:',
156                                    },
157                                'Abstract'  : {
158                                    'oblig':"o",
159                                    'ns': 'ows:',
160                                    },
161                                },
162                            'attributes': {
163                                'format':    {
164                                    'oblig':"o"
165                                    },
166                                'encoding':  {
167                                    'oblig':"o"
168                                    },
169                                'schema':    {
170                                    'oblig':"o"
171                                    },
172                                'uom':       {
173                                    'oblig':"o"
174                                    },
175                                }
176                            },
177
178                        }, # /OutputDefinitions
179                    }, #/ elements
180                }, # request
181            ##############################################################
182            'response': {
183                'attributes' : {
184                    'version' : {
185                        'oblig':"m", 
186                        'default':'0.4.0',
187                        'ns':"",
188                        },
189                    'statusLocation': {
190                        'oblig':"o",
191                        'ns':"",
192                        },
193                    },
194                'order': ['Identifier',"Status",'DataInputs','OutputDefinitions','ProcessOutputs',
195                         ],
196                'elements': {
197                    'Identifier': {
198                        'oblig':"m",
199                        'ns':"ows:",
200                        },
201                    'DataInputs': {
202                        'oblig':"o",
203                        'ns':"",
204                        },
205                    'Status': { # table 40
206                        'oblig':"m",
207                        'ns':"",
208                        'elements':{
209                            'ProcessAccepted':{
210                                'ns':"",
211                                },
212                            'ProcessStarted': {
213                                'ns':"",
214                                'attributes': {
215                                    'message':{
216                                        'oblig':"m",
217                                        'ns':"",
218                                        },
219                                    'percentCompleted':{
220                                        'oblig':"o",
221                                        'ns':"",
222                                        },
223                                    },
224                                },
225                            'ProcessSucceeded':{
226                                'ns':"",
227                                },
228                            'ProcessFailed'  :{
229                                'ns':"",
230                                },
231                            }
232                        },
233                    'OutputDefinitions': { # table 29
234                        'ns':"",
235                        'elements': {
236                            'Output': { # table 30
237                                'ns':"",
238                                'order': ['Identifier','Title','Abstract'],
239                                'elements': {
240                                    'Identifier': {
241                                        'oblig':"m",
242                                        'ns':"ows:",
243                                        },
244                                    'Title'     : {
245                                        'oblig':"m",
246                                        'ns':"ows:",
247                                        },
248                                    'Abstract'  : {
249                                        'oblig':"o",
250                                        'ns':"ows:",
251                                        },
252                                    },
253                                'attributes': {
254                                    'format':    {
255                                        'oblig':"o",
256                                        'ns':"",
257                                        },
258                                    'encoding':  {
259                                        'oblig':"o",
260                                        'ns':"",
261                                        },
262                                    'schema':    {
263                                        'oblig':"o",
264                                        'ns':"",
265                                        },
266                                    'uom':       {
267                                        'oblig':"o",
268                                        'ns':"",
269                                        },
270                                    }
271                                }
272                            }
273                        }, # /OutputDefinitions
274                    'DataInputs': { # table 28
275                        'ns':"",
276                        'elements': {
277                            'Input': {
278                                'order':['Identifier','Title','Abstract','ValueFormChoice'],
279                                'elements': {
280                                    'Identifier': {
281                                        'oblig':"m",
282                                        'ns':"ows:",
283                                        },
284                                    'Title'     : {
285                                        'oblig':"m",
286                                        'ns':"ows:",
287                                        },
288                                    'Abstract'  : {
289                                        'oblig':"o",
290                                        'ns':"ows:",
291                                        },
292                                    'ValueFormChoice'  : {# table 32
293                                        'ComplexValueReference': {
294                                                'attributes': {
295                                                    'format': {
296                                                        'oblig':"o",
297                                                        'ns':"",
298                                                        },
299                                                    'encoding': {
300                                                        'oblig':"o",
301                                                        'ns':"",
302                                                        },
303                                                    'schema': {
304                                                        'oblig':"o",
305                                                        'ns':"",
306                                                        },
307                                                    'reference': {
308                                                        'oblig':"m",
309                                                        'ns':"",
310                                                        },
311                                                }
312                                            },#/ComplexValueReference
313                                            'ComplexValue': {
314                                                'attributes': {
315                                                    'format': {
316                                                        'oblig':"o",
317                                                        'ns':"",
318                                                        },
319                                                    'encoding': {
320                                                        'oblig':"o",
321                                                        'ns':"",
322                                                        },
323                                                    'schema': {
324                                                        'oblig':"o",
325                                                        'ns':"",
326                                                        },
327                                                },
328                                                'elements': {
329                                                    'Value': {
330                                                        'oblig':"m",
331                                                        'ns':"",
332                                                        },
333                                                }
334                                            }, #/ComplexValue
335                                            'LiteralValue': {
336                                                'ns':"",
337                                                'attributes':{
338                                                    'value': {
339                                                        'oblig':"m",
340                                                        'ns':"",
341                                                        },
342                                                    'dataType': {
343                                                        'oblig':"o",
344                                                        'ns':"",
345                                                        },
346                                                    'uom': {
347                                                        'oblig':"o",
348                                                        'ns':"",
349                                                        },
350                                                    },
351                                                }, #/LiteralValue
352                                            'BoundingBoxValue':{
353                                                'ns':'',
354                                                'order': ['LowerCorner','UpperCorner'],
355                                                'elements': {
356                                                    'LowerCorner': {
357                                                        'oblig':'m',
358                                                        'ns':'ows:',
359                                                        },
360                                                    'UpperCorner': {
361                                                        'oblig':'m',
362                                                        'ns':'ows:',
363                                                        },
364                                                },#/elements
365                                                'attributes':{
366                                                    'dimensions': {
367                                                        'oblig':'o',
368                                                        'ns':'ows:',
369                                                        'default':2,
370                                                        },
371                                                    'crs': {
372                                                        'oblig':'o',
373                                                        'ns':'ows:',
374                                                        },
375                                                    }#/elements
376                                                }#/BoundingBoxValue
377                                            },
378                                        },
379                                    }
380                                }
381                            }, # /DataInputs
382                        'ProcessOutputs': { # table 39
383                            'elements' : {
384                                'Output': {
385                                    'ns':"",
386                                    'order': ['Identifier','Title','Abstract','ValueFormChoice'],
387                                    'elements': {
388                                        'Identifier': {
389                                            'oblig':"m",
390                                            'ns':"ows:",
391                                            },
392                                        'Title'     : {
393                                            'oblig':"m",
394                                            'ns':"ows:",
395                                            },
396                                        'Abstract'  : {
397                                            'oblig':"o",
398                                            'ns':"ows:",
399                                            },
400                                        'ValueFormChoice' : {
401                                            'ns':"",
402                                            'elements': {
403                                                'ComplexValueReference': {
404                                                        'ns':"",
405                                                        'attributes': {
406                                                            'format': {
407                                                                'ns':"",
408                                                                'oblig':"o",
409                                                                },
410                                                            'encoding': {
411                                                                'oblig':"o",
412                                                                'ns':"",
413                                                                'default':'utf-8',
414                                                                },
415                                                            'schema': {
416                                                                'oblig':"o",
417                                                                'ns':"",
418                                                                'default':'',
419                                                                },
420                                                            'reference': {
421                                                                'oblig':"m",
422                                                                'ns':"ows:",
423                                                                'default':'text/xml',
424                                                                },
425                                                            }
426                                                        },#/ComplexValueReference
427                                                    'ComplexValue': {
428                                                        'ns':"",
429                                                        'attributes': {
430                                                            'format': {
431                                                                'oblig':"o",
432                                                                'ns':"",
433                                                                },
434                                                            'encoding': {
435                                                                'oblig':"o",
436                                                                'ns':"",
437                                                                },
438                                                            'schema': {
439                                                                'oblig':"o",
440                                                                'ns':"",
441                                                                },
442                                                            },
443                                                        'elements': {
444                                                        'Value': {
445                                                            'oblig':"m",
446                                                                'ns':"",
447                                                                },
448                                                            }
449                                                        }, #/ComplexValue
450                                                    'LiteralValue': {
451                                                            'ns':"",
452                                                            'attributes':{
453                                                                'value': {
454                                                                    'oblig':"m",
455                                                                    'ns':"",
456                                                                    },
457                                                                'dataType': {
458                                                                    'oblig':"o",
459                                                                    'ns':"",
460                                                                    },
461                                                                'uom': {
462                                                                    'oblig':"o",
463                                                                    'ns':"",
464                                                                    },
465                                                            }#/attributes
466                                                        }, #/LiteralValue
467                                                'BoundingBoxValue':{
468                                                        'ns':'',
469                                                        'order': ['LowerCorner','UpperCorner'],
470                                                        'elements': {
471                                                            'LowerCorner': {
472                                                                'oblig':'m',
473                                                                'ns':'ows:',
474                                                                },
475                                                            'UpperCorner': {
476                                                                'oblig':'m',
477                                                                'ns':'ows:',
478                                                                },
479                                                        },#/elements
480                                                        'attributes':{
481                                                            'dimensions': {
482                                                                'oblig':'o',
483                                                                'ns':'',
484                                                                'default':2,
485                                                                },
486                                                            'crs': {
487                                                                'oblig':'o',
488                                                                'ns':'',
489                                                                },
490                                                            }#/elements
491                                                        }#/BoundingBoxValue
492
493                                                }, #/elements
494                                            }, # /ValueFormChoice
495                                    } # /elements
496                                },# /output
497                            }, #/elements
498                        }, # /ProcessOutputs
499                } # / elements
500            } # /responce
501        } # /e
Note: See TracBrowser for help on using the repository browser.