Ticket #2872: mapfile-schema-0.0.6.xsd

File mapfile-schema-0.0.6.xsd, 31.7 KB (added by aboudreault, 15 years ago)
Line 
1<?xml version="1.0" encoding="utf-8"?>
2
3<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.6">
4 <!-- Definition of types -->
5 <xs:simpleType name="rgbColorValueType">
6 <xs:restriction base="xs:integer">
7 <xs:minInclusive value="-1"/>
8 <xs:maxInclusive value="255"/>
9 </xs:restriction>
10 </xs:simpleType>
11 <xs:complexType name="rgbColorType">
12 <xs:attribute name="red" type="rgbColorValueType" use="required"/>
13 <xs:attribute name="green" type="rgbColorValueType" use="required"/>
14 <xs:attribute name="blue" type="rgbColorValueType" use="required"/>
15 </xs:complexType>
16 <xs:simpleType name="rgbColorExtendedValueType">
17 <xs:restriction base="xs:integer">
18 <xs:minInclusive value="-1"/>
19 <xs:maxInclusive value="255"/>
20 </xs:restriction>
21 </xs:simpleType>
22 <xs:complexType name="rgbExtendedColorType">
23 <xs:attribute name="red" type="rgbColorExtendedValueType" use="required"/>
24 <xs:attribute name="green" type="rgbColorExtendedValueType" use="required"/>
25 <xs:attribute name="blue" type="rgbColorExtendedValueType" use="required"/>
26 </xs:complexType>
27 <xs:simpleType name="stateEnum">
28 <xs:restriction base="xs:string">
29 <xs:enumeration value="ON"/>
30 <xs:enumeration value="OFF"/>
31 </xs:restriction>
32 </xs:simpleType>
33 <xs:simpleType name="embedStateEnum">
34 <xs:restriction base="xs:string">
35 <xs:enumeration value="EMBED"/>
36 </xs:restriction>
37 </xs:simpleType>
38 <xs:simpleType name="stateEnumUnion">
39 <xs:union memberTypes="stateEnum embedStateEnum"/>
40 </xs:simpleType>
41 <xs:simpleType name="booleanEnum">
42 <xs:restriction base="xs:string">
43 <xs:enumeration value="TRUE"/>
44 <xs:enumeration value="FALSE"/>
45 </xs:restriction>
46 </xs:simpleType>
47 <xs:simpleType name="positionEnum">
48 <xs:restriction base="xs:string">
49 <xs:enumeration value="UL"/>
50 <xs:enumeration value="UC"/>
51 <xs:enumeration value="UR"/>
52 <xs:enumeration value="LL"/>
53 <xs:enumeration value="LC"/>
54 <xs:enumeration value="LR"/>
55 </xs:restriction>
56 </xs:simpleType>
57 <xs:simpleType name="fullPositionEnum">
58 <xs:restriction base="xs:string">
59 <xs:enumeration value="CL"/>
60 <xs:enumeration value="CC"/>
61 <xs:enumeration value="CR"/>
62 </xs:restriction>
63 </xs:simpleType>
64 <xs:complexType name="sizeType">
65 <xs:attribute name="x" type="xs:positiveInteger"/>
66 <xs:attribute name="y" type="xs:positiveInteger"/>
67 </xs:complexType>
68 <xs:complexType name="pointType">
69 <xs:attribute name="x" type="xs:float"/>
70 <xs:attribute name="y" type="xs:float"/>
71 </xs:complexType>
72 <xs:simpleType name="angleType">
73 <xs:restriction base="xs:double">
74 <xs:minInclusive value="-360"/>
75 <xs:maxInclusive value="360"/>
76 </xs:restriction>
77 </xs:simpleType>
78 <xs:simpleType name="attributeType">
79 <xs:restriction base="xs:string">
80 <xs:pattern value="\[.+\]"/>
81 </xs:restriction>
82 </xs:simpleType>
83 <xs:simpleType name="debugModeEnum">
84 <xs:restriction base="xs:string">
85 <xs:pattern value="[oO][nN]|[oO][fF][fF]|1|2|3|4|5"/>
86 </xs:restriction>
87 </xs:simpleType>
88 <xs:simpleType name="unitType">
89 <xs:restriction base="xs:string">
90 <xs:enumeration value="FEET"/>
91 <xs:enumeration value="INCHES"/>
92 <xs:enumeration value="KILOMETERS"/>
93 <xs:enumeration value="METERS"/>
94 <xs:enumeration value="MILES"/>
95 </xs:restriction>
96 </xs:simpleType>
97 <xs:simpleType name="extendedUnitType">
98 <xs:restriction base="xs:string">
99 <xs:enumeration value="PIXELS"/>
100 <xs:enumeration value="DD"/>
101 </xs:restriction>
102 </xs:simpleType>
103 <xs:simpleType name="unitTypeUnion">
104 <xs:union memberTypes="unitType extendedUnitType"/>
105 </xs:simpleType>
106 <xs:complexType name="itemType">
107 <xs:sequence>
108 <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
109 <xs:complexType>
110 <xs:simpleContent>
111 <xs:extension base="xs:string">
112 <xs:attribute name="name" type="xs:string" use="required"/>
113 </xs:extension>
114 </xs:simpleContent>
115 </xs:complexType>
116 </xs:element>
117 </xs:sequence>
118 </xs:complexType>
119 <xs:simpleType name="alignEnum">
120 <xs:restriction base="xs:string">
121 <xs:enumeration value="LEFT"/>
122 <xs:enumeration value="CENTER"/>
123 <xs:enumeration value="RIGHT"/>
124 </xs:restriction>
125 </xs:simpleType>
126
127 <!-- Definition of Mapfile elements -->
128 <!-- QUERYMAP Definition -->
129 <xs:complexType name="QueryMap">
130 <xs:all>
131 <xs:element name="color" type="rgbColorType" minOccurs="0"/>
132 <xs:element name="size" type="sizeType" minOccurs="0"/>
133 <xs:element name="style" minOccurs="0">
134 <xs:simpleType>
135 <xs:restriction base="xs:string">
136 <xs:enumeration value="NORMAL"/>
137 <xs:enumeration value="HILITE"/>
138 <xs:enumeration value="SELECTED"/>
139 </xs:restriction>
140 </xs:simpleType>
141 </xs:element>
142 </xs:all>
143 <xs:attribute name="status" type="stateEnum"/>
144 </xs:complexType>
145 <!-- WEB Definition -->
146 <xs:complexType name="Web">
147 <xs:sequence>
148 <xs:element name="browseFormat" type="xs:string" minOccurs="0"/>
149 <xs:element name="empty" type="xs:string" minOccurs="0"/>
150 <xs:element name="error" type="xs:string" minOccurs="0"/>
151 <xs:element name="footer" type="xs:string" minOccurs="0"/>
152 <xs:element name="header" type="xs:string" minOccurs="0"/>
153 <xs:element name="imagePath" type="xs:string" minOccurs="0"/>
154 <xs:element name="imageUrl" type="xs:string" minOccurs="0"/>
155 <xs:element name="legendFormat" type="xs:string" minOccurs="0"/>
156 <xs:element name="log" type="xs:string" minOccurs="0"/>
157 <xs:element name="maxScaleDenom" type="xs:double" minOccurs="0"/>
158 <xs:element name="maxTemplate" type="xs:string" minOccurs="0"/>
159 <xs:element name="Metadata" type="itemType" minOccurs="0"/>
160 <xs:element name="minScaleDenom" type="xs:double" minOccurs="0"/>
161 <xs:element name="minTemplate" type="xs:string" minOccurs="0"/>
162 <xs:element name="outputFormat" type="xs:string" minOccurs="0"/>
163 <xs:element name="queryFormat" type="xs:string" minOccurs="0"/>
164 <xs:element name="template" type="xs:string" minOccurs="0"/>
165 <xs:element name="Validation" type="itemType" minOccurs="0"/>
166 </xs:sequence>
167 </xs:complexType>
168 <xs:complexType name="OutputFormat">
169 <xs:sequence>
170 <xs:element name="driver" type="xs:string" minOccurs="0"/>
171 <xs:element name="extension" type="xs:string" minOccurs="0"/>
172 <xs:element name="formatOption" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
173 <xs:element name="imageMode">
174 <xs:simpleType>
175 <xs:restriction base="xs:string">
176 <xs:enumeration value="PC256"/>
177 <xs:enumeration value="RGB"/>
178 <xs:enumeration value="RGBA"/>
179 <xs:enumeration value="BYTE"/>
180 <xs:enumeration value="INT16"/>
181 <xs:enumeration value="FLOAT32"/>
182 </xs:restriction>
183 </xs:simpleType>
184 </xs:element>
185 <xs:element name="mimeType" type="xs:string" minOccurs="0"/>
186 <xs:element name="transparent" type="stateEnum" minOccurs="0"/>
187 </xs:sequence>
188 <xs:attribute name="name" type="xs:string"/>
189 </xs:complexType>
190
191 <!-- LEGEND Definition -->
192 <xs:complexType name="Legend">
193 <xs:all>
194 <xs:element name="imageColor" type="rgbColorType" minOccurs="0"/>
195 <xs:element name="keySize" type="sizeType" minOccurs="0"/>
196 <xs:element name="keySpacing" type="sizeType" minOccurs="0"/>
197 <xs:element name="Label" type="Label" minOccurs="0"/>
198 <xs:element name="outlineColor" type="rgbColorType" minOccurs="0"/>
199 <xs:element name="position" type="positionEnum" minOccurs="0"/>
200 <xs:element name="postLabelCache" type="booleanEnum" minOccurs="0"/>
201 <xs:element name="template" type="xs:string" minOccurs="0"/>
202 </xs:all>
203 <xs:attribute name="status" type="stateEnumUnion"/>
204 </xs:complexType>
205 <!-- SCALEBAR Definition -->
206 <xs:complexType name="ScaleBar">
207 <xs:sequence>
208 <xs:element name="align" type="alignEnum"/>
209 <xs:element name="backgroundColor" type="rgbColorType" minOccurs="0"/>
210 <xs:element name="color" type="rgbColorType" minOccurs="0"/>
211 <xs:element name="imageColor" type="rgbColorType" minOccurs="0"/>
212 <xs:element name="intervals" type="xs:positiveInteger" default="4" minOccurs="0"/>
213 <xs:element name="Label" type="Label" minOccurs="0"/>
214 <xs:element name="outlineColor" type="rgbColorType"/>
215 <xs:element name="position" type="positionEnum" default="LR" minOccurs="0"/>
216 <xs:element name="postLabelCache" type="booleanEnum" default="FALSE" minOccurs="0"/>
217 <xs:element name="size" type="sizeType" minOccurs="0"/>
218 <xs:element name="style" minOccurs="0">
219 <xs:simpleType>
220 <xs:restriction base="xs:integer">
221 <xs:minInclusive value="0"/>
222 <xs:maxInclusive value="1"/>
223 </xs:restriction>
224 </xs:simpleType>
225 </xs:element>
226 <xs:element name="transparent" type="stateEnum" minOccurs="0"/>
227 <xs:element name="units" type="unitType" default="MILES" minOccurs="0"/>
228 </xs:sequence>
229 <xs:attribute name="status" type="stateEnumUnion" default="OFF"/>
230 </xs:complexType>
231 <!-- LABEL Definition -->
232 <xs:complexType name="Label">
233 <xs:sequence>
234 <xs:element name="align" type="alignEnum"/>
235 <xs:element name="angle" minOccurs="0">
236 <xs:simpleType id="labelAngleType">
237 <xs:union memberTypes="angleType attributeType">
238 <xs:simpleType>
239 <xs:restriction base="xs:string">
240 <xs:pattern value="[aA][uU][tT][oO]|[fF][oO][lL][lL][oO][wW]"/>
241 <!-- attribute -->
242 </xs:restriction>
243 </xs:simpleType>
244 </xs:union>
245 </xs:simpleType>
246 </xs:element>
247 <xs:element name="antialias" type="booleanEnum" minOccurs="0"/>
248 <xs:element name="backgroundColor" type="rgbColorType" minOccurs="0"/>
249 <xs:element name="backgroundShadowColor" type="rgbColorType" minOccurs="0"/>
250 <xs:element name="backgroundShadowSize" type="sizeType" minOccurs="0"/>
251 <xs:element name="buffer" type="xs:integer" minOccurs="0"/>
252 <xs:choice minOccurs="0">
253 <xs:element name="color" type="rgbColorType"/>
254 <xs:element name="colorAttribute" type="attributeType"/>
255 </xs:choice>
256 <xs:element name="encoding" minOccurs="0"/>
257 <xs:element name="font" type="xs:string" minOccurs="0"/>
258 <xs:element name="force" type="booleanEnum" default="FALSE" minOccurs="0"/>
259 <xs:element name="maxLength" type="xs:integer" default="0" minOccurs="0"/>
260 <xs:element name="maxSize" type="xs:integer" default="256" minOccurs="0"/>
261 <xs:element name="minDistance" type="xs:integer" minOccurs="0"/>
262 <xs:element name="minFeatureSize" minOccurs="0">
263 <xs:simpleType>
264 <xs:union memberTypes="xs:integer">
265 <xs:simpleType>
266 <xs:restriction base="xs:string">
267 <xs:enumeration value="AUTO"/>
268 </xs:restriction>
269 </xs:simpleType>
270 </xs:union>
271 </xs:simpleType>
272 </xs:element>
273 <xs:element name="minSize" type="xs:integer" default="4" minOccurs="0"/>
274 <xs:element name="offset" type="sizeType" minOccurs="0"/>
275 <xs:choice minOccurs="0">
276 <xs:element name="outlineColor" type="rgbColorType"/>
277 <xs:element name="outlineColorAttribute" type="attributeType"/>
278 </xs:choice>
279 <xs:element name="outlineWidth" type="xs:integer" default="1" minOccurs="0"/>
280 <xs:element name="partials" type="booleanEnum" minOccurs="0"/>
281 <xs:element name="position" minOccurs="0">
282 <xs:simpleType>
283 <xs:union memberTypes="positionEnum fullPositionEnum">
284 <xs:simpleType>
285 <xs:restriction base="xs:string">
286 <xs:enumeration value="AUTO"/>
287 </xs:restriction>
288 </xs:simpleType>
289 </xs:union>
290 </xs:simpleType>
291 </xs:element>
292 <xs:element name="priority" default="1" minOccurs="0">
293 <xs:simpleType>
294 <xs:union memberTypes="attributeType">
295 <xs:simpleType>
296 <xs:restriction base="xs:integer">
297 <xs:minInclusive value="1"/>
298 <xs:maxInclusive value="10"/>
299 </xs:restriction>
300 </xs:simpleType>
301 </xs:union>
302 </xs:simpleType>
303 </xs:element>
304 <xs:element name="repeatDistance" type="xs:integer" minOccurs="0"/>
305 <xs:element name="shadowColor" type="rgbColorType" minOccurs="0"/>
306 <xs:element name="shadowSize" type="sizeType" minOccurs="0"/>
307 <xs:element name="size">
308 <xs:simpleType>
309 <xs:union memberTypes="attributeType xs:positiveInteger">
310 <xs:simpleType>
311 <xs:restriction base="xs:string">
312 <xs:enumeration value="TINY"/>
313 <xs:enumeration value="SMALL"/>
314 <xs:enumeration value="MEDIUM"/>
315 <xs:enumeration value="LARGE"/>
316 <xs:enumeration value="GIANT"/>
317 </xs:restriction>
318 </xs:simpleType>
319 </xs:union>
320 </xs:simpleType>
321 </xs:element>
322 <xs:element name="wrap" type="xs:string" minOccurs="0"/>
323 </xs:sequence>
324 <xs:attribute name="type" use="required">
325 <xs:simpleType>
326 <xs:restriction base="xs:string">
327 <xs:enumeration value="BITMAP"/>
328 <xs:enumeration value="TRUETYPE"/>
329 </xs:restriction>
330 </xs:simpleType>
331 </xs:attribute>
332 </xs:complexType>
333 <!-- STYLE Definition -->
334 <xs:complexType name="Style">
335 <xs:sequence>
336 <xs:element name="angle" default="0" minOccurs="0">
337 <xs:simpleType>
338 <xs:union memberTypes="xs:double attributeType">
339 <xs:simpleType>
340 <xs:restriction base="xs:string">
341 <xs:enumeration value="AUTO"/>
342 </xs:restriction>
343 </xs:simpleType>
344 </xs:union>
345 </xs:simpleType>
346 </xs:element>
347 <xs:element name="antialias" type="booleanEnum"/>
348 <xs:element name="backgroundColor" type="rgbColorType" minOccurs="0"/>
349 <xs:choice minOccurs="0">
350 <xs:element name="color" type="rgbColorType"/>
351 <xs:element name="colorAttribute" type="attributeType"/>
352 </xs:choice>
353 <xs:element name="geomTransform" minOccurs="0">
354 <xs:simpleType>
355 <xs:restriction base="xs:string">
356 <xs:enumeration value="START"/>
357 <xs:enumeration value="END"/>
358 <xs:enumeration value="VERTICES"/>
359 <xs:enumeration value="BBOX"/>
360 </xs:restriction>
361 </xs:simpleType>
362 </xs:element>
363 <xs:element name="maxSize" type="xs:integer" default="50" minOccurs="0"/>
364 <xs:element name="minSize" type="xs:integer" default="0" minOccurs="0"/>
365 <xs:element name="minWidth" type="xs:integer" minOccurs="0"/>
366 <xs:element name="offset" type="sizeType" minOccurs="0"/>
367 <xs:element name="opacity" type="xs:integer" default="0" minOccurs="0"/>
368 <xs:choice minOccurs="0">
369 <xs:element name="outlineColor" type="rgbColorType"/>
370 <xs:element name="outlineColorAttribute" type="attributeType"/>
371 </xs:choice>
372 <xs:element name="size" default="1" minOccurs="0">
373 <xs:simpleType>
374 <xs:union memberTypes="xs:positiveInteger attributeType"/>
375 </xs:simpleType>
376 </xs:element>
377 <xs:element name="symbol" default="1" minOccurs="0">
378 <xs:simpleType>
379 <xs:union memberTypes="xs:positiveInteger xs:string"/>
380 </xs:simpleType>
381 </xs:element>
382 <xs:element name="width" default="1" minOccurs="0">
383 <xs:simpleType>
384 <xs:union memberTypes="xs:positiveInteger attributeType"/>
385 </xs:simpleType>
386 </xs:element>
387 </xs:sequence>
388 </xs:complexType>
389 <!-- CLASS Definition -->
390 <xs:complexType name="Class">
391 <xs:sequence>
392 <xs:element name="backgroundColor" type="rgbColorType" minOccurs="0"/>
393 <xs:element name="color" type="rgbColorType" minOccurs="0"/>
394 <xs:element name="debug" type="stateEnum" minOccurs="0"/>
395 <xs:element name="expression" type="xs:string" minOccurs="0"/>
396 <xs:element name="group" type="xs:string" minOccurs="0"/>
397 <xs:element name="keyImage" type="xs:string" minOccurs="0"/>
398 <xs:element name="Label" type="Label" minOccurs="0"/>
399 <xs:element name="maxScaleDenom" type="xs:double" minOccurs="0"/>
400 <xs:element name="maxSize" type="xs:integer" default="50" minOccurs="0"/>
401 <xs:element name="minScaleDenom" type="xs:double" minOccurs="0"/>
402 <xs:element name="minSize" type="xs:integer" default="0" minOccurs="0"/>
403 <xs:choice>
404 <xs:element name="outlineColor" type="rgbColorType"/>
405 <xs:element name="outlineColorAttribute" type="attributeType"/>
406 </xs:choice>
407 <xs:element name="size" type="xs:positiveInteger" default="1" minOccurs="0"/>
408 <xs:element name="Style" type="Style" minOccurs="0" maxOccurs="unbounded"/>
409 <xs:element name="symbol" default="1" minOccurs="0">
410 <xs:simpleType>
411 <xs:union memberTypes="xs:positiveInteger xs:string"/>
412 </xs:simpleType>
413 </xs:element>
414 <xs:element name="template" type="xs:string" minOccurs="0"/>
415 <xs:element name="text" type="xs:string" minOccurs="0"/>
416 </xs:sequence>
417 <xs:attribute name="name" type="xs:string"/>
418 <xs:attribute name="status" type="stateEnum" default="ON"/>
419 </xs:complexType>
420 <!-- SYMBOL Definition -->
421 <xs:complexType name="Symbol">
422 <xs:sequence>
423 <xs:element name="antialias" type="booleanEnum" minOccurs="0"/>
424 <xs:element name="character" type="xs:string" minOccurs="0"/>
425 <xs:element name="filled" type="booleanEnum" minOccurs="0"/>
426 <xs:element name="font" type="xs:string" minOccurs="0"/>
427 <xs:element name="gap" type="xs:integer" default="0" minOccurs="0"/>
428 <xs:element name="image" type="xs:string" minOccurs="0"/>
429 <xs:element name="lineCap" default="BUTT" minOccurs="0">
430 <xs:simpleType>
431 <xs:restriction base="xs:string">
432 <xs:enumeration value="BUTT"/>
433 <xs:enumeration value="ROUND"/>
434 <xs:enumeration value="SQUARE"/>
435 <xs:enumeration value="TRIANGLE"/>
436 </xs:restriction>
437 </xs:simpleType>
438 </xs:element>
439 <xs:element name="lineJoin" minOccurs="0">
440 <xs:simpleType>
441 <xs:restriction base="xs:string">
442 <xs:enumeration value="ROUND"/>
443 <xs:enumeration value="MITER"/>
444 <xs:enumeration value="BEVEL"/>
445 </xs:restriction>
446 </xs:simpleType>
447 </xs:element>
448 <xs:element name="lineJoinMaxSize" type="xs:integer" default="3" minOccurs="0"/>
449 <xs:element name="pattern" minOccurs="0">
450 <xs:simpleType>
451 <xs:list itemType="xs:integer"/>
452 </xs:simpleType>
453 </xs:element>
454 <xs:element name="Points" minOccurs="0">
455 <xs:complexType>
456 <xs:sequence>
457 <xs:element name="point" type="pointType" minOccurs="0" maxOccurs="unbounded"/>
458 </xs:sequence>
459 </xs:complexType>
460 </xs:element>
461 <xs:element name="transparent" type="xs:positiveInteger" minOccurs="0"/>
462 </xs:sequence>
463 <xs:attribute name="name" type="xs:string"/>
464 <xs:attribute name="type" use="required">
465 <xs:simpleType>
466 <xs:restriction base="xs:string">
467 <xs:enumeration value="VECTOR"/>
468 <xs:enumeration value="ELLIPSE"/>
469 <xs:enumeration value="PIXMAP"/>
470 <xs:enumeration value="TRUETYPE"/>
471 <xs:enumeration value="CARTOLINE"/>
472 <xs:enumeration value="HATCH"/>
473 <xs:enumeration value="SIMPLE"/>
474 </xs:restriction>
475 </xs:simpleType>
476 </xs:attribute>
477 </xs:complexType>
478 <!-- FEATURE Definition -->
479 <xs:complexType name="Feature">
480 <xs:all>
481 <xs:element name="Points" minOccurs="0">
482 <xs:complexType>
483 <xs:sequence>
484 <xs:element name="point" type="pointType" minOccurs="0" maxOccurs="unbounded"/>
485 </xs:sequence>
486 </xs:complexType>
487 </xs:element>
488 <xs:element name="items" type="xs:string" minOccurs="0"/>
489 <xs:element name="text" type="xs:string" minOccurs="0"/>
490 <xs:element name="wkt" type="xs:string" minOccurs="0"/>
491 </xs:all>
492 </xs:complexType>
493 <!-- GRID Definition -->
494 <xs:complexType name="Grid">
495 <xs:sequence>
496 <xs:element name="labelFormat" type="xs:string" minOccurs="0"/>
497 <xs:element name="maxArcs" type="xs:double" minOccurs="0"/>
498 <xs:element name="maxInterval" type="xs:double" minOccurs="0"/>
499 <xs:element name="maxSubdivide" type="xs:double" default="256" minOccurs="0"/>
500 <xs:element name="minArcs" type="xs:double" minOccurs="0"/>
501 <xs:element name="minInterval" type="xs:double" minOccurs="0"/>
502 <xs:element name="minSubdivide" type="xs:double" minOccurs="0"/>
503 </xs:sequence>
504 </xs:complexType>
505 <!-- JOIN Definition -->
506 <xs:complexType name="Join">
507 <xs:sequence>
508 <xs:element name="connection" type="xs:string" minOccurs="0"/>
509 <xs:element name="connectionType" minOccurs="0">
510 <xs:simpleType>
511 <xs:restriction base="xs:string">
512 <xs:enumeration value="OGR"/>
513 </xs:restriction>
514 </xs:simpleType>
515 </xs:element>
516 <xs:element name="footer" type="xs:string" minOccurs="0"/>
517 <xs:element name="from" type="xs:string" minOccurs="0"/>
518 <xs:element name="header" type="xs:string" minOccurs="0"/>
519 <xs:element name="table" type="xs:string" minOccurs="0"/>
520 <xs:element name="template" type="xs:string" minOccurs="0"/>
521 <xs:element name="to" type="xs:string"/>
522 </xs:sequence>
523 <xs:attribute name="name" type="xs:string" use="required"/>
524 <xs:attribute name="type" default="ONE-TO-ONE">
525 <xs:simpleType>
526 <xs:restriction base="xs:string">
527 <xs:enumeration value="ONE-TO-ONE"/>
528 <xs:enumeration value="ONE-TO-MANY"/>
529 </xs:restriction>
530 </xs:simpleType>
531 </xs:attribute>
532 </xs:complexType>
533 <!-- REFERENCE Definition -->
534 <xs:complexType name="Reference">
535 <xs:sequence>
536 <xs:element name="color" type="rgbColorType" minOccurs="0"/>
537 <xs:element name="extent" minOccurs="0">
538 <xs:simpleType>
539 <xs:list itemType="xs:double"/>
540 </xs:simpleType>
541 </xs:element>
542 <xs:element name="image" type="xs:string" minOccurs="0"/>
543 <xs:element name="marker" minOccurs="0">
544 <xs:simpleType>
545 <xs:union memberTypes="xs:positiveInteger xs:string"/>
546 </xs:simpleType>
547 </xs:element>
548 <xs:element name="markerSize" type="xs:positiveInteger" minOccurs="0"/>
549 <xs:element name="maxBoxSize" type="xs:positiveInteger" minOccurs="0"/>
550 <xs:element name="minBoxSize" type="xs:positiveInteger" minOccurs="0"/>
551 <xs:element name="outlineColor" type="rgbExtendedColorType" minOccurs="0"/>
552 <xs:element name="size" type="sizeType" minOccurs="0"/>
553 </xs:sequence>
554 <xs:attribute name="status" type="stateEnum" default="OFF"/>
555 </xs:complexType>
556
557 <!-- LAYER Definition -->
558 <xs:complexType name="Layer">
559 <xs:sequence>
560 <xs:element name="Class" type="Class" minOccurs="0" maxOccurs="unbounded"/>
561 <xs:element name="classGroup" type="xs:string" minOccurs="0"/>
562 <xs:element name="classItem" type="xs:string" minOccurs="0"/>
563 <xs:element name="connection" type="xs:string" minOccurs="0"/>
564 <xs:element name="connectionType" minOccurs="0">
565 <xs:simpleType>
566 <xs:restriction base="xs:string">
567 <xs:enumeration value="SDE"/>
568 <xs:enumeration value="OGR"/>
569 <xs:enumeration value="MYGIS"/>
570 <xs:enumeration value="WFS"/>
571 <xs:enumeration value="POSTGIS"/>
572 <xs:enumeration value="ORACLESPATIAL"/>
573 <xs:enumeration value="WMS"/>
574 <xs:enumeration value="PLUGIN"/>
575 </xs:restriction>
576 </xs:simpleType>
577 </xs:element>
578 <xs:element name="data" type="xs:string" minOccurs="0"/>
579 <xs:element name="debug" type="debugModeEnum" default="OFF" minOccurs="0"/>
580 <xs:element name="dump" type="booleanEnum" default="FALSE" minOccurs="0"/>
581 <xs:element name="extent" minOccurs="0">
582 <xs:simpleType>
583 <xs:list itemType="xs:double"/>
584 </xs:simpleType>
585 </xs:element>
586 <xs:element name="Feature" type="Feature" minOccurs="0" maxOccurs="unbounded"/>
587 <xs:element name="filter" type="xs:string" minOccurs="0"/>
588 <xs:element name="filterItem" type="xs:string" minOccurs="0"/>
589 <xs:element name="footer" type="xs:string" minOccurs="0"/>
590 <xs:element name="Grid" type="Grid" minOccurs="0"/>
591 <xs:element name="group" type="xs:string" minOccurs="0"/>
592 <xs:element name="header" type="xs:string" minOccurs="0"/>
593 <xs:element name="Join" type="Join" minOccurs="0"/>
594 <xs:element name="labelCache" type="stateEnum" default="ON" minOccurs="0"/>
595 <xs:element name="labelItem" type="xs:string" minOccurs="0"/>
596 <xs:element name="labelMaxScaleDenom" type="xs:double" minOccurs="0"/>
597 <xs:element name="labelMinScaleDenom" type="xs:double" minOccurs="0"/>
598 <xs:element name="labelRequires" type="xs:string" minOccurs="0"/>
599 <xs:element name="maxFeatures" type="xs:positiveInteger" minOccurs="0"/>
600 <xs:element name="maxGeoWidth" type="xs:double" minOccurs="0"/>
601 <xs:element name="maxScaleDenom" type="xs:double" minOccurs="0"/>
602 <xs:element name="Metadata" type="itemType" minOccurs="0"/>
603 <xs:element name="minGeoWidth" type="xs:double" minOccurs="0"/>
604 <xs:element name="minScaleDenom" type="xs:double" minOccurs="0"/>
605 <xs:element name="offsite" type="rgbColorType" minOccurs="0"/>
606 <xs:element name="opacity" minOccurs="0">
607 <xs:simpleType>
608 <xs:union>
609 <xs:simpleType>
610 <xs:restriction base="xs:string">
611 <xs:enumeration value="ALPHA"/>
612 </xs:restriction>
613 </xs:simpleType>
614 <xs:simpleType>
615 <xs:restriction base="xs:integer">
616 <xs:minInclusive value="0"/>
617 <xs:maxInclusive value="100"/>
618 </xs:restriction>
619 </xs:simpleType>
620 </xs:union>
621 </xs:simpleType>
622 </xs:element>
623 <xs:element name="plugin" type="xs:string" minOccurs="0"/>
624 <xs:element name="postLabelCache" type="booleanEnum" default="FALSE" minOccurs="0"/>
625 <xs:element name="processing" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
626 <xs:element name="projection" minOccurs="0">
627 <xs:simpleType>
628 <xs:list itemType="xs:string"/>
629 </xs:simpleType>
630 </xs:element>
631 <xs:element name="requires" type="xs:string" minOccurs="0"/>
632 <xs:element name="sizeUnits" default="PIXELS" minOccurs="0">
633 <xs:simpleType>
634 <xs:union memberTypes="unitType">
635 <xs:simpleType>
636 <xs:restriction base="xs:string">
637 <xs:enumeration value="PIXELS"/>
638 </xs:restriction>
639 </xs:simpleType>
640 </xs:union>
641 </xs:simpleType>
642 </xs:element>
643 <xs:element name="styleItem" type="xs:string" minOccurs="0"/>
644 <xs:element name="symbolScaleDenom" type="xs:double" minOccurs="0"/>
645 <xs:element name="template" type="xs:string" minOccurs="0"/>
646 <xs:element name="tileIndex" type="xs:string" minOccurs="0"/>
647 <xs:element name="tileItem" type="xs:string" default="LOCATION" minOccurs="0"/>
648 <xs:element name="tolerance" type="xs:double" minOccurs="0"/>
649 <xs:element name="toleranceUnits" type="unitTypeUnion" default="PIXELS" minOccurs="0"/>
650 <xs:element name="transform" default="TRUE" minOccurs="0">
651 <xs:simpleType>
652 <xs:union memberTypes="booleanEnum fullPositionEnum"/>
653 </xs:simpleType>
654 </xs:element>
655 <xs:element name="units" minOccurs="0">
656 <xs:simpleType>
657 <xs:union memberTypes="unitType extendedUnitType">
658 <xs:simpleType>
659 <xs:restriction base="xs:string">
660 <xs:enumeration value="PERCENTAGES"/>
661 </xs:restriction>
662 </xs:simpleType>
663 </xs:union>
664 </xs:simpleType>
665 </xs:element>
666 <xs:element name="Validation" type="itemType" minOccurs="0"/>
667 </xs:sequence>
668 <xs:attribute name="name" type="xs:string" use="required"/>
669 <xs:attribute name="type" use="required">
670 <xs:simpleType>
671 <xs:restriction base="xs:string">
672 <xs:enumeration value="POINT"/>
673 <xs:enumeration value="LINE"/>
674 <xs:enumeration value="POLYGON"/>
675 <xs:enumeration value="CIRCLE"/>
676 <xs:enumeration value="ANNOTATION"/>
677 <xs:enumeration value="RASTER"/>
678 <xs:enumeration value="QUERY"/>
679 <xs:enumeration value="CHART"/>
680 </xs:restriction>
681 </xs:simpleType>
682 </xs:attribute>
683 <xs:attribute name="status" default="ON">
684 <xs:simpleType>
685 <xs:union memberTypes="stateEnum">
686 <xs:simpleType>
687 <xs:restriction base="xs:string">
688 <xs:enumeration value="DEFAULT"/>
689 </xs:restriction>
690 </xs:simpleType>
691 </xs:union>
692 </xs:simpleType>
693 </xs:attribute>
694 </xs:complexType>
695
696 <!-- LAYERSET Definition -->
697 <xs:element name="LayerSet">
698 <xs:complexType>
699 <xs:sequence>
700 <xs:element name="Layer" type="Layer" minOccurs="0" maxOccurs="unbounded"/>
701 </xs:sequence>
702 </xs:complexType>
703 </xs:element>
704 <!-- SYMBOLSET Definition -->
705 <xs:element name="SymbolSet">
706 <xs:complexType>
707 <xs:sequence>
708 <xs:element name="Symbol" type="Symbol" minOccurs="0" maxOccurs="unbounded"/>
709 </xs:sequence>
710 </xs:complexType>
711 </xs:element>
712
713 <!-- MAP Definition -->
714 <xs:element name="Map">
715 <xs:complexType>
716 <xs:sequence>
717 <xs:element name="angle" type="xs:double" default="0" minOccurs="0"/>
718 <xs:element name="Config" type="itemType" minOccurs="0"/>
719 <xs:element name="dataPattern" type="xs:string" minOccurs="0"/>
720 <xs:element name="debug" type="debugModeEnum" default="OFF" minOccurs="0"/>
721 <xs:element name="defResolution" type="xs:positiveInteger" default="72" minOccurs="0"/>
722 <xs:element name="extent" minOccurs="0">
723 <xs:simpleType>
724 <xs:list itemType="xs:double"/>
725 </xs:simpleType>
726 </xs:element>
727 <xs:element name="fontSet" type="xs:string" minOccurs="0"/>
728 <xs:element name="imageColor" type="rgbColorType" minOccurs="0"/>
729 <xs:element name="imageType" type="xs:string" minOccurs="0"/>
730 <xs:element name="include" type="xs:string" minOccurs="0"/>
731 <xs:element name="Layer" type="Layer" minOccurs="0" maxOccurs="unbounded"/>
732 <xs:element name="Legend" type="Legend" minOccurs="0"/>
733 <xs:element name="maxSize" type="xs:positiveInteger" minOccurs="0"/>
734 <xs:element name="OutputFormat" type="OutputFormat" maxOccurs="unbounded"/>
735 <xs:element name="projection" minOccurs="0">
736 <xs:simpleType>
737 <xs:list itemType="xs:string"/>
738 </xs:simpleType>
739 </xs:element>
740 <xs:element name="QueryMap" type="QueryMap" minOccurs="0"/>
741 <xs:element name="Reference" type="Reference" minOccurs="0"/>
742 <xs:element name="resolution" type="xs:positiveInteger" default="72" minOccurs="0"/>
743 <xs:element name="scaleDenom" type="xs:double" minOccurs="0"/>
744 <xs:element name="ScaleBar" type="ScaleBar"/>
745 <xs:element name="shapePath" type="xs:string" minOccurs="0"/>
746 <xs:element name="size" type="sizeType" minOccurs="0"/>
747 <xs:element name="symbolSet" type="xs:string" minOccurs="0"/>
748 <xs:element name="Symbol" type="Symbol" minOccurs="0" maxOccurs="unbounded"/>
749 <xs:element name="templatePattern" type="xs:string" minOccurs="0"/>
750 <xs:element name="units" default="METERS" minOccurs="0">
751 <xs:simpleType>
752 <xs:union memberTypes="unitType">
753 <xs:simpleType>
754 <xs:restriction base="xs:string">
755 <xs:enumeration value="DD"/>
756 </xs:restriction>
757 </xs:simpleType>
758 </xs:union>
759 </xs:simpleType>
760 </xs:element>
761 <xs:element name="Web" type="Web" minOccurs="0" maxOccurs="unbounded"/>
762 </xs:sequence>
763 <xs:attribute name="name" type="xs:string" use="required"/>
764 <xs:attribute name="status" type="stateEnum" default="ON"/>
765 </xs:complexType>
766 </xs:element>
767
768</xs:schema>
769
770
771
772