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

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/services/3rdParty/pywps-1.0.0/pywps/Wps/ogc/getcapabilities.py@2194
Revision 2194, 15.9 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"""
2GetCapabilities definition file
3
4Description:
5    This file contains structure describing the GetCapabilities response
6    and request. See OGC 05-008 for details
7
8    For each structure:
9        Possible attributes are
10
11        oblig - (m)andatory, (o)ptional, (c)onditional
12        ns - namespace
13        elements - nested elements (if any)
14        attributes - attributes of this element (if any)
15        default - default value (if any)
16        values - if there are more nearly same structures
17"""
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/wpsGetCapabilities.xsd",
53        }
54       
55        self.gc = {
56            'order': ['ServiceIdentification','ServiceProvider',
57                'OperationsMetadata','ProcessOfferings'],
58            'elements':{
59                'ServiceIdentification':{
60                    'ns':'ows:',
61                    'order': ['Title','Abstract','Keywords','ServiceType',
62                            'ServiceTypeVersion','Fees','AccessConstraints'],
63                    'elements': {
64                        'Title':{
65                            'oblig':'m',
66                            'ns':'ows:'
67                            },
68                        'Abstract':{
69                            'oblig':'o',
70                            'ns':'ows:'
71                            },
72                        'Keywords':{
73                            'oblig':'o',
74                            'ns':'ows:',
75                            },
76                        'ServiceType':{
77                            'oblig':'m',
78                            'ns':'ows:'
79                            },
80                        'ServiceTypeVersion':{
81                            'oblig':'m',
82                            'ns':'ows:'
83                            },
84                        'Fees':{
85                            'oblig':'o',
86                            'ns':'ows:'
87                            },
88                        'AccesConstraints':{
89                            'oblig':'o',
90                            'ns':'ows:'
91                            },
92                        }
93                    }, #  Service Identification
94
95                    'ServiceProvider':{
96                        'oblig':'m',
97                        'ns':'ows:',
98                        'order':['ProviderName',
99                                 'ServiceContact',],
100                        'elements':{
101                            'ProviderName':{
102                                'oblig':'m',
103                                'ns':'ows:'
104                                },
105                            'ServiceContact': {
106                                'oblig':'m',
107                                'ns':'ows:',
108                                'order':['IndividualName','PositionName',
109                                        'ContactInfo','Role'],
110                                'elements':{
111                                    'IndividualName':{
112                                        'oblig':'m',
113                                        'ns':'ows:'
114                                        },
115                                    'PositionName':{
116                                        'oblig':'m',
117                                        'ns':'ows:'
118                                        },
119                                    'ContactInfo':{
120                                        'oblig':'m',
121                                        'ns':'ows:',
122                                        'elements': {
123                                            'Address':{
124                                                'ns':'ows:',
125                                                'oblig':'m',
126                                                'order':['DeliveryPoint',
127                                                        'City',
128                                                        'PostalCode',
129                                                        'Country',
130                                                        'ElectronicMailAddress'],
131                                                'elements':{
132                                                    'DeliveryPoint':{
133                                                        'oblig':'m',
134                                                        'ns':'ows:'
135                                                        },
136                                                    'City':{
137                                                        'oblig':'m',
138                                                        'ns':'ows:'
139                                                        },
140                                                    'PostalCode':{
141                                                        'oblig':'m',
142                                                        'ns':'ows:'
143                                                        },
144                                                    'Country':{
145                                                        'oblig':'m',
146                                                        'ns':'ows:'
147                                                        },
148                                                    'ElectronicMailAddress':{
149                                                        'oblig':'m',
150                                                        'ns':'ows:'
151                                                        },
152                                                    },
153                                                },
154                                            },
155                                        },
156                                    'Role':{
157                                        'oblig':'m',
158                                        'ns':'ows:',
159                                        },
160                                    },
161                                },
162                            },
163                        },
164
165                    'OperationsMetadata':{
166                            'ns':'ows:',
167                            'order':['Operation','Parameter','Constraint',
168                                'Metadata','ExtendedCapabilities'],
169                            'elements': {
170                                'Operation': {
171                                    'ns': 'ows:',
172                                    'values':['GetCapabilities','DescribeProcess','Execute'],
173                                    'attributes': {
174                                        'name': {
175                                            'oblig':'m',
176                                            'ns':'ows:'
177                                            },
178                                        },
179                                    'elements': {
180                                        'DCP':{
181                                            'oblig':'m',
182                                            'ns':'ows:',
183                                            'HTTP':{
184                                                'oblig':'m',
185                                                'ns':'ows:',
186                                                'elements':{
187                                                    'Get': {
188                                                        'oblig':'o',
189                                                        'ns': 'ows:',
190                                                        'attributes': {
191                                                            'href': {
192                                                                'oblig':'m',
193                                                                'ns':'xlink:',
194                                                                }
195                                                        },
196                                                    },
197                                                    'Post': {
198                                                        'oblig':'o',
199                                                        'ns': 'ows:',
200                                                        'attributes': {
201                                                            'href': {
202                                                                'oblig':'m',
203                                                                'ns':'xlink:',
204                                                                }
205                                                            },
206                                                        },
207                                                    },
208                                                }, 
209                                            },
210                                        'Parameter':{ # table 15
211                                            'oblig':'o',
212                                            'ns':'ows:',
213                                            'content':{
214                                                'Name':{
215                                                    'oblig':'m',
216                                                    'ns':'ows:',
217                                                    },
218                                                'Value':{
219                                                    'oblig':'o',
220                                                    'ns':'ows:',
221                                                    },
222                                                'Metadata':{
223                                                    'oblig':'o',
224                                                    'ns':'ows:',
225                                                    },
226                                            }
227                                        },
228                                        'Constraint':{ # table 15
229                                            'oblig':'o',
230                                            'ns':'ows:',
231                                            'content':{
232                                                'Name':{
233                                                    'oblig':'m',
234                                                    'ns':'ows:',
235                                                    },
236                                                'Value':{
237                                                    'oblig':'o',
238                                                    'ns':'ows:',
239                                                    },
240                                                'Metadata':{
241                                                    'oblig':'o',
242                                                    'ns':'ows:',
243                                                    },
244                                            }
245                                        },
246                                        'Metadata':{
247                                            'oblig':'o',
248                                            'ns':'ows:'
249                                            },
250                                        }
251                                    },
252                                'Parameter':{ # table 15
253                                    'oblig':'o',
254                                    'ns':'ows:',
255                                    'content':{
256                                        'Name':{
257                                            'oblig':'m',
258                                            'ns':'ows:',
259                                            },
260                                        'Value':{
261                                            'oblig':'o',
262                                            'ns':'ows:',
263                                            },
264                                        'Metadata':{
265                                            'oblig':'o',
266                                            'ns':'ows:',
267                                            },
268                                    }
269                                },
270                                'Constraint':{ # table 15
271                                    'oblig':'o',
272                                    'ns':'ows:',
273                                    'content':{
274                                        'Name':{
275                                            'oblig':'m',
276                                            'ns':'ows:',
277                                            },
278                                        'Value':{
279                                            'oblig':'o',
280                                            'ns':'ows:',
281                                            },
282                                        'Metadata':{
283                                            'oblig':'o',
284                                            'ns':'ows:',
285                                            },
286                                    }
287                                },
288                                'Metadata':{
289                                    'oblig':'o',
290                                    'ns':'ows:'
291                                    },
292                                'ExtendedCapabilities':{
293                                    'oblig':'o',
294                                    'ns':'ows:'
295                                    },
296                            },
297                    }, #/OperationMetadata
298
299                    'ProcessOfferings': {
300                        'ns':"",
301                        'Process':{
302                            'ns':"",
303                            'attributes': {
304                                'processVersion': {
305                                    'ns':"",
306                                    }
307                                },
308                            'order': ['Identifier','Title','Abstract',
309                                'Metadata'],
310                            'elements': {
311                                'Identifier': {
312                                    'oblig':'m',
313                                    'ns':"ows:",
314                                    },
315                                'Title': {
316                                    'oblig':'m',
317                                    'ns':"ows:",
318                                    },
319                                'Abstract':{
320                                    'oblig':'o',
321                                    'ns':"ows:",
322                                    },
323                                'Metadata':{
324                                    'oblig':'o',
325                                    'ns':"ows:",
326                                    'attributes': {
327                                        'title': {
328                                            'oblig':'o',
329                                            'ns':"xlink:",
330                                            }
331                                        }
332                                    },
333                                }
334                            }
335                        }
336                    } # /elements
337            } # /getCapabilities
338        return
339
340
Note: See TracBrowser for help on using the repository browser.