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

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/services/3rdParty/pywps-1.0.0/pywps/Wps/ogc/processdescription.py@2194
Revision 2194, 21.3 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 ProcessDescriptions 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# Author:       Jachym Cepicky
20#               http://les-ejk.cz
21#
22# Lince:
23#
24# Web Processing Service implementation
25# Copyright (C) 2006 Jachym Cepicky
26#
27# This program is free software; you can redistribute it and/or modify
28# it under the terms of the GNU General Public License as published by
29# the Free Software Foundation; either version 2 of the License, or
30# (at your option) any later version.
31#
32# This program is distributed in the hope that it will be useful,
33# but WITHOUT ANY WARRANTY; without even the implied warranty of
34# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
35# GNU General Public License for more details.
36#
37# You should have received a copy of the GNU General Public License
38# along with this program; if not, write to the Free Software
39# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
40
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/wpsDescribeProcess.xsd",
53        }
54
55        self.pd = {
56            'request':{
57                'elements':{
58                    'Identifier': {
59                        'oblig':'m',
60                        'ns':'ows',
61                        }
62                    },
63
64                'attributes': {
65                    'service': {
66                        'oblig':'m',
67                        'ns':'ows',
68                        'default':'WPS',
69                        },
70                    'request': {
71                        'oblig':'m',
72                        'ns':'ows',
73                        'default':'GetCapabilities',
74                        },
75                    'version': {
76                        'oblig':'m',
77                        'ns':'ows',
78                        'default':'0.4.0',
79                        },
80                    }
81                },
82            'response': {
83                'order': ['Identifier','Title','Abstract','DataInputs',
84                         'ProcessOutputs',],
85                'elements':{
86                    'Identifier' :{
87                        'oblig':'m',
88                        'ns':'ows:'
89                        },
90                    'Title'      :{
91                        'oblig':'m',
92                        'ns':'ows:'
93                        },
94                    'Abstract'   :{
95                        'oblig':'o',
96                        'ns':'ows:'
97                    },
98                    'Metadata'   :{
99                        'oblig':'o',
100                        'ns':'ows:'
101                        },
102                    'DataInputs':{
103                        'ns':'',
104                        'Input': {
105                            "ns":"",
106                            'order':['Identifier','Title','Abstract',
107                            'ComplexData', 'LiteralData',
108                            'BoundingBoxData','MinimumOccurs'],
109                            'elements':{
110                                'Identifier':{
111                                    'oblig': 'm',
112                                    'ns':'ows:',
113                                    },
114                                'Title':{
115                                    'oblig': 'm',
116                                    'ns':'ows:',
117                                    },
118                                'Abstract': {
119                                    'oblig': 'o',
120                                    'ns':'ows:',
121                                    },
122                                'MinimumOccurs':{
123                                    'oblig': 'm',
124                                    'default':1,
125                                    'ns':'',
126                                    },
127                                'ComplexData':{
128                                    # table 16
129                                    'oblig':'c',
130                                    'ns':"",
131                                    'elements':{
132                                        'SupportedComplexData': {
133                                            # table 19
134                                            'oblig':'o',
135                                            'ns':"",
136                                            'elements': {
137                                                # table 20
138                                                'Format': {
139                                                    'oblig':'o',
140                                                    'ns':"",
141                                                    },
142                                                'Encoding':{
143                                                    'oblig':'o',
144                                                    'ns':"",
145                                                    },
146                                                'Schema':{
147                                                    'oblig':'o',
148                                                    'ns':"",
149                                                    },
150                                            },
151                                            'attributes': {
152                                                'defaultFormat': {
153                                                    'oblig':'o',
154                                                    'ns':"",
155                                                    'default':'text/XML',
156                                                    },
157                                                'defaultEncoding': {
158                                                    'oblig':'o',
159                                                    'ns':"",
160                                                    'default':'UTF-8',
161                                                    },
162                                                'defaultSchema': {
163                                                    'oblig':'o',
164                                                    'ns':"",
165                                                    },
166                                                }
167                                            },#/SupportedComplexData
168                                        },# /elements
169                                    'attributes':{
170                                        'defaultFormat': {
171                                            'ns':"",
172                                            'oblig':"o",
173                                            'default':"text/XML",
174                                            },
175                                        'defaultEncoding':{
176                                            'ns':"",
177                                            'oblig':"o",
178                                            'default':"UTF-8",
179                                            },
180                                        'defaultSchema': {
181                                            'ns':"",
182                                            'oblig':"o",
183                                            }
184                                        }#/attributes
185                                    },
186                                'LiteralData':{
187                                    'oblig':'o',
188                                    'ns':'',
189                                    'order':["DataType","SupportedUOMs","LiteralValues","DefaultValue"],
190                                    'elements': {
191                                        'DataType': {
192                                            'oblig':'o',
193                                            'ns':'',
194                                            },
195                                        'SupportedUOMs': {
196                                            'oblig': 'o',
197                                            'ns':'',
198                                            'elements': {
199                                                'UOM': {
200                                                    'oblig': 'o',
201                                                    'ns':'ows:',
202                                                    'elements': {
203                                                        'Name':{
204                                                            'oblig':'m',
205                                                            'ns':'',
206                                                            },
207                                                        },
208                                                    'attributes':{
209                                                        'reference': {
210                                                            'oblig':'o',
211                                                            'ns':'',
212                                                            },
213                                                        },
214                                                    }, #/UOM
215                                                },#/elements
216                                            'attributes': {
217                                                'defaultUOM': {
218                                                    'oblig':'o',
219                                                    'ns':'',
220                                                    'default':'meters',
221                                                    },
222                                                }#/attributes
223                                            }, # /SupportedUOMs
224
225                                        'LiteralValues': {
226                                            'oblig':'m',
227                                            'ns':'',
228                                            'elements':{
229                                                'AllowedValues':  {
230                                                    'ns':'',
231                                                    'oblig':'c',
232                                                    'elements': {
233                                                        'Value': {
234                                                            'oblig': 'o',
235                                                            'ns':'',
236                                                            },
237                                                        'Range': {
238                                                            'oblig': 'o',
239                                                            'ns':'',
240                                                            },
241                                                        },
242                                                    },
243                                                'AnyValue'     :  {
244                                                    'oblig':'c',
245                                                    'ns':'ows:',
246                                                    # table d.7
247                                                    #'elements': {
248                                                    #    'Name': {'oblig':'m'},
249                                                    #},
250                                                    #'attributes':{
251                                                    #    'reference':{ 'oblig':'o'},
252                                                    #},
253                                                    },#/AnyValue
254                                                'ValuesReference':{
255                                                    'oblig':'c',
256                                                    'ns':'',
257                                                    # table d.7
258                                                    # 'elements': {
259                                                    #     'Name': {'oblig':'m',}
260                                                    # },
261                                                    # 'attributes':{
262                                                    #     'reference': {'oblig':'o'},
263                                                    # },
264                                                    }, #/ValuesReference
265                                                }
266                                            },
267                                        'DefaultValue':  {
268                                            'ns':"ows:",
269                                            'oblig':'o',
270                                            },
271                                        } #/elements
272                                    }, # /LiteralData
273                                'BoundingBoxData':{
274                                    'oblig':'m',
275                                    'ns':"",
276                                    },
277                                } #/elements
278                            }, #/Input
279                        }, #/DataInputs
280                    'ProcessOutputs'    :{
281                        'ns':'',
282                        'Output': {
283                            'ns':'',
284                            'order': ['Identifier','Title','Abstract',
285                            'ComplexOutput', 'LiteralOutput',
286                            'BoundingBoxOutput'],
287                            'elements':{
288                                'Identifier':{
289                                    'oblig':'m',
290                                    'ns':'ows:',
291                                    },
292                                'Title':{
293                                    'oblig':'m',
294                                    'ns':'ows:',
295                                    },
296                                'Abstract':{
297                                    'oblig':'o',
298                                    'ns':'ows:',
299                                    },
300                                'ComplexOutput': {
301                                    'oblig':'o',
302                                    'ns':'',
303                                    'elements': {
304                                        'SupportComplexData': {
305                                            'oblig': 'o',
306                                            'ns':'',
307                                            'elements': {
308                                                'Formats': {
309                                                    'ns':'',
310                                                    },
311                                                'Encoding':{
312                                                    'ns':'',
313                                                    },
314                                                'Schema'  :{
315                                                    'ns':'',
316                                                    },
317                                                },
318                                            'attributes': {
319                                                'defaultFormats':   {
320                                                    'oblig':'o',
321                                                    'ns':'',
322                                                    },
323                                                'defaultEncoding':  {
324                                                    'oblig':'o',
325                                                    'ns':'',
326                                                    },
327                                                'defaultSchema'  :  {
328                                                    'oblig':'o',
329                                                    'ns':'',
330                                                    },
331                                                }
332                                            }, #/SupportComplexData
333                                        },
334                                    'attributes': {
335                                        'defaultFormat': {
336                                            'oblig': 'o',
337                                            'default':'text/XML',
338                                            'ns':''
339                                            },
340                                        'defaultEncoding': {
341                                            'oblig': 'o',
342                                            'default':'',
343                                            'ns':''
344                                            },
345                                        'defaultSchema': {
346                                            'oblig': 'o',
347                                            'ns': '',
348                                            },
349                                        }
350                                    },#/ComplexOutput
351                                'LiteralOutput': {
352                                    'oblig':'o',
353                                    'ns':'',
354                                    'elements': {
355                                        'DataType': {
356                                            'oblig': 'o',
357                                            'ns':'',
358                                            'elements': {
359                                                'Name': {
360                                                    'oblig':'m',
361                                                    'ns':'',
362                                                    },
363                                                },
364                                            'attributes':{
365                                                'reference':{
366                                                    'oblig':'o',
367                                                    'ns':'',
368                                                    },
369                                                },
370                                            },
371                                        'SupportedUOMs': {
372                                            'oblig': 'o',
373                                            'ns':'',
374                                            'elements': {
375                                                'UOM': {
376                                                    'oblig': 'o',
377                                                    'ns':'ows:',
378                                                    'elements': {
379                                                        'Name':{
380                                                            'oblig':'m',
381                                                            'ns':'',
382                                                            },
383                                                        },
384                                                    'attributes':{
385                                                        'reference': {
386                                                            'oblig':'o',
387                                                            'ns':'',
388                                                            },
389                                                        },
390                                                    }, #/UOM
391                                                },#/elements
392                                            'attributes': {
393                                                'defaultUOM': {
394                                                    'oblig':'o',
395                                                    'ns':'',
396                                                    'default':'meters',
397                                                    },
398                                                }#/attributes
399                                            } # /SupportedUOMs
400                                        }#/elements
401                                    },#/LiteralOutput
402                                'BoundingBoxOutput': {
403                                    'oblig':'o',
404                                    'ns':'',
405                                    'elements': {
406                                        'CRS':{},
407                                    },
408                                    'attributes': {
409                                        'defaultCRS': {}
410                                        }
411                                    } #/BoundingBoxOutput
412                                }, #/elements
413                            },#/Output
414                        }, # /processoutput
415                    },# /elements
416                'attributes':{
417                    'processVersion' : {
418                        'oblig':'m',
419                        'ns':'',
420                        },
421                    'storeSupported' : {
422                        'oblig':'o',
423                        'default': "false",
424                        'ns':'',
425                        },
426                    'statusSupported': {
427                        'oblig':'o',
428                        'default': "false",
429                        'ns':'',
430                        },
431                    }
432                }
433        }
434        return
Note: See TracBrowser for help on using the repository browser.