Project

General

Profile

« Previous | Next » 

Revision 4307

upgrade to MapBuilder 1.5rc2 - includes support for Firefox 3 compatibility (yes, it is also EOLed)

View differences:

config.xsd
1 1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Tom Kralidis (NRCAN CCRs) -->
3
<xs:schema targetNamespace="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0.0">
4
	<xs:annotation>
5
		<xs:appinfo>$Id$</xs:appinfo>
6
		<xs:documentation xml:lang="en">
7
			<xs:description>Application schema for Mapbuilder runtime configuration</xs:description>
8
			<xs:copyright>License: LGPL as per: http://www.gnu.org/copyleft/lesser.html</xs:copyright>
9
		</xs:documentation>
10
	</xs:annotation>
11
	<!-- imports -->
12
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
13
	<!-- root element -->
14
	<xs:element name="MapbuilderConfig">
15
		<xs:annotation>
16
			<xs:documentation>root element for all Mapbuilder applications</xs:documentation>
17
		</xs:annotation>
18
		<xs:complexType>
19
			<xs:complexContent>
20
				<xs:extension base="mb:AbstractModelType">
21
					<xs:sequence>
22
						<xs:element name="skinDir" type="mb:urlPathType" minOccurs="0"/>
23
						<xs:element name="languages" type="xs:string" minOccurs="0"/>
24
						<xs:element name="widgetTextUrl" type="mb:urlPathType" minOccurs="0"/>
25
						<xs:element name="proxyUrl" type="mb:urlPathType" minOccurs="0"/>
26
						<xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
27
					</xs:sequence>
28
					<xs:attribute name="version" type="xs:string" use="required" fixed="1.0.0">
29
						<xs:annotation>
30
							<xs:appinfo source="An attribute &quot;version&quot; representing the published specification version number, contains three positive integers, separated by decimal points, in the form &quot;x.y.z&quot;. Each context specification is numbered independently. This attribute is required."/>
31
						</xs:annotation>
32
					</xs:attribute>
33
				</xs:extension>
34
			</xs:complexContent>
35
		</xs:complexType>
36
	</xs:element>
37
	<!-- global model extension types; Models type represent different types of XML documents. Use Model for a generic XML document where no customization or specialized methods are required-->
38
	<xs:complexType name="ModelType">
39
		<xs:annotation>
40
			<xs:documentation>A generic base document type to handle any XML document (without any specialized methods)</xs:documentation>
41
		</xs:annotation>
42
		<xs:complexContent>
43
			<xs:extension base="mb:AbstractModelType"/>
44
		</xs:complexContent>
45
	</xs:complexType>
46
	<xs:complexType name="ContextType">
47
		<xs:annotation>
48
			<xs:documentation>A Web Map Context document as specified by the Open GeoSpatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
49
		</xs:annotation>
50
		<xs:complexContent>
51
			<xs:extension base="mb:AbstractModelType"/>
52
		</xs:complexContent>
53
	</xs:complexType>
54
	<xs:complexType name="GeoRSSType">
55
		<xs:annotation>
56
			<xs:documentation>GeoRSS</xs:documentation>
57
		</xs:annotation>
58
		<xs:complexContent>
59
			<xs:extension base="mb:ModelType"/>
60
		</xs:complexContent>
61
	</xs:complexType>
62
	<xs:complexType name="ContextCollectionType">
63
		<xs:annotation>
64
			<xs:documentation>A collection of Web Map Context document URLs as specified by the Open GeoSpatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
65
		</xs:annotation>
66
		<xs:complexContent>
67
			<xs:extension base="mb:AbstractModelType"/>
68
		</xs:complexContent>
69
	</xs:complexType>
70
	<xs:complexType name="WmsCapabilitiesType">
71
		<xs:annotation>
72
			<xs:documentation>A document describing the capabilities of an OGC Web Map Service (WMS) as specified by the Open GeoSpatial Consortium (http://portal.opengeospatial.org/files/?artifact_id=5316)</xs:documentation>
73
		</xs:annotation>
74
		<xs:complexContent>
75
			<xs:extension base="mb:AbstractModelType"/>
76
		</xs:complexContent>
77
	</xs:complexType>
78
	<xs:complexType name="WfsCapabilitiesType">
79
		<xs:annotation>
80
			<xs:documentation>A document describing the capabilities of an OGC Web Feature Service (WFS) as specified by the Open GeoSpatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=7176)</xs:documentation>
81
		</xs:annotation>
82
		<xs:complexContent>
83
			<xs:extension base="mb:AbstractModelType"/>
84
		</xs:complexContent>
85
	</xs:complexType>
86
	<xs:complexType name="WpsCapabilitiesType">
87
		<xs:annotation>
88
			<xs:documentation>A document describing the capabilities of an OGC Web Processing Service (WPS) as specified by the Open GeoSpatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=)</xs:documentation>
89
		</xs:annotation>
90
		<xs:complexContent>
91
			<xs:extension base="mb:AbstractModelType"/>
92
		</xs:complexContent>
93
	</xs:complexType>
94
	<xs:complexType name="GetMapType">
95
		<xs:annotation>
96
			<xs:documentation>A response from a WMS for a GetMap operation -  the model in this case is an image</xs:documentation>
97
		</xs:annotation>
98
		<xs:complexContent>
99
			<xs:extension base="mb:AbstractModelType"/>
100
		</xs:complexContent>
101
	</xs:complexType>
102
	<xs:complexType name="WpsDescribeProcessType">
103
		<xs:annotation>
104
			<xs:documentation>A response from a WPS DescribeProcess operation</xs:documentation>
105
		</xs:annotation>
106
		<xs:complexContent>
107
			<xs:extension base="mb:AbstractModelType"/>
108
		</xs:complexContent>
109
	</xs:complexType>
110
	<xs:complexType name="GetFeatureInfoType">
111
		<xs:annotation>
112
			<xs:documentation>A response from a WMS for a GetFeatureInfo operation</xs:documentation>
113
		</xs:annotation>
114
		<xs:complexContent>
115
			<xs:extension base="mb:AbstractButtonType">
116
				<xs:sequence>
117
					<xs:element name="context" type="xs:string"/>
118
				</xs:sequence>
119
			</xs:extension>
120
		</xs:complexContent>
121
	</xs:complexType>
122
	<xs:complexType name="FeatureCollectionType">
123
		<xs:annotation>
124
			<xs:documentation>A representation of a geographic Feature or Feature Collection in GML as specified by the Open Geospatial Consortium (http://www.opengis.org/docs/02-069.pdf) </xs:documentation>
125
		</xs:annotation>
126
		<xs:complexContent>
127
			<xs:extension base="mb:AbstractModelType"/>
128
		</xs:complexContent>
129
	</xs:complexType>
130
	<xs:complexType name="DescribeFeatureTypeType">
131
		<xs:annotation>
132
			<xs:documentation>A response from a WFS for a DescribeFeatureType operation</xs:documentation>
133
		</xs:annotation>
134
		<xs:complexContent>
135
			<xs:extension base="mb:AbstractModelType"/>
136
		</xs:complexContent>
137
	</xs:complexType>
138
	<xs:complexType name="TransactionType">
139
		<xs:annotation>
140
			<xs:documentation>A response from a WFS Transaction operation</xs:documentation>
141
		</xs:annotation>
142
		<xs:complexContent>
143
			<xs:extension base="mb:AbstractModelType"/>
144
		</xs:complexContent>
145
	</xs:complexType>
146
	<!-- global widget extension types -->
147
	<xs:complexType name="WidgetType">
148
		<xs:annotation>
149
			<xs:documentation>A generic widget which will simply process a model with a stylesheet - no specialized listeners provided</xs:documentation>
150
		</xs:annotation>
151
		<xs:complexContent>
152
			<xs:extension base="mb:AbstractXslWidgetType"/>
153
		</xs:complexContent>
154
	</xs:complexType>
155
	<xs:complexType name="MapPaneType">
156
		<xs:annotation>
157
			<xs:documentation>Render a Web Map Context (WMC) document as layered map images.</xs:documentation>
158
		</xs:annotation>
159
		<xs:complexContent>
160
			<xs:extension base="mb:AbstractMapWidgetType">
161
				<xs:sequence>
162
					<xs:element name="fixedWidth" type="xs:integer" minOccurs="0"/>
163
					<xs:element name="fixedHeight" type="xs:integer" minOccurs="0"/>
164
					<xs:element name="loadHidden" type="xs:boolean" minOccurs="0"/>
165
					<xs:element name="extraAttributes" type="xs:boolean" minOccurs="0"/>
166
				</xs:sequence>
167
			</xs:extension>
168
		</xs:complexContent>
169
	</xs:complexType>
170
	<xs:complexType name="ModelUrlInputType">
171
		<xs:annotation>
172
			<xs:documentation>A widget which displays the model URL in a form which also allows the URL to be modified</xs:documentation>
173
		</xs:annotation>
174
		<xs:complexContent>
175
			<xs:extension base="mb:AbstractXslWidgetType">
176
				<xs:sequence>
177
					<xs:element name="defaultUrl" type="mb:urlPathType" minOccurs="0"/>
178
				</xs:sequence>
179
			</xs:extension>
180
		</xs:complexContent>
181
	</xs:complexType>
182
	<xs:complexType name="LegendType">
183
		<xs:annotation>
184
			<xs:documentation>Simple legend for context documents, includes layer title and visibility checkbox</xs:documentation>
185
		</xs:annotation>
186
		<xs:complexContent>
187
			<xs:extension base="mb:AbstractXslWidgetType"/>
188
		</xs:complexContent>
189
	</xs:complexType>
190
	<xs:complexType name="CursorTrackType">
191
		<xs:annotation>
192
			<xs:documentation>A widget to display the mouse coordinates when it is over a MapPane</xs:documentation>
193
		</xs:annotation>
194
		<xs:complexContent>
195
			<xs:extension base="mb:AbstractXslWidgetType">
196
				<xs:sequence>
197
					<xs:element name="mouseHandler" type="xs:string"/>
198
					<xs:element name="showXY" type="xs:boolean" minOccurs="0"/>
199
					<xs:element name="showPx" type="xs:boolean" minOccurs="0"/>
200
					<xs:element name="showDMS" type="xs:boolean" minOccurs="0"/>
201
					<xs:element name="showLatLong" type="xs:boolean" minOccurs="0"/>
202
					<xs:element name="showMGRS" type="xs:boolean" minOccurs="0"/>
203
					<xs:element name="precision" type="xs:integer" minOccurs="0"/>
204
				</xs:sequence>
205
			</xs:extension>
206
		</xs:complexContent>
207
	</xs:complexType>
208
	<xs:complexType name="AoiFormType">
209
		<xs:annotation>
210
			<xs:documentation>Displays a form with North, South, East, West coordinates to read and set the model AOI</xs:documentation>
211
		</xs:annotation>
212
		<xs:complexContent>
213
			<xs:extension base="mb:AbstractXslWidgetType"/>
214
		</xs:complexContent>
215
	</xs:complexType>
216
	<xs:complexType name="MapScaleTextType">
217
		<xs:annotation>
218
			<xs:documentation>A widget to read and write the map scale value</xs:documentation>
219
		</xs:annotation>
220
		<xs:complexContent>
221
			<xs:extension base="mb:AbstractXslWidgetType"/>
222
		</xs:complexContent>
223
	</xs:complexType>
224
	<xs:complexType name="SaveModelType">
225
		<xs:annotation>
226
			<xs:documentation>A widget that provides a link to the initial model URL and a link tosave the current model document to disk (to be deprecated for a tool)</xs:documentation>
227
		</xs:annotation>
228
		<xs:complexContent>
229
			<xs:extension base="mb:AbstractXslWidgetType">
230
				<xs:sequence>
231
					<xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
232
				</xs:sequence>
233
			</xs:extension>
234
		</xs:complexContent>
235
	</xs:complexType>
236
	<xs:complexType name="WmsCapabilitiesImportType">
237
		<xs:annotation>
238
			<xs:documentation>A form to input a capabilities model and widget output is a context doc (to be deprecated for the WMS Capabilities model)</xs:documentation>
239
		</xs:annotation>
240
		<xs:complexContent>
241
			<xs:extension base="mb:AbstractXslWidgetType"/>
242
		</xs:complexContent>
243
	</xs:complexType>
244
	<xs:complexType name="Loading2Type">
245
		<xs:annotation>
246
			<xs:documentation>a widget to display model loading indicator messages</xs:documentation>
247
		</xs:annotation>
248
		<xs:complexContent>
249
			<xs:extension base="mb:AbstractWidgetType">
250
				<xs:choice>
251
					<xs:element name="textMessage" minOccurs="0">
252
						<xs:annotation>
253
							<xs:documentation>a mssage to be displayed instead of the model status message</xs:documentation>
254
						</xs:annotation>
255
					</xs:element>
256
					<xs:element name="mapContainerId" minOccurs="0"/>
257
				</xs:choice>
258
			</xs:extension>
259
		</xs:complexContent>
260
	</xs:complexType>
261
	<xs:complexType name="CollectionListType">
262
		<xs:annotation>
263
			<xs:documentation>A widget to display a list of context documents contained in a ContextCollection model</xs:documentation>
264
		</xs:annotation>
265
		<xs:complexContent>
266
			<xs:extension base="mb:AbstractXslWidgetType"/>
267
		</xs:complexContent>
268
	</xs:complexType>
269
	<xs:complexType name="FeatureListType">
270
		<xs:annotation>
271
			<xs:documentation>A widget to display the list of features in a Feature Collection</xs:documentation>
272
		</xs:annotation>
273
		<xs:complexContent>
274
			<xs:extension base="mb:AbstractXslWidgetType"/>
275
		</xs:complexContent>
276
	</xs:complexType>
277
	<xs:complexType name="LocationsType">
278
		<xs:annotation>
279
			<xs:documentation>A widget to display contents of a Locations GML model (quick View presets or gazetteer output) and allow setting the AOI/zoom area for a Context model</xs:documentation>
280
		</xs:annotation>
281
		<xs:complexContent>
282
			<xs:extension base="mb:AbstractXslWidgetType">
283
				<xs:sequence>
284
					<xs:element name="selectSize" type="xs:integer" minOccurs="0">
285
						<xs:annotation>
286
							<xs:documentation>defines the size of the select box, i.e. how many lines show in the scroll box; defaults to 1</xs:documentation>
287
						</xs:annotation>
288
					</xs:element>
289
				</xs:sequence>
290
			</xs:extension>
291
		</xs:complexContent>
292
	</xs:complexType>
293
	<xs:complexType name="GmlRendererTestType">
294
		<xs:annotation>
295
			<xs:documentation>A widget to render GML without really rendering it for testing.  A pop-up appears with the GML docuemnt to be rendered.</xs:documentation>
296
		</xs:annotation>
297
		<xs:complexContent>
298
			<xs:extension base="mb:AbstractMapWidgetType"/>
299
		</xs:complexContent>
300
	</xs:complexType>
301
	<xs:complexType name="GmlPointRendererType">
302
		<xs:annotation>
303
			<xs:documentation>A widget to render GML. </xs:documentation>
304
		</xs:annotation>
305
		<xs:complexContent>
306
			<xs:extension base="mb:AbstractMapWidgetType">
307
				<xs:sequence>
308
					<xs:element name="normalImage" type="mb:urlPathType"/>
309
					<xs:element name="highlightImage" type="mb:urlPathType"/>
310
				</xs:sequence>
311
			</xs:extension>
312
		</xs:complexContent>
313
	</xs:complexType>
314
	<xs:complexType name="GmlRendererWZType">
315
		<xs:annotation>
316
			<xs:documentation>A widget to render GML document using the wz_jsgraphics JavaScript library in a map container widget</xs:documentation>
317
		</xs:annotation>
318
		<xs:complexContent>
319
			<xs:extension base="mb:AbstractMapWidgetType">
320
				<xs:sequence>
321
					<xs:element name="lineColor"/>
322
					<xs:element name="lineWidth"/>
323
					<xs:element name="fill" minOccurs="0"/>
324
					<xs:element name="pointDiameter" type="xs:integer" minOccurs="0"/>
325
				</xs:sequence>
326
			</xs:extension>
327
		</xs:complexContent>
328
	</xs:complexType>
329
	<xs:complexType name="WebServiceFormType">
330
		<xs:annotation>
331
			<xs:documentation>A widget of config to input simple parameters to be submitted to a web service.  Output is sent to the targetModel.</xs:documentation>
332
		</xs:annotation>
333
		<xs:complexContent>
334
			<xs:extension base="mb:AbstractXslWidgetType">
335
				<xs:sequence>
336
					<xs:element name="webServiceUrl" type="xs:anyURI" minOccurs="0"/>
337
					<xs:element name="serviceType" minOccurs="0"/>
338
				</xs:sequence>
339
			</xs:extension>
340
		</xs:complexContent>
341
	</xs:complexType>
342
	<xs:complexType name="AoiBoxWZType">
343
		<xs:annotation>
344
			<xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
345
		</xs:annotation>
346
		<xs:complexContent>
347
			<xs:extension base="mb:AbstractMapWidgetType">
348
				<xs:sequence>
349
					<xs:element name="lineColor" type="xs:string" minOccurs="0"/>
350
					<xs:element name="lineWidth" type="xs:integer" minOccurs="0"/>
351
					<xs:element name="crossSize" type="xs:integer" minOccurs="0"/>
352
				</xs:sequence>
353
			</xs:extension>
354
		</xs:complexContent>
355
	</xs:complexType>
356
	<xs:complexType name="TimeSeriesType">
357
		<xs:annotation>
358
			<xs:documentation>A MapPane widget to display map layers in a time series</xs:documentation>
359
		</xs:annotation>
360
		<xs:complexContent>
361
			<xs:extension base="mb:AbstractMapWidgetType"/>
362
		</xs:complexContent>
363
	</xs:complexType>
364
	<xs:complexType name="Caps2ContextType">
365
		<xs:annotation>
366
			<xs:documentation>A tool which builds a Web Map Context document from a Web Map Capabilities document.</xs:documentation>
367
		</xs:annotation>
368
		<xs:complexContent>
369
			<xs:extension base="mb:AbstractToolType"/>
370
		</xs:complexContent>
371
	</xs:complexType>
372
	<xs:complexType name="EditContextType">
373
		<xs:annotation>
374
			<xs:documentation>Tool which manipulates the Layer list of a Web Map Context document.</xs:documentation>
375
		</xs:annotation>
376
		<xs:complexContent>
377
			<xs:extension base="mb:AbstractToolType"/>
378
		</xs:complexContent>
379
	</xs:complexType>
380
	<xs:complexType name="AoiBoxDHTMLType">
381
		<xs:annotation>
382
			<xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
383
		</xs:annotation>
384
		<xs:complexContent>
385
			<xs:extension base="mb:AbstractMapWidgetType">
386
				<xs:sequence>
387
					<xs:element name="lineColor" type="xs:string" minOccurs="0"/>
388
					<xs:element name="lineWidth" type="xs:integer" minOccurs="0"/>
389
					<xs:element name="crossSize" type="xs:integer" minOccurs="0"/>
390
				</xs:sequence>
391
			</xs:extension>
392
		</xs:complexContent>
393
	</xs:complexType>
394
	<xs:complexType name="ResourceDropDownType">
395
		<xs:annotation>
396
			<xs:documentation>A widget to display a list of reources in an OWSContext document</xs:documentation>
397
		</xs:annotation>
398
		<xs:complexContent>
399
			<xs:extension base="mb:AbstractXslWidgetType"/>
400
		</xs:complexContent>
401
	</xs:complexType>
402
	<xs:complexType name="ButtonType">
403
		<xs:annotation>
404
			<xs:documentation>A generic instance of a ButonBase object</xs:documentation>
405
		</xs:annotation>
406
		<xs:complexContent>
407
			<xs:extension base="mb:AbstractButtonType"/>
408
		</xs:complexContent>
409
	</xs:complexType>
410
	<xs:complexType name="EditButtonType">
411
		<xs:annotation>
412
			<xs:documentation>After this button is selected, clicks on a MapPane will add a GML coord to a Line the targetModel FeatureCollection.</xs:documentation>
413
		</xs:annotation>
414
		<xs:complexContent>
415
			<xs:extension base="mb:AbstractButtonType">
416
				<xs:sequence>
417
					<xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
418
						<xs:annotation>
419
							<xs:documentation>The model which will be populated with the server response.</xs:documentation>
420
						</xs:annotation>
421
					</xs:element>
422
					<xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
423
						<xs:annotation>
424
							<xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
425
						</xs:annotation>
426
					</xs:element>
427
					<xs:element name="targetContext" type="xs:string" minOccurs="0">
428
						<xs:annotation>
429
							<xs:documentation>After a feature has been successfully sent to the Web Service, the targetContext will send a "refresh" event which will cause the map layers to re-render themselves.  This will ensure a modified WFS feature will be re-redered correctly by the querying WMS.</xs:documentation>
430
						</xs:annotation>
431
					</xs:element>
432
					<xs:element name="featureXpath" type="xs:string" minOccurs="0">
433
						<xs:annotation>
434
							<xs:documentation>Xpath of the gml:coordinates in the FeatureCollection that will be updated.</xs:documentation>
435
						</xs:annotation>
436
					</xs:element>
437
					<xs:element name="defaultModelUrl" type="xs:string" minOccurs="0">
438
						<xs:annotation>
439
							<xs:documentation>URL to an XML file which contains a default FeatureCollect.  The XML will be loaded into the targetModel when this button is selected.</xs:documentation>
440
						</xs:annotation>
441
					</xs:element>
442
				</xs:sequence>
443
			</xs:extension>
444
		</xs:complexContent>
445
	</xs:complexType>
446
	<xs:complexType name="InsertFeatureType">
447
		<xs:annotation>
448
			<xs:documentation>When this button is selected, a WFS InsertFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
449
		</xs:annotation>
450
		<xs:complexContent>
451
			<xs:extension base="mb:EditButtonType"/>
452
		</xs:complexContent>
453
	</xs:complexType>
454
	<xs:complexType name="WfsGetFeatureType">
455
		<xs:annotation>
456
			<xs:documentation>After this button is selected, clicks on a MapPane will initiate a WFS GetFeature GET request and the result will be stored in the targetModel FeatureCollection.</xs:documentation>
457
		</xs:annotation>
458
		<xs:complexContent>
459
			<xs:extension base="mb:EditButtonType">
460
				<xs:sequence>
461
					<xs:element name="typeName" type="xs:string" minOccurs="0">
462
						<xs:annotation>
463
							<xs:documentation>A commer seperated list of layers to query.</xs:documentation>
464
						</xs:annotation>
465
					</xs:element>
466
					<xs:element name="tolerance" type="xs:string" minOccurs="0">
467
						<xs:annotation>
468
							<xs:documentation>The number of pixels around the click point that are included in the query.  tollerance=0 means a Bbox of 1x1 pixel is queried, tollerance=1 means a Bbox of 3x3 is queried, tolerance=2 means a Bbo of 5x5 is queried.</xs:documentation>
469
						</xs:annotation>
470
					</xs:element>
471
					<xs:element name="maxFeatures" type="xs:string" minOccurs="0">
472
						<xs:annotation>
473
							<xs:documentation>The maximum number of features returned by the query.</xs:documentation>
474
						</xs:annotation>
475
					</xs:element>
476
				</xs:sequence>
477
			</xs:extension>
478
		</xs:complexContent>
479
	</xs:complexType>
480
	<xs:complexType name="ProcessArgumentsFormType">
481
		<xs:annotation>
482
			<xs:documentation>A form widget to enter WPS processing options</xs:documentation>
483
		</xs:annotation>
484
		<xs:complexContent>
485
			<xs:extension base="mb:AbstractXslWidgetType">
486
				<xs:sequence>
487
					<xs:element name="mapModel" type="xs:string" minOccurs="0"/>
488
				</xs:sequence>
489
			</xs:extension>
490
		</xs:complexContent>
491
	</xs:complexType>
492
	<xs:complexType name="ShowProcessResultType">
493
		<xs:annotation>
494
			<xs:documentation>A widget to display the result of a ShowProcess operation on an WPS</xs:documentation>
495
		</xs:annotation>
496
		<xs:complexContent>
497
			<xs:extension base="mb:AbstractXslWidgetType"/>
498
		</xs:complexContent>
499
	</xs:complexType>
500
	<xs:complexType name="TabbedContentType">
501
		<xs:annotation>
502
			<xs:documentation>A widget that displays a list of tabs that can be selected to display other widgets</xs:documentation>
503
		</xs:annotation>
504
		<xs:complexContent>
505
			<xs:extension base="mb:AbstractXslWidgetType">
506
				<xs:sequence>
507
					<xs:element name="htmlWorkspace" type="xs:string" minOccurs="0"/>
508
					<xs:element name="tab" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
509
				</xs:sequence>
510
			</xs:extension>
511
		</xs:complexContent>
512
	</xs:complexType>
513
	<xs:complexType name="SaveType">
514
		<xs:annotation>
515
			<xs:documentation>After this button is selected, the Web Map Context is saved on the users local computer.</xs:documentation>
516
		</xs:annotation>
517
		<xs:complexContent>
518
			<xs:extension base="mb:AbstractButtonType">
519
				<xs:sequence>
520
					<xs:element name="popupWindowName" type="xs:string"/>
521
				</xs:sequence>
522
			</xs:extension>
523
		</xs:complexContent>
524
	</xs:complexType>
525
	<!-- global tools extension types -->
526
	<xs:complexType name="AoiMouseHandlerType">
527
		<xs:annotation>
528
			<xs:documentation>A tool for models of a map container to set the AOI by click and drag of the mouse</xs:documentation>
529
		</xs:annotation>
530
		<xs:complexContent>
531
			<xs:extension base="mb:AbstractToolType"/>
532
		</xs:complexContent>
533
	</xs:complexType>
534
	<xs:complexType name="AoiBoxType">
535
		<xs:annotation>
536
			<xs:documentation>A tool to draw the AOI box on a map container (to be dprecated for widget version)</xs:documentation>
537
		</xs:annotation>
538
		<xs:complexContent>
539
			<xs:extension base="mb:AbstractToolType">
540
				<xs:sequence>
541
					<xs:element name="lineColor" type="xs:string" minOccurs="0"/>
542
					<xs:element name="lineWidth" type="xs:integer" minOccurs="0"/>
543
					<xs:element name="crossSize" type="xs:integer" minOccurs="0"/>
544
				</xs:sequence>
545
			</xs:extension>
546
		</xs:complexContent>
547
	</xs:complexType>
548
	<xs:complexType name="DragPanHandlerType">
549
		<xs:annotation>
550
			<xs:documentation>A tool for models of a map container to click and drag the map to pan</xs:documentation>
551
		</xs:annotation>
552
		<xs:complexContent>
553
			<xs:extension base="mb:AbstractToolType"/>
554
		</xs:complexContent>
555
	</xs:complexType>
556
	<xs:complexType name="MouseClickHandlerType">
557
		<xs:annotation>
558
			<xs:documentation>A tool for models of a map container to handle mouse click events</xs:documentation>
559
		</xs:annotation>
560
		<xs:complexContent>
561
			<xs:extension base="mb:AbstractToolType"/>
562
		</xs:complexContent>
563
	</xs:complexType>
564
	<xs:complexType name="ZoomToAoiType">
565
		<xs:annotation>
566
			<xs:documentation>A tool reset the model extent to the AOI </xs:documentation>
567
		</xs:annotation>
568
		<xs:complexContent>
569
			<xs:extension base="mb:AbstractToolType"/>
570
		</xs:complexContent>
571
	</xs:complexType>
572
	<xs:complexType name="WebServiceRequestType">
573
		<xs:annotation>
574
			<xs:documentation>A tool which will generate web service requests from a node from the paranet model</xs:documentation>
575
		</xs:annotation>
576
		<xs:complexContent>
577
			<xs:extension base="mb:AbstractToolType">
578
				<xs:sequence>
579
					<xs:element name="requestName" type="xs:string"/>
580
					<xs:element name="requestFilter" minOccurs="0"/>
581
					<xs:element name="maxFeatures" type="xs:integer" minOccurs="0"/>
582
				</xs:sequence>
583
			</xs:extension>
584
		</xs:complexContent>
585
	</xs:complexType>
586
	<xs:complexType name="MovieLoopType">
587
		<xs:annotation>
588
			<xs:documentation>Tool to control display of layers as a moive loop</xs:documentation>
589
		</xs:annotation>
590
		<xs:complexContent>
591
			<xs:extension base="mb:AbstractToolType">
592
				<xs:sequence>
593
					<xs:element name="framesPerSecond" type="xs:integer" minOccurs="0"/>
594
					<xs:element name="maxFrames" type="xs:integer" minOccurs="0"/>
595
				</xs:sequence>
596
			</xs:extension>
597
		</xs:complexContent>
598
	</xs:complexType>
599
	<xs:complexType name="HistoryType">
600
		<xs:annotation>
601
			<xs:documentation>Tool which maintains a history of the map views displayed</xs:documentation>
602
		</xs:annotation>
603
		<xs:complexContent>
604
			<xs:extension base="mb:AbstractToolType"/>
605
		</xs:complexContent>
606
	</xs:complexType>
607
	<!--  document structure -->
608
	<xs:complexType name="modelsType">
609
		<xs:choice minOccurs="0" maxOccurs="unbounded">
610
			<xs:element name="Model" type="mb:ModelType">
611
				<xs:annotation>
612
					<xs:documentation>A generic model to represent an XML document where no specialized get or set methods are required</xs:documentation>
613
				</xs:annotation>
614
			</xs:element>
615
			<xs:element name="Context" type="mb:ContextType"/>
616
			<xs:element name="OwsContext" type="mb:ContextType"/>
617
			<xs:element name="GeoRSS" type="mb:GeoRSSType"/>
618
			<xs:element name="ContextCollection" type="mb:ContextCollectionType"/>
619
			<xs:element name="WmsCapabilities" type="mb:WmsCapabilitiesType"/>
620
			<xs:element name="WfsCapabilities" type="mb:WfsCapabilitiesType"/>
621
			<xs:element name="WpsCapabilities" type="mb:WpsCapabilitiesType"/>
622
			<xs:element name="FeatureCollection" type="mb:FeatureCollectionType"/>
623
			<xs:element name="Transaction" type="mb:TransactionType"/>
624
			<xs:element name="DescribeFeatureType" type="mb:DescribeFeatureTypeType"/>
625
			<xs:element name="WpsDescribeProcess" type="mb:WpsDescribeProcessType"/>
626
			<xs:element name="FeatureTypeSchema" type="mb:ModelType"/>
627
			<xs:element name="OwsCatResources" type="mb:ModelType"/>
628
		</xs:choice>
629
	</xs:complexType>
630
	<xs:complexType name="widgetsType">
631
		<xs:choice maxOccurs="unbounded">
632
			<xs:element name="Widget" type="mb:WidgetType"/>
633
			<xs:element name="ModelSwitcher" type="mb:WidgetType"/>
634
			<xs:element name="TimeSeries" type="mb:TimeSeriesType"/>
635
			<xs:element name="Timestamp" type="mb:WidgetType"/>
636
			<xs:element name="MapPane" type="mb:MapPaneType"/>
637
			<xs:element name="ModelUrlInput" type="mb:ModelUrlInputType"/>
638
			<xs:element name="AoiBoxDHTML" type="mb:AoiBoxDHTMLType"/>
639
			<xs:element name="ResourceDropDown" type="mb:ResourceDropDownType"/>
640
			<xs:element name="AoiBoxWZ" type="mb:AoiBoxWZType"/>
641
			<xs:element name="CursorTrack" type="mb:CursorTrackType"/>
642
			<xs:element name="Legend" type="mb:LegendType"/>
643
			<xs:element name="AoiForm" type="mb:AoiFormType"/>
644
			<xs:element name="MapScaleText" type="mb:MapScaleTextType"/>
645
			<xs:element name="SaveModel" type="mb:SaveModelType"/>
646
			<xs:element name="Loading2" type="mb:Loading2Type"/>
647
			<xs:element name="WmsCapabilitiesImport" type="mb:WmsCapabilitiesImportType"/>
648
			<xs:element name="CollectionList" type="mb:CollectionListType"/>
649
			<xs:element name="FeatureList" type="mb:FeatureListType"/>
650
			<xs:element name="Locations" type="mb:LocationsType"/>
651
			<xs:element name="GmlPointRenderer" type="mb:GmlPointRendererType"/>
652
			<xs:element name="GmlRendererWZ" type="mb:GmlRendererWZType"/>
653
			<xs:element name="WebServiceForm" type="mb:WebServiceFormType"/>
654
			<xs:element name="ShowResponse" type="mb:WidgetType"/>
655
			<xs:element name="TransactionResponse" type="mb:WidgetType"/>
656
			<xs:element name="Button" type="mb:ButtonType"/>
657
			<xs:element name="ZoomIn" type="mb:ButtonType"/>
658
			<xs:element name="ZoomOut" type="mb:ButtonType"/>
659
			<xs:element name="DragPan" type="mb:ButtonType"/>
660
			<xs:element name="SetAoi" type="mb:ButtonType"/>
661
			<xs:element name="Reset" type="mb:ButtonType"/>
662
			<xs:element name="Back" type="mb:ButtonType"/>
663
			<xs:element name="Forward" type="mb:ButtonType"/>
664
			<xs:element name="GetFeatureInfo" type="mb:GetFeatureInfoType"/>
665
			<xs:element name="EditPoint" type="mb:EditButtonType"/>
666
			<xs:element name="EditLine" type="mb:EditButtonType"/>
667
			<xs:element name="InsertFeature" type="mb:InsertFeatureType"/>
668
			<xs:element name="DeleteFeature" type="mb:EditButtonType"/>
669
			<xs:element name="WfsGetFeature" type="mb:WfsGetFeatureType"/>
670
			<xs:element name="Save" type="mb:SaveType"/>
671
			<xs:element name="Loading" type="mb:WidgetType"/>
672
			<xs:element name="LayerControl">
673
				<xs:complexType>
674
					<xs:complexContent>
675
						<xs:extension base="mb:WidgetType">
676
							<xs:all>
677
								<xs:element name="moveUpImage" minOccurs="0"/>
678
								<xs:element name="moveDownImage" minOccurs="0"/>
679
								<xs:element name="deleteImage" minOccurs="0"/>
680
							</xs:all>
681
						</xs:extension>
682
					</xs:complexContent>
683
				</xs:complexType>
684
			</xs:element>
685
			<xs:element name="ModelStatus" type="mb:WidgetType"/>
686
			<xs:element name="ProcessArgumentsForm" type="mb:ProcessArgumentsFormType"/>
687
			<xs:element name="ShowProcessResult" type="mb:ShowProcessResultType"/>
688
			<xs:element name="TabbedContent" type="mb:TabbedContentType"/>
689
			<xs:element name="OWSCatSearchForm" type="mb:WidgetType"/>
690
		</xs:choice>
691
	</xs:complexType>
692
	<xs:complexType name="toolsType">
693
		<xs:choice maxOccurs="unbounded">
694
			<xs:element name="AoiMouseHandler" type="mb:AoiMouseHandlerType"/>
695
			<xs:element name="AoiBox" type="mb:AoiBoxType"/>
696
			<xs:element name="DragPanHandler" type="mb:DragPanHandlerType"/>
697
			<xs:element name="MouseClickHandler" type="mb:MouseClickHandlerType"/>
698
			<xs:element name="ZoomToAoi" type="mb:ZoomToAoiType"/>
699
			<xs:element name="WebServiceRequest" type="mb:WebServiceRequestType"/>
700
			<xs:element name="Caps2Context" type="mb:Caps2ContextType"/>
701
			<xs:element name="EditContext" type="mb:EditContextType"/>
702
			<xs:element name="MovieLoop" type="mb:MovieLoopType"/>
703
			<xs:element name="History" type="mb:HistoryType"/>
704
		</xs:choice>
705
	</xs:complexType>
706
	<!--  global base types -->
707
	<xs:complexType name="AbstractModelType" abstract="true">
708
		<xs:sequence>
709
			<xs:element name="title" type="xs:string" minOccurs="0">
710
				<xs:annotation>
711
					<xs:documentation>optional human-readable label that can be used with model</xs:documentation>
712
				</xs:annotation>
713
			</xs:element>
714
			<xs:element name="defaultModelUrl" type="mb:urlPathType" minOccurs="0">
715
				<xs:annotation>
716
					<xs:documentation>The URL where the model gets loaded from.  If the method is HTTP GET, then include the full query string in the URL.  Optional, if present, the model will be loaded when the application loads.</xs:documentation>
717
				</xs:annotation>
718
			</xs:element>
719
			<xs:element name="postData" minOccurs="0">
720
				<xs:annotation>
721
					<xs:documentation>contains a fragment of XML data which will be posted to the server URL when using HTTP POST.  Optional.</xs:documentation>
722
				</xs:annotation>
723
			</xs:element>
724
			<xs:element name="method" type="xs:string" minOccurs="0">
725
				<xs:annotation>
726
					<xs:documentation>the HTTP method to use to retrieve the model.  Optional, defaults to GET.</xs:documentation>
727
				</xs:annotation>
728
			</xs:element>
729
			<xs:element name="models" type="mb:modelsType" minOccurs="0">
730
				<xs:annotation>
731
					<xs:documentation>A list of child models objects where a parent/child relationship can be established between models (e.g. a DescribeFeatureType model can be a child of a WfsCapabilities model.  Optional.</xs:documentation>
732
				</xs:annotation>
733
			</xs:element>
734
			<xs:element name="widgets" type="mb:widgetsType" minOccurs="0">
735
				<xs:annotation>
736
					<xs:documentation>a list of widgets for this model.  Optional, however a model will usually have at least one widget.</xs:documentation>
737
				</xs:annotation>
738
			</xs:element>
739
			<xs:element name="tools" type="mb:toolsType" minOccurs="0">
740
				<xs:annotation>
741
					<xs:documentation>a list of tools that can be used to control this model. Optional.</xs:documentation>
742
				</xs:annotation>
743
			</xs:element>
744
			<xs:element name="namespace" type="xs:string" minOccurs="0">
745
				<xs:annotation>
746
					<xs:documentation>The namespace that will be used by Xpath queries on this model.  Optional.</xs:documentation>
747
				</xs:annotation>
748
			</xs:element>
749
			<xs:element name="nodeSelectXpath" type="xs:string" minOccurs="0">
750
				<xs:annotation>
751
					<xs:documentation>an XPath expression to select an array of nodes from the document with the .getFeature method</xs:documentation>
752
				</xs:annotation>
753
			</xs:element>
754
		</xs:sequence>
755
		<xs:attribute name="id" type="mb:idType" use="required"/>
756
		<xs:attribute name="template" type="xs:boolean" use="optional"/>
757
	</xs:complexType>
758
	<xs:complexType name="AbstractWidgetType" abstract="true">
759
		<xs:sequence>
760
			<xs:element name="htmlTagId" type="xs:string" minOccurs="0">
761
				<xs:annotation>
762
					<xs:documentation>the ID of the HTML element in the web page where this widget's ouput should be placed.  Optional, if present, this value will be used instead of the widget's ID attribute.</xs:documentation>
763
				</xs:annotation>
764
			</xs:element>
765
			<xs:element name="outputNodeId" type="xs:string" minOccurs="0">
766
				<xs:annotation>
767
					<xs:documentation>the ID to be assigned to the widget stylesheet output.  This property can be used to share the same HTML element among widgets if multiple widgets use the same value for this property.  Optional, if not present, an id will be automatically assigned to the widget stylehseet output. </xs:documentation>
768
				</xs:annotation>
769
			</xs:element>
770
			<xs:element name="targetModel" type="xs:string" minOccurs="0">
771
				<xs:annotation>
772
					<xs:documentation>used so that the actions of this widget can affect a model other than this widget's parent model.  The value of this property is the ID of another model object in the config document.  Every widget will have a targetModel property.  Optional, if missing the targetModel is set to the parent model</xs:documentation>
773
				</xs:annotation>
774
			</xs:element>
775
			<xs:element name="debug" nillable="true" minOccurs="0">
776
				<xs:annotation>
777
					<xs:documentation>an empty property element to show debuggin output during stylesheet processing.  Optional.</xs:documentation>
778
				</xs:annotation>
779
			</xs:element>
780
			<xs:element name="autoRefresh" type="xs:string" minOccurs="0">
781
				<xs:annotation>
782
					<xs:documentation>if this property has a value of "false", automatic refresh of the widget output is suppressed.  Optional, defaults to true</xs:documentation>
783
				</xs:annotation>
784
			</xs:element>
785
			<xs:element name="scriptFile" type="xs:anyURI" minOccurs="0">
786
				<xs:annotation>
787
					<xs:documentation>optional pointer to a JavaScript file defniition for this class.  Default is lib/widgets object name.</xs:documentation>
788
				</xs:annotation>
789
			</xs:element>
790
			<!--xs:any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/-->
791
		</xs:sequence>
792
		<xs:attribute name="id" type="mb:idType" use="required"/>
793
	</xs:complexType>
794
	<xs:complexType name="AbstractXslWidgetType">
795
		<xs:complexContent>
796
			<xs:extension base="mb:AbstractWidgetType">
797
				<xs:sequence>
798
					<xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
799
						<xs:annotation>
800
							<xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder applicaiton.  Optional, if missing a default stylesheet will be used (in the lib/widgets directory with the same name as the widget)</xs:documentation>
801
						</xs:annotation>
802
					</xs:element>
803
					<xs:element name="title" type="xs:string" minOccurs="0">
804
						<xs:annotation>
805
							<xs:documentation>label for this widget passed to the stylesheet</xs:documentation>
806
						</xs:annotation>
807
					</xs:element>
808
				</xs:sequence>
809
			</xs:extension>
810
		</xs:complexContent>
811
	</xs:complexType>
812
	<xs:complexType name="AbstractMapWidgetType">
813
		<xs:complexContent>
814
			<xs:extension base="mb:AbstractXslWidgetType">
815
				<xs:sequence>
816
					<xs:element name="mapContainerId" type="xs:string">
817
						<xs:annotation>
818
							<xs:documentation>Used to assign an ID to a container DIV element for 2 dimensional map widgets.  Multiple widgets may share this container for rendering their output. The first model encountered in the config file using this ID becomes the "source" model for this widget so that extent, AOI and orther map related data can be shared by multiple models.   Required.  </xs:documentation>
819
						</xs:annotation>
820
					</xs:element>
821
				</xs:sequence>
822
			</xs:extension>
823
		</xs:complexContent>
824
	</xs:complexType>
825
	<xs:complexType name="AbstractButtonType" abstract="true">
826
		<xs:complexContent>
827
			<xs:extension base="mb:AbstractWidgetType">
828
				<xs:sequence>
829
					<xs:element name="buttonBar" type="xs:string">
830
						<xs:annotation>
831
							<xs:documentation>equivalent to the htmlTagId property for placing buttons in a page.  Buttons get appended to this HTML element in sequence.</xs:documentation>
832
						</xs:annotation>
833
					</xs:element>
834
					<xs:element name="targetModel" type="xs:string">
835
						<xs:annotation>
836
							<xs:documentation>id of a model that the button will act on.  Defaults to the parent model</xs:documentation>
837
						</xs:annotation>
838
					</xs:element>
839
					<xs:element name="mouseHandler" type="xs:string" minOccurs="0">
840
						<xs:annotation>
841
							<xs:documentation>the id of a tool object on which to register mouse events.  Optional, if absent, not mouse events are handled and the action is the doSelect function</xs:documentation>
842
						</xs:annotation>
843
					</xs:element>
844
					<xs:element name="class" type="xs:string" minOccurs="0">
845
						<xs:annotation>
846
							<xs:documentation>specifies the type of button.  Permitted values include "Button" and "RadioButton".  A Button class will execute it's action immediately when pressed.  A "RadioButton" has enabled and disabled state and only one button in a buttonBar group can be enabled at any one time.</xs:documentation>
847
						</xs:annotation>
848
					</xs:element>
849
					<xs:element name="selected" type="xs:boolean" minOccurs="0">
850
						<xs:annotation>
851
							<xs:documentation>boolean value (true|false) to inidicate the initial state of this button</xs:documentation>
852
						</xs:annotation>
853
					</xs:element>
854
					<xs:element name="enabledSrc" type="mb:urlPathType" minOccurs="0">
855
						<xs:annotation>
856
							<xs:documentation>partial skin path to graphic source when this button is selected</xs:documentation>
857
						</xs:annotation>
858
					</xs:element>
859
					<xs:element name="disabledSrc" type="mb:urlPathType" minOccurs="0">
860
						<xs:annotation>
861
							<xs:documentation>partial skin path to graphic source when this button is not selected</xs:documentation>
862
						</xs:annotation>
863
					</xs:element>
864
					<xs:element name="tooltip" type="mb:multiLangType" minOccurs="0">
865
						<xs:annotation>
866
							<xs:documentation>text to be used when the mouse hovers over this button.</xs:documentation>
867
						</xs:annotation>
868
					</xs:element>
869
					<xs:element name="action" type="xs:string" minOccurs="0">
870
						<xs:annotation>
871
							<xs:documentation>function call to be executed when the button is selected.  It will be prepended by config.objects so this property should take the form objectId,method(...)</xs:documentation>
872
						</xs:annotation>
873
					</xs:element>
874
					<xs:element name="cursor" type="xs:string" minOccurs="0">
875
						<xs:annotation>
876
							<xs:documentation>CSS cursor value to use when this button is selected</xs:documentation>
877
						</xs:annotation>
878
					</xs:element>
879
				</xs:sequence>
880
			</xs:extension>
881
		</xs:complexContent>
882
	</xs:complexType>
883
	<xs:complexType name="AbstractToolType" abstract="true">
884
		<xs:sequence>
885
			<xs:element name="targetModel" type="xs:string" minOccurs="0">
886
				<xs:annotation>
887
					<xs:documentation>the id of a model object which this tool acts on.  Optional, if absent the action happens on the parent model of this tool.</xs:documentation>
888
				</xs:annotation>
889
			</xs:element>
890
			<xs:element name="enabled" type="xs:boolean" minOccurs="0">
891
				<xs:annotation>
892
					<xs:documentation>a flag to indicate if this tool should initially be enabled.  Optional, accepts values of true and false.  Tools are enabled by default.</xs:documentation>
893
				</xs:annotation>
894
			</xs:element>
895
		</xs:sequence>
896
		<xs:attribute name="id" type="mb:idType" use="optional"/>
897
	</xs:complexType>
898
	<!--utility types-->
899
	<xs:simpleType name="idType">
900
		<xs:restriction base="xs:ID"/>
901
	</xs:simpleType>
902
	<xs:simpleType name="urlPathType">
903
		<xs:restriction base="xs:string"/>
904
	</xs:simpleType>
905
	<xs:complexType name="multiLangType">
906
		<xs:annotation>
907
			<xs:documentation>  Muliple languages are supported by using an "xml:lang" attribute on object properties.  The element may then be repeated for each langauge supported</xs:documentation>
908
		</xs:annotation>
909
		<xs:simpleContent>
910
			<xs:extension base="xs:string">
911
				<xs:attribute ref="xml:lang"/>
912
			</xs:extension>
913
		</xs:simpleContent>
914
	</xs:complexType>
915
	<xs:complexType name="httpMethodType">
916
		<xs:simpleContent>
917
			<xs:extension base="xs:string"/>
918
		</xs:simpleContent>
919
	</xs:complexType>
2
<xs:schema targetNamespace="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:mb="http://mapbuilder.sourceforge.net/mapbuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.2.1">
3
  <xs:annotation>
4
    <xs:appinfo>$Id: config.xsd 3965 2008-04-01 14:53:07Z oterral $</xs:appinfo>
5
    <xs:documentation xml:lang="en">
6
      <xs:description>Application schema for Mapbuilder runtime configuration</xs:description>
7
      <xs:copyright>License: LGPL as per: http://www.gnu.org/copyleft/lesser.html</xs:copyright>
8
    </xs:documentation>
9
  </xs:annotation>
10

  
11
  <!-- imports -->
12
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
13

  
14
  <!-- root element -->
15
  <xs:element name="MapbuilderConfig">
16
    <xs:annotation>
17
      <xs:documentation>root element for all Mapbuilder applications</xs:documentation>
18
    </xs:annotation>
19
    <xs:complexType>
20
      <xs:complexContent>
21
        <xs:extension base="mb:AbstractModelBaseType">
22
          <xs:sequence>
23
            <xs:element name="skinDir" type="mb:urlPathType" minOccurs="1"/>
24
            <xs:element name="userWidgetTextDir" type="mb:urlPathType" minOccurs="0"/>
25
            <xs:element name="proxyUrl" type="mb:urlPathType" minOccurs="0"/>
26
            <xs:element name="serializeUrl" type="mb:urlPathType" minOccurs="0"/>
27
          </xs:sequence>
28
          <xs:attribute name="version" type="xs:string" use="required" fixed="0.2.1">
29
            <xs:annotation>
30
              <xs:appinfo source="An attribute &quot;version&quot; representing the published specification version number, contains three positive integers, separated by decimal points, in the form &quot;x.y.z&quot;. Each context specification is numbered independently. This attribute is required."/>
31
            </xs:annotation>
32
          </xs:attribute>
33
        </xs:extension>
34
      </xs:complexContent>
35
    </xs:complexType>
36
  </xs:element>
37

  
38
  <!--  global base types -->
39
  <xs:complexType name="AbstractModelBaseType" abstract="true">
40
    <xs:sequence>
41
      <xs:element name="title" type="xs:string" minOccurs="0"/>
42
      <xs:element name="defaultModelUrl" type="mb:urlPathType" minOccurs="0">
43
        <xs:annotation>
44
          <xs:documentation>The URL where the model gets loaded from.  If the method is HTTP GET, then include the full query string in the URL.  Optional, if present, the model will be loaded when the application loads.</xs:documentation>
45
        </xs:annotation>
46
      </xs:element>
47
      <xs:element name="method" type="xs:string" minOccurs="0">
48
        <xs:annotation>
49
          <xs:documentation>the HTTP method to use to retrieve the model.  Optional, defaults to GET.</xs:documentation>
50
        </xs:annotation>
51
      </xs:element>
52
      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
53
        <xs:annotation>
54
          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
55
        </xs:annotation>
56
      </xs:element>
57
      <xs:element name="debug" nillable="true" minOccurs="0">
58
        <xs:annotation>
59
          <xs:documentation>an empty property element to show debugging output during model processing.  Optional.</xs:documentation>
60
        </xs:annotation>
61
      </xs:element>
62
      <xs:element name="models" type="mb:modelsType" minOccurs="0">
63
        <xs:annotation>
64
          <xs:documentation>A list of child models objects where a parent/child relationship can be established between models (e.g. a DescribeFeatureType model can be a child of a WfsCapabilities model.  Optional.</xs:documentation>
65
        </xs:annotation>
66
      </xs:element>
67
      <xs:element name="widgets" type="mb:widgetsType" minOccurs="0">
68
        <xs:annotation>
69
          <xs:documentation>a list of widgets for this model.  Optional, however a model will usually have at least one widget.</xs:documentation>
70
        </xs:annotation>
71
      </xs:element>
72
      <xs:element name="tools" type="mb:toolsType" minOccurs="0">
73
        <xs:annotation>
74
          <xs:documentation>a list of tools that can be used to control this model. Optional.</xs:documentation>
75
        </xs:annotation>
76
      </xs:element>
77
      <xs:element name="namespace" type="xs:string" minOccurs="0">
78
        <xs:annotation>
79
          <xs:documentation>The namespace that will be used by Xpath queries on this model.  Optional.</xs:documentation>
80
        </xs:annotation>
81
      </xs:element>
82
      <xs:element name="nodeSelectXpath" type="xs:string" minOccurs="0">
83
        <xs:annotation>
84
          <xs:documentation/>
85
        </xs:annotation>
86
      </xs:element>
87
    </xs:sequence>
88
    <xs:attribute name="id" type="mb:idType" use="required"/>
89
    <xs:attribute name="template" type="xs:boolean" use="optional"/>
90
  </xs:complexType>
91
  <xs:complexType name="AbstractWidgetBaseType" abstract="true">
92
    <xs:sequence>
93
      <xs:element name="htmlTagId" type="xs:string" minOccurs="0">
94
        <xs:annotation>
95
          <xs:documentation>the ID of the HTML element in the web page where this widget's ouput should be placed.  Optional, if present, this value will be used instead of the widget's ID attribute.</xs:documentation>
96
        </xs:annotation>
97
      </xs:element>
98
      <xs:element name="outputNodeId" type="xs:string" minOccurs="0">
99
        <xs:annotation>
100
          <xs:documentation>the ID to be assigned to the widget stylesheet output.  This property can be used to share the same HTML element among widgets if multiple widgets use the same value for this property.  Optional, if not present, an id will be automatically assigned to the widget stylehseet output. </xs:documentation>
101
        </xs:annotation>
102
      </xs:element>
103
      <xs:element name="targetModel" type="xs:string" minOccurs="0">
104
        <xs:annotation>
105
          <xs:documentation>used so that the actions of this widget can affect a model other than this widget's parent model.  The value of this property is the ID of another model object in the config document.  Every widget will have a targetModel property.  Optional, if missing the targetModel is set to the parent model</xs:documentation>
106
        </xs:annotation>
107
      </xs:element>
108
      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
109
        <xs:annotation>
110
          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
111
        </xs:annotation>
112
      </xs:element>
113
      <xs:element name="debug" nillable="true" minOccurs="0">
114
        <xs:annotation>
115
          <xs:documentation>an empty property element to show debugging output during stylesheet processing.  Optional.</xs:documentation>
116
        </xs:annotation>
117
      </xs:element>
118
      <xs:element name="autoRefresh" type="xs:string" minOccurs="0">
119
        <xs:annotation>
120
          <xs:documentation>if this property has a value of "false", automatic refresh of the widget output is suppressed.  Optional, defaults to true</xs:documentation>
121
        </xs:annotation>
122
      </xs:element>
123
      <xs:element name="toolId" type="xs:string" minOccurs="0">
124
        <xs:annotation>
125
          <xs:documentation>i</xs:documentation>
126
        </xs:annotation>
127
      </xs:element>
128
    </xs:sequence>
129
    <xs:attribute name="id" type="mb:idType" use="required"/>
130
  </xs:complexType>
131
  <xs:complexType name="AbstractWidgetBaseXSLType" abstract="true">
132
    <xs:complexContent>
133
      <xs:extension base="mb:AbstractWidgetBaseType">
134
        <xs:sequence>
135
          <xs:element name="stylesheet" type="mb:urlPathType" minOccurs="0">
136
            <xs:annotation>
137
              <xs:documentation>this property specifies a relative or absolute URL to a stylesheet that can replace the default stylesheet.  The stylesheet must be served from the same domain as the mapbuilder application.  Optional, if missing a default stylesheet will be used (in the lib/widget directory with the same name as the widget)</xs:documentation>
138
            </xs:annotation>
139
          </xs:element>
140
          <xs:element name="parseHTMLNodes" type="xs:boolean" minOccurs="0">
141
            <xs:annotation>
142
              <xs:documentation>if true, HTML entities (like found in RSS feeds) will be parsed and converted to HTML, instead of showing HTML source code.</xs:documentation>
143
            </xs:annotation>
144
          </xs:element>
145
        </xs:sequence>
146
      </xs:extension>
147
    </xs:complexContent>
148
  </xs:complexType>
149
  <xs:complexType name="AbstractButtonBaseType" abstract="true">
150
    <xs:complexContent>
151
      <xs:extension base="mb:AbstractWidgetBaseType">
152
        <xs:sequence>
153
          <xs:element name="buttonBar" type="xs:string">
154
            <xs:annotation>
155
              <xs:documentation>equivalent to the htmlTagId property for placing buttons in a page.  Buttons get appended to this HTML element in sequence. Buttons with the same buttonBar property will belong to the same buttonBar group.</xs:documentation>
156
            </xs:annotation>
157
          </xs:element>
158
          <xs:element name="htmlTagId" type="xs:string" minOccurs="0">
159
            <xs:annotation>
160
              <xs:documentation>If set this property will be used for placing the buttons in a page. Buttons get appended to this HTML element in sequence. Use this property if you want to place buttons with the same buttonBar property on a different place in the web page.</xs:documentation>
161
            </xs:annotation>
162
          </xs:element>
163
          <xs:element name="targetModel" type="xs:string">
164
            <xs:annotation>
165
              <xs:documentation>Target Model</xs:documentation>
166
            </xs:annotation>
167
          </xs:element>
168
          <xs:element name="targetContext" type="xs:string" minOccurs="0">
169
            <xs:annotation>
170
              <xs:documentation>the id of a context object of the map on which to use the button.  Optional for buttons that have the context of the desired map as target model.</xs:documentation>
171
            </xs:annotation>
172
          </xs:element>
173
          <xs:element name="class" type="xs:string" minOccurs="0">
174
            <xs:annotation>
175
              <xs:documentation>specifies the type of button.  Permitted values include "Button", "Toggle" and "RadioButton".  A Button class will execute it's action immediately when pressed.  A "Toggle" will be enabled when clicked, and disabled when clicked again, without affecting other buttons. A "RadioButton" has enabled and disabled state and only one button in a buttonBar group can be enabled at any one time.</xs:documentation>
176
            </xs:annotation>
177
          </xs:element>
178
          <xs:element name="selected" type="xs:boolean" minOccurs="0">
179
            <xs:annotation>
180
              <xs:documentation>boolean value (true|false) to inidicate the initial state of this button</xs:documentation>
181
            </xs:annotation>
182
          </xs:element>
183
          <xs:element name="enabledSrc" type="mb:urlPathType" minOccurs="0">
184
            <xs:annotation>
185
              <xs:documentation>partial skin path to graphic source when this button is selected</xs:documentation>
186
            </xs:annotation>
187
          </xs:element>
188
          <xs:element name="disabledSrc" type="mb:urlPathType" minOccurs="0">
189
            <xs:annotation>
190
              <xs:documentation>partial skin path to graphic source when this button is not selected</xs:documentation>
191
            </xs:annotation>
192
          </xs:element>
193
          <xs:element name="tooltip" type="mb:tooltipType" minOccurs="0">
194
            <xs:annotation>
195
              <xs:documentation>text to be used when the mouse hovers over this button.  Multiple languages are supported by using an "xml:lang" attribute on this property.</xs:documentation>
196
            </xs:annotation>
197
          </xs:element>
198
          <xs:element name="action" type="xs:string" minOccurs="0">
199
            <xs:annotation>
200
              <xs:documentation/>
201
            </xs:annotation>
202
          </xs:element>
203
          <xs:element name="cursor" type="xs:string" minOccurs="0">
204
            <xs:annotation>
205
              <xs:documentation/>
206
            </xs:annotation>
207
          </xs:element>
208
        </xs:sequence>
209
      </xs:extension>
210
    </xs:complexContent>
211
  </xs:complexType>
212
  <xs:complexType name="AbstractToolBaseType" abstract="true">
213
    <xs:sequence>
214
      <xs:element name="targetModel" type="xs:string" minOccurs="0">
215
        <xs:annotation>
216
          <xs:documentation>the id of a model object which this tool acts on.  Optional, if absent the action happens on the parent model of this tool.</xs:documentation>
217
        </xs:annotation>
218
      </xs:element>
219
      <xs:element name="mouseHandler" type="xs:string" minOccurs="0">
220
        <xs:annotation>
221
          <xs:documentation>the id of a tool object on which to register mouse events.  Optional, if absent, not mouse events are handled and the action is the doSelect function</xs:documentation>
222
        </xs:annotation>
223
      </xs:element>
224
      <xs:element name="scriptFile" type="mb:urlPathType" minOccurs="0">
225
        <xs:annotation>
226
          <xs:documentation>this property specifies a relative or absolute URL to a JavaScript file that can replace the default JavaScript object.  The file must be served from the same domain as the mapbuilder application.  Optional, if missing a default JavaScript file will be used (in the lib/tool directory with the same name as the widget)</xs:documentation>
227
        </xs:annotation>
228
      </xs:element>
229
      <xs:element name="enabled" type="xs:boolean" minOccurs="0">
230
        <xs:annotation>
231
          <xs:documentation>a flag to indicate if this tool should initially be enabled.  Optional, accepts values of true and false.  Tools are enabled by default.</xs:documentation>
232
        </xs:annotation>
233
      </xs:element>
234
    </xs:sequence>
235
    <xs:attribute name="id" type="mb:idType" use="optional"/>
236
  </xs:complexType>
237

  
238
  <!--  document structure -->
239
  <xs:complexType name="modelsType">
240
    <xs:choice maxOccurs="unbounded">
241
      <xs:element name="Context" type="mb:ContextType"/>
242
      <xs:element name="FeatureCollection" type="mb:FeatureCollectionType"/>
243
      <xs:element name="GeoRSS" type="mb:GeoRSSType"/>
244
      <xs:element name="Logger" type="mb:LoggerType"/>
245
      <xs:element name="Model" type="mb:ModelType">
246
        <xs:annotation>
247
          <xs:documentation>A generic model to represent an XML document where no specialized get or set methods are required</xs:documentation>
248
        </xs:annotation>
249
      </xs:element>
250
      <xs:element name="OwsCatResources" type="mb:OwsCatResourcesType"/>
251
      <xs:element name="OwsContext" type="mb:ContextType"/>
252
      <xs:element name="StyledLayerDescriptor" type="mb:StyledLayerDescriptorType"/>
253
      <xs:element name="Transaction" type="mb:TransactionType"/>
254
      <xs:element name="WfsCapabilities" type="mb:WfsCapabilitiesType"/>
255
      <xs:element name="WmsCapabilities" type="mb:WmsCapabilitiesType"/>
256
      <xs:element name="WpsCapabilities" type="mb:WpsCapabilitiesType"/>
257
      <xs:element name="WpsDescribeProcess" type="mb:WpsDescribeProcessType"/>
258
    </xs:choice>
259
  </xs:complexType>
260
  <xs:complexType name="widgetsType">
261
    <xs:choice maxOccurs="unbounded">
262
      <xs:element name="Abstract" type="mb:WidgetType"/>
263
      <xs:element name="AoiBoxOL" type="mb:AoiBoxOLType"/>
264
      <xs:element name="AoiForm" type="mb:AoiFormType"/>
265
      <xs:element name="Back" type="mb:ButtonType"/>
266
      <xs:element name="Button" type="mb:ButtonType">
267
        <xs:annotation>
268
          <xs:documentation>A generic button</xs:documentation>
269
        </xs:annotation>
270
      </xs:element>
271
      <xs:element name="CatSearchForm" type="mb:WidgetType"/>
272
      <xs:element name="CollectionList" type="mb:CollectionListType"/>
273
      <xs:element name="CursorTrack" type="mb:CursorTrackType"/>
274
      <xs:element name="DeleteFeature" type="mb:DeleteFeatureType"/>
275
      <xs:element name="DragPan" type="mb:ButtonType"/>
276
      <xs:element name="EditLine" type="mb:EditButtonBaseType"/>
277
      <xs:element name="EditPoint" type="mb:EditButtonBaseType"/>
278
      <xs:element name="EditPolygon" type="mb:EditButtonBaseType"/>
279
      <xs:element name="EventLog" type="mb:WidgetType"/>
280
      <xs:element name="ExampleList" type="mb:WidgetType"/>
281
      <xs:element name="FeatureInfo" type="mb:WidgetType"/>
282
      <xs:element name="FeatureList" type="mb:WidgetType"/>
283
      <xs:element name="FilterAttributes" type="mb:WidgetType"/>
284
      <xs:element name="Forward" type="mb:ButtonType"/>
285
      <xs:element name="GetFeatureInfo" type="mb:GetFeatureInfoType"/>
286
      <xs:element name="GetFeatureInfoWSR" type="mb:GetFeatureInfoWSRType"/>
287
      <xs:element name="GmlRendererConfig" type="mb:GmlRendererConfigType"/>
288
      <xs:element name="GmlRendererOL" type="mb:GmlRendererOLType"/>
289
      <xs:element name="Graticule" type="mb:GraticuleType"/>
290
      <xs:element name="InsertFeature" type="mb:InsertFeatureType"/>
291
      <xs:element name="LayerControl" type="mb:LayerControlType"/>
292
      <xs:element name="Legend" type="mb:LegendType"/>
293
      <xs:element name="LegendGraphic" type="mb:LegendGraphicType"/>
294
      <xs:element name="Loading2" type="mb:Loading2Type"/>
295
      <xs:element name="Locations" type="mb:LocationsType"/>
296
      <xs:element name="MapPaneOL" type="mb:MapPaneOLType"/>
297
      <xs:element name="MapScaleBar" type="mb:MapScaleBarType"/>
298
      <xs:element name="MapScaleText" type="mb:MapScaleTextType"/>
299
      <xs:element name="MapTitle" type="mb:WidgetType"/>
300
      <xs:element name="Measurement" type="mb:EditButtonBaseType"/>
301
      <xs:element name="ModelStatus" type="mb:ModelStatusType"/>
302
      <xs:element name="ModelUrlInput" type="mb:ModelUrlInputType"/>
303
      <xs:element name="OpenLSForm" type="mb:OpenLSFormType"/>
304
      <xs:element name="OpenLSResponse" type="mb:OpenLSResponseType"/>
305
      <xs:element name="OverviewMap" type="mb:OverviewMapType"/>
306
      <xs:element name="PanZoomBar" type="mb:PanZoomBarType"/>
307
      <xs:element name="Reset" type="mb:ButtonType"/>
308
      <xs:element name="Save" type="mb:SaveType"/>
309
      <xs:element name="SaveModel" type="mb:SaveModelType"/>
310
      <xs:element name="SearchWidget" type="mb:SearchWidgetType"/>
311
      <xs:element name="SelectAllMapLayers" type="mb:WidgetType"/>
312
      <xs:element name="SelectFeatureType" type="mb:WidgetType"/>
313
      <xs:element name="SelectFromAtomFeed" type="mb:SelectFromAtomFeedType"/>
314
      <xs:element name="SelectMapLayers" type="mb:WidgetType"/>
315
      <xs:element name="SelectTimeFrame" type="mb:WidgetType"/>
316
      <xs:element name="ServiceRegistryList" type="mb:WidgetType"/>
317
      <xs:element name="SetAoi" type="mb:ButtonType"/>
318
      <xs:element name="SLDEditor" type="mb:WidgetType"/>
319
      <xs:element name="ShowDistance" type="mb:WidgetType"/>
320
      <xs:element name="TabbedContent" type="mb:TabbedContentType"/>
321
      <xs:element name="Timestamp" type="mb:TimestampType"/>
322
      <xs:element name="TipWidgetOL" type="mb:TipWidgetOLType"/>
323
      <xs:element name="TipWidgetConfig" type="mb:TipWidgetConfigType"/>
324
      <xs:element name="TransactionResponse" type="mb:WidgetType"/>
325
      <xs:element name="Version" type="mb:WidgetType"/>
326
      <xs:element name="WebServiceForm" type="mb:WebServiceFormType"/>
327
      <xs:element name="WfsGetFeature" type="mb:WfsGetFeatureType"/>
328
      <xs:element name="Widget" type="mb:WidgetType">
329
        <xs:annotation>
330
          <xs:documentation>A generic widget</xs:documentation>
331
        </xs:annotation>
332
      </xs:element>
333
      <xs:element name="ZoomIn" type="mb:ButtonType"/>
334
      <xs:element name="ZoomOut" type="mb:ButtonType"/>
335
    </xs:choice>
336
  </xs:complexType>
337
  <xs:complexType name="toolsType">
338
    <xs:choice maxOccurs="unbounded">
339
      <xs:element name="Caps2Context" type="mb:Caps2ContextType"/>
340
      <xs:element name="EditContext" type="mb:EditContextType"/>
341
      <xs:element name="EditSLD" type="mb:EditSLDType"/>
342
      <xs:element name="FeatureSelectHandler" type="mb:FeatureSelectHandlerType"/>
343
      <xs:element name="History" type="mb:HistoryType"/>
344
      <xs:element name="MergeModels" type="mb:MergeModelsType"/>
345
      <xs:element name="MovieLoop" type="mb:MovieLoopType"/>
346
      <xs:element name="Timer" type="mb:TimerType"/>
347
      <xs:element name="WebServiceRequest" type="mb:WebServiceRequestType"/>
348
      <xs:element name="ZoomToAoi" type="mb:ZoomToAoiType"/>
349
    </xs:choice>
350
  </xs:complexType>
351

  
352
  <!-- global model extension types; Models type represent different types of XML documents. Use Model for a generic XML document where no customization or specialized methods are required-->
353
  <xs:complexType name="ContextType">
354
    <xs:annotation>
355
      <xs:documentation>A Web Map Context document as specified by the Open Geospatial Consortium (http://www.opengeospatial.org/docs/03-036r2.pdf)</xs:documentation>
356
    </xs:annotation>
357
    <xs:complexContent>
358
      <xs:extension base="mb:AbstractModelBaseType"/>
359
    </xs:complexContent>
360
  </xs:complexType>
361
  <xs:complexType name="FeatureCollectionType">
362
    <xs:annotation>
363
      <xs:documentation>A representation of a geographic Feature or Feature Collection in GML as specified by the Open Geospatial Consortium (http://www.opengeospatial.org/docs/02-069.pdf) </xs:documentation>
364
    </xs:annotation>
365
    <xs:complexContent>
366
      <xs:extension base="mb:AbstractModelBaseType">
367
        <xs:sequence>
368
          <xs:element name="featureTagName" type="xs:string" minOccurs="0"/>
369
          <xs:element name="coordsTagName" type="xs:string" minOccurs="0"/>
370
          <xs:element name="coordSelectXpath" type="xs:string" minOccurs="0"/>
371
        </xs:sequence>
372
      </xs:extension>
373
    </xs:complexContent>
374
  </xs:complexType>
375
  <xs:complexType name="GeoRSSType">
376
    <xs:annotation>
377
      <xs:documentation>GeoRSS</xs:documentation>
378
    </xs:annotation>
379
    <xs:complexContent>
380
      <xs:extension base="mb:ModelType"/>
381
    </xs:complexContent>
382
  </xs:complexType>
383
  <xs:complexType name="LoggerType">
384
    <xs:annotation>
385
      <xs:documentation>Records a log of events that occur over the course of mapbuilder execution</xs:documentation>
386
    </xs:annotation>
387
    <xs:complexContent>
388
      <xs:extension base="mb:AbstractModelBaseType"/>
389
    </xs:complexContent>
390
  </xs:complexType>
391
  <xs:complexType name="ModelType">
392
    <xs:annotation>
393
      <xs:documentation>A generic base document type to handle any XML document (without any specialized methods)</xs:documentation>
394
    </xs:annotation>
395
    <xs:complexContent>
396
      <xs:extension base="mb:AbstractModelBaseType"/>
397
    </xs:complexContent>
398
  </xs:complexType>
399
  <xs:complexType name="OwsCatResourcesType">
400
    <xs:annotation>
401
      <xs:documentation>TBD</xs:documentation>
402
    </xs:annotation>
403
    <xs:complexContent>
404
      <xs:extension base="mb:FeatureCollectionType"/>
405
    </xs:complexContent>
406
  </xs:complexType>
407
  <xs:complexType name="StyledLayerDescriptorType">
408
    <xs:annotation>
409
      <xs:documentation>Stores an SLD file as defined by the Open Geospatial Consortium (http://www.opengeospatial.org/)</xs:documentation>
410
    </xs:annotation>
411
    <xs:complexContent>
412
      <xs:extension base="mb:AbstractModelBaseType">
413
        <xs:sequence>
414
          <xs:element name="sldXPath" type="xs:string" minOccurs="0">
415
            <xs:annotation>
416
              <xs:documentation>XPath pointing to the sld root node within the model. This is useful for extracting sld information from eg. wmc context documents</xs:documentation>
417
            </xs:annotation>
418
          </xs:element>
419
        </xs:sequence>
420
      </xs:extension>
421
    </xs:complexContent>
422
  </xs:complexType>
423
  <xs:complexType name="TransactionType">
424
    <xs:annotation>
425
      <xs:documentation>A response from a WFS Transaction operation</xs:documentation>
426
    </xs:annotation>
427
    <xs:complexContent>
428
      <xs:extension base="mb:AbstractModelBaseType"/>
429
    </xs:complexContent>
430
  </xs:complexType>
431
  <xs:complexType name="WfsCapabilitiesType">
432
    <xs:annotation>
433
      <xs:documentation>A document describing the capabilities of an OGC Web Feature Service (WFS) as specified by the Open Geospatial Consortium (https://portal.opengeospatial.org/files/?artifact_id=7176)</xs:documentation>
434
    </xs:annotation>
435
    <xs:complexContent>
436
      <xs:extension base="mb:AbstractModelBaseType"/>
437
    </xs:complexContent>
438
  </xs:complexType>
439
  <xs:complexType name="WmsCapabilitiesType">
440
    <xs:annotation>
441
      <xs:documentation>A document describing the capabilities of an OGC Web Map Service (WMS) as specified by the Open Geospatial Consortium (http://portal.opengeospatial.org/files/?artifact_id=5316)</xs:documentation>
442
    </xs:annotation>
443
    <xs:complexContent>
444
      <xs:extension base="mb:AbstractModelBaseType"/>
445
    </xs:complexContent>
446
  </xs:complexType>
447
  <xs:complexType name="WpsCapabilitiesType">
448
    <xs:annotation>
449
      <xs:documentation/>
450
    </xs:annotation>
451
    <xs:complexContent>
452
      <xs:extension base="mb:AbstractModelBaseType"/>
453
    </xs:complexContent>
454
  </xs:complexType>
455
  <xs:complexType name="WpsDescribeProcessType">
456
    <xs:annotation>
457
      <xs:documentation/>
458
    </xs:annotation>
459
    <xs:complexContent>
460
      <xs:extension base="mb:AbstractModelBaseType"/>
461
    </xs:complexContent>
462
  </xs:complexType>
463

  
464
  <!-- global widget extension types -->
465
  <xs:complexType name="AoiBoxOLType">
466
    <xs:annotation>
467
      <xs:documentation>A widget to display a map container model's AOI box</xs:documentation>
468
    </xs:annotation>
469
    <xs:complexContent>
470
      <xs:extension base="mb:AbstractWidgetBaseType"/>
471
    </xs:complexContent>
472
  </xs:complexType>
473
  <xs:complexType name="AoiFormType">
474
    <xs:annotation>
475
      <xs:documentation>Displays a form with North, South, East, West coordinates to read and set the model AOI</xs:documentation>
476
    </xs:annotation>
477
    <xs:complexContent>
478
      <xs:extension base="mb:AbstractWidgetBaseXSLType">
479
        <xs:sequence>
480
          <xs:element name="title" type="xs:string" minOccurs="0"/>
481
          <xs:element name="formName" type="xs:string" minOccurs="0"/>
482
        </xs:sequence>
483
      </xs:extension>
484
    </xs:complexContent>
485
  </xs:complexType>
486
  <xs:complexType name="ButtonType">
487
    <xs:annotation>
488
      <xs:documentation>A generic instance of a ButtonBase object</xs:documentation>
489
    </xs:annotation>
490
    <xs:complexContent>
491
      <xs:extension base="mb:AbstractButtonBaseType"/>
492
    </xs:complexContent>
493
  </xs:complexType>
494
  <xs:complexType name="SelectFromAtomFeedType">
495
    <xs:annotation>
496
      <xs:documentation>A widget which displays a selectable list of elements from an atom feed. When the element is selected, the referenced atom XML document is loaded into the targetModel. This can be used to render a list of Context documents, then load the selected Context when selected.</xs:documentation>
497
    </xs:annotation>
498
    <xs:complexContent>
499
      <xs:extension base="mb:AbstractWidgetBaseXSLType">
500
        <xs:sequence>
501
          <xs:element name="title" type="xs:string" minOccurs="0"/>
502
        </xs:sequence>
503
      </xs:extension>
504
    </xs:complexContent>
505
  </xs:complexType>
506
  <xs:complexType name="CollectionListType">
507
    <xs:annotation>
508
      <xs:documentation>A widget to display a list of context documents contained in a ContextCollection</xs:documentation>
509
    </xs:annotation>
510
    <xs:complexContent>
511
      <xs:extension base="mb:AbstractWidgetBaseXSLType">
512
        <xs:sequence>
513
          <xs:element name="title" type="xs:string" minOccurs="0"/>
514
        </xs:sequence>
515
      </xs:extension>
516
    </xs:complexContent>
517
  </xs:complexType>
518
  <xs:complexType name="CursorTrackType">
519
    <xs:annotation>
520
      <xs:documentation>A widget to display the mouse coordinates when it is over a MapPane</xs:documentation>
521
    </xs:annotation>
522
    <xs:complexContent>
523
      <xs:extension base="mb:AbstractWidgetBaseXSLType">
524
        <xs:sequence>
525
          <xs:element name="showPx" type="xs:boolean" minOccurs="0"/>
526
          <xs:element name="showXY" type="xs:boolean" minOccurs="0"/>
527
          <xs:element name="showLatLong" type="xs:boolean" minOccurs="0"/>
528
          <xs:element name="showDMS" type="xs:boolean" minOccurs="0"/>
529
          <xs:element name="showDM" type="xs:boolean" minOccurs="0"/>
530
          <xs:element name="showMGRS" type="xs:boolean" minOccurs="0"/>
531
          <xs:element name="precision" type="xs:integer" minOccurs="0"/>
532
        </xs:sequence>
533
      </xs:extension>
534
    </xs:complexContent>
535
  </xs:complexType>
536
  <xs:complexType name="DeleteFeatureType">
537
    <xs:annotation>
538
      <xs:documentation>When this button is selected, a WFS DeleteFeature request is build from the targetModel and posted to the WFS.</xs:documentation>
539
    </xs:annotation>
540
    <xs:complexContent>
541
      <xs:extension base="mb:AbstractButtonBaseType">
542
        <xs:sequence>
543
          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
544
            <xs:annotation>
545
              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
546
            </xs:annotation>
547
          </xs:element>
548
          <xs:element name="webServiceUrl" type="mb:urlPathType" minOccurs="0">
549
            <xs:annotation>
550
              <xs:documentation>The base URL of the Web Service that will be queried.</xs:documentation>
551
            </xs:annotation>
552
          </xs:element>
553
        </xs:sequence>
554
      </xs:extension>
555
    </xs:complexContent>
556
  </xs:complexType>
557
   <xs:complexType name="ExampleList">
558
    <xs:annotation>
559
      <xs:documentation>A very specific widget to render the same example menu on all examples.</xs:documentation>
560
    </xs:annotation>
561
    <xs:complexContent>
562
      <xs:extension base="mb:AbstractWidgetBaseXSLType">
563
      </xs:extension>
564
    </xs:complexContent>
565
  </xs:complexType>
566
  <xs:complexType name="EditButtonBaseType">
567
    <xs:annotation>
568
      <xs:documentation>After this button is selected, clicks on a MapPane will add a GML coord to a Line the targetModel FeatureCollection.</xs:documentation>
569
    </xs:annotation>
570
    <xs:complexContent>
571
      <xs:extension base="mb:AbstractButtonBaseType">
572
        <xs:sequence>
573
          <xs:element name="transactionResponseModel" type="xs:string" minOccurs="0">
574
            <xs:annotation>
575
              <xs:documentation>The model which will be populated with the server response from a transaction request.</xs:documentation>
576
            </xs:annotation>
577
          </xs:element>
578
          <xs:element name="appendOnEdit" type="xs:string">
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff