Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema targetNamespace="http://www.opengis.net/sld"
3
            xmlns:sld="http://www.opengis.net/sld"
4
            xmlns:ogc="http://www.opengis.net/ogc"
5
            xmlns:xlink="http://www.w3.org/1999/xlink"
6
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7
            elementFormDefault="qualified">
8
  <xsd:import namespace="http://www.w3.org/1999/xlink"
9
              schemaLocation="xlinks.xsd"/>
10
  <xsd:import namespace="http://www.opengis.net/ogc"
11
              schemaLocation="filter.xsd"/>
12

    
13
<!-- *********************************************************************** -->
14
  <xsd:annotation>
15
    <xsd:documentation>
16
      STYLED LAYER DESCRIPTOR version 1.0.0 (2002-09-21)
17
    </xsd:documentation>
18
  </xsd:annotation>
19

    
20
  <xsd:element name="StyledLayerDescriptor">
21
    <xsd:annotation>
22
      <xsd:documentation>
23
        A StyledLayerDescriptor is a sequence of styled layers, represented
24
        at the first level by NamedLayer and UserLayer elements.
25
      </xsd:documentation>
26
    </xsd:annotation>
27
    <xsd:complexType>
28
      <xsd:sequence>
29
        <xsd:element ref="sld:Name" minOccurs="0"/>
30
        <xsd:element ref="sld:Title" minOccurs="0"/>
31
        <xsd:element ref="sld:Abstract" minOccurs="0"/>
32
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
33
          <xsd:element ref="sld:NamedLayer"/>
34
          <xsd:element ref="sld:UserLayer"/>
35
        </xsd:choice>
36
      </xsd:sequence>
37
      <xsd:attribute name="version" type="xsd:string" use="required"
38
                     fixed="1.0.0"/>
39
    </xsd:complexType>
40
  </xsd:element>
41
  <xsd:element name="Name" type="xsd:string"/>
42
  <xsd:element name="Title" type="xsd:string"/>
43
  <xsd:element name="Abstract" type="xsd:string"/>
44

    
45
<!-- *********************************************************************** -->
46
  <xsd:annotation>
47
    <xsd:documentation>
48
      LAYERS AND STYLES
49
    </xsd:documentation>
50
  </xsd:annotation>
51

    
52
  <xsd:element name="NamedLayer">
53
    <xsd:annotation>
54
      <xsd:documentation>
55
        A NamedLayer is a layer of data that has a name advertised by a WMS.
56
      </xsd:documentation>
57
    </xsd:annotation>
58
    <xsd:complexType>
59
      <xsd:sequence>
60
        <xsd:element ref="sld:Name"/>
61
        <xsd:element ref="sld:LayerFeatureConstraints" minOccurs="0"/>
62
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
63
          <xsd:element ref="sld:NamedStyle"/>
64
          <xsd:element ref="sld:UserStyle"/>
65
        </xsd:choice>
66
      </xsd:sequence>
67
    </xsd:complexType>
68
  </xsd:element>
69

    
70
  <xsd:element name="NamedStyle">
71
    <xsd:annotation>
72
      <xsd:documentation>
73
        A NamedStyle is used to refer to a style that has a name in a WMS.
74
      </xsd:documentation>
75
    </xsd:annotation>
76
    <xsd:complexType>
77
      <xsd:sequence>
78
        <xsd:element ref="sld:Name"/>
79
      </xsd:sequence>
80
    </xsd:complexType>
81
  </xsd:element>
82

    
83
  <xsd:element name="UserLayer">
84
    <xsd:annotation>
85
      <xsd:documentation>
86
        A UserLayer allows a user-defined layer to be built from WFS and
87
        WCS data.
88
      </xsd:documentation>
89
    </xsd:annotation>
90
    <xsd:complexType>
91
      <xsd:sequence>
92
        <xsd:element ref="sld:Name" minOccurs="0"/>
93
        
94
        <xsd:choice minOccurs="0">
95
	        <xsd:element ref="sld:InlineFeature"/>
96
	        <xsd:element ref="sld:RemoteOWS" minOccurs="0"/>
97
	</xsd:choice>
98
	
99
        <xsd:element ref="sld:LayerFeatureConstraints"/>
100
        <xsd:element ref="sld:UserStyle" maxOccurs="unbounded"/>
101
      </xsd:sequence>
102
    </xsd:complexType>
103
  </xsd:element>
104
  
105
  <xsd:element name="InlineFeature">
106
    <xsd:complexType>
107
      <xsd:sequence> 
108
        <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>     
109
      </xsd:sequence>
110
    </xsd:complexType>
111
  </xsd:element>
112

    
113

    
114
  <xsd:element name="RemoteOWS">
115
    <xsd:annotation>
116
      <xsd:documentation>
117
        A RemoteOWS gives a reference to a remote WFS/WCS/other-OWS server. 
118
      </xsd:documentation>
119
    </xsd:annotation>
120
    <xsd:complexType>
121
      <xsd:sequence>
122
        <xsd:element ref="sld:Service"/>
123
        <xsd:element ref="sld:OnlineResource"/>
124
      </xsd:sequence>
125
    </xsd:complexType>
126
  </xsd:element>
127

    
128
  <xsd:element name="Service">
129
    <xsd:annotation>
130
      <xsd:documentation>
131
        A Service refers to the type of a remote OWS server.
132
      </xsd:documentation>
133
    </xsd:annotation>
134
    <xsd:simpleType>
135
      <xsd:restriction base="xsd:string">
136
        <xsd:enumeration value="WFS"/>
137
        <xsd:enumeration value="WCS"/>
138
      </xsd:restriction>
139
    </xsd:simpleType>
140
  </xsd:element>
141

    
142
  <xsd:element name="OnlineResource">
143
    <xsd:annotation>
144
      <xsd:documentation>
145
        An OnlineResource is typically used to refer to an HTTP URL.
146
      </xsd:documentation>
147
    </xsd:annotation>
148
    <xsd:complexType>
149
      <xsd:attributeGroup ref="xlink:simpleLink"/>
150
    </xsd:complexType>
151
  </xsd:element>
152

    
153
  <xsd:element name="LayerFeatureConstraints">
154
    <xsd:annotation>
155
      <xsd:documentation>
156
        LayerFeatureConstraints define what features &amp; feature types are
157
        referenced in a layer.
158
      </xsd:documentation>
159
    </xsd:annotation>
160
    <xsd:complexType>
161
      <xsd:sequence>
162
        <xsd:element ref="sld:FeatureTypeConstraint" maxOccurs="unbounded"/>
163
      </xsd:sequence>
164
    </xsd:complexType>
165
  </xsd:element>
166

    
167
  <xsd:element name="FeatureTypeConstraint">
168
    <xsd:annotation>
169
      <xsd:documentation>
170
        A FeatureTypeConstraint identifies a specific feature type and
171
        supplies fitlering.
172
      </xsd:documentation>
173
    </xsd:annotation>
174
    <xsd:complexType>
175
      <xsd:sequence>
176
        <xsd:element ref="sld:FeatureTypeName" minOccurs="0"/>
177
        <xsd:element ref="ogc:Filter" minOccurs="0"/>
178
        <xsd:element ref="sld:Extent" minOccurs="0" maxOccurs="unbounded"/>
179
      </xsd:sequence>
180
    </xsd:complexType>
181
  </xsd:element>
182
  <xsd:element name="FeatureTypeName" type="xsd:string"/>
183

    
184
  <xsd:element name="Extent">
185
    <xsd:annotation>
186
      <xsd:documentation>
187
        An Extent gives feature/coverage/raster/matrix dimension extent. 
188
      </xsd:documentation>
189
    </xsd:annotation>
190
    <xsd:complexType>
191
      <xsd:sequence>
192
        <xsd:element ref="sld:Name"/>
193
        <xsd:element ref="sld:Value"/>
194
      </xsd:sequence>
195
    </xsd:complexType>
196
  </xsd:element>
197
  <xsd:element name="Value" type="xsd:string"/>
198

    
199
  <xsd:element name="UserStyle">
200
    <xsd:annotation>
201
      <xsd:documentation>
202
        A UserStyle allows user-defined styling and is semantically
203
        equivalent to a WMS named style.
204
      </xsd:documentation>
205
    </xsd:annotation>
206
    <xsd:complexType>
207
      <xsd:sequence>
208
        <xsd:element ref="sld:Name" minOccurs="0"/>
209
        <xsd:element ref="sld:Title" minOccurs="0"/>
210
        <xsd:element ref="sld:Abstract" minOccurs="0"/>
211
        <xsd:element ref="sld:IsDefault" minOccurs="0"/>
212
        <xsd:element ref="sld:FeatureTypeStyle" maxOccurs="unbounded"/>
213
      </xsd:sequence>
214
    </xsd:complexType>
215
  </xsd:element>
216
  <xsd:element name="IsDefault" type="xsd:string"/>
217

    
218
<!-- *********************************************************************** -->
219
  <xsd:annotation>
220
    <xsd:documentation>
221
      FEATURE-TYPE STYLING
222
    </xsd:documentation>
223
  </xsd:annotation>
224

    
225
  <xsd:element name="FeatureTypeStyle">
226
  <xsd:annotation>
227
    <xsd:documentation>
228
      A FeatureTypeStyle contains styling information specific to one
229
      feature type.  This is the SLD level that separates the 'layer'
230
      handling from the 'feature' handling.
231
    </xsd:documentation>
232
    </xsd:annotation>
233
    <xsd:complexType>
234
      <xsd:sequence>
235
        <xsd:element ref="sld:Name" minOccurs="0"/>
236
        <xsd:element ref="sld:Title" minOccurs="0"/>
237
        <xsd:element ref="sld:Abstract" minOccurs="0"/>
238
        <xsd:element ref="sld:FeatureTypeName" minOccurs="0"/>
239
        <xsd:element ref="sld:SemanticTypeIdentifier" minOccurs="0"
240
                    maxOccurs="unbounded"/>
241
        <xsd:element ref="sld:Rule" maxOccurs="unbounded"/>
242
      </xsd:sequence>
243
    </xsd:complexType>
244
  </xsd:element>
245
  <xsd:element name="SemanticTypeIdentifier" type="xsd:string"/>
246

    
247
  <xsd:element name="Rule">
248
    <xsd:annotation>
249
      <xsd:documentation>
250
        A Rule is used to attach property/scale conditions to and group
251
        the individual symbolizers used for rendering.
252
      </xsd:documentation>
253
    </xsd:annotation>
254
    <xsd:complexType>
255
      <xsd:sequence>
256
        <xsd:element ref="sld:Name" minOccurs="0"/>
257
        <xsd:element ref="sld:Title" minOccurs="0"/>
258
        <xsd:element ref="sld:Abstract" minOccurs="0"/>
259
        <xsd:element ref="sld:LegendGraphic" minOccurs="0"/>
260
        <xsd:choice minOccurs="0">
261
          <xsd:element ref="ogc:Filter"/>
262
          <xsd:element ref="sld:ElseFilter"/>
263
        </xsd:choice>
264
        <xsd:element ref="sld:MinScaleDenominator" minOccurs="0"/>
265
        <xsd:element ref="sld:MaxScaleDenominator" minOccurs="0"/>
266
        <xsd:element ref="sld:Symbolizer" maxOccurs="unbounded"/>
267
      </xsd:sequence>
268
    </xsd:complexType>
269
  </xsd:element>
270
  <xsd:element name="LegendGraphic">
271
    <xsd:complexType>
272
      <xsd:sequence>
273
        <xsd:element ref="sld:Graphic"/>
274
      </xsd:sequence>
275
    </xsd:complexType>
276
  </xsd:element>
277
  <xsd:element name="ElseFilter">
278
    <xsd:complexType/>
279
  </xsd:element>
280
  <xsd:element name="MinScaleDenominator" type="xsd:double"/>
281
  <xsd:element name="MaxScaleDenominator" type="xsd:double"/>
282

    
283
<!-- *********************************************************************** -->
284
  <xsd:annotation>
285
    <xsd:documentation>
286
      SYMBOLIZERS
287
    </xsd:documentation>
288
  </xsd:annotation>
289

    
290
  <xsd:element name="Symbolizer" type="sld:SymbolizerType" abstract="true"/>
291

    
292
  <xsd:complexType name="SymbolizerType" abstract="true">
293
    <xsd:annotation>
294
      <xsd:documentation>
295
        A "SymbolizerType" is an abstract type for encoding the graphical
296
        properties used to portray geographic information.  Concrete symbol
297
        types are derived from this base type.
298
      </xsd:documentation>
299
    </xsd:annotation>
300
  </xsd:complexType>
301

    
302
<!-- *********************************************************************** -->
303
  <xsd:annotation>
304
    <xsd:documentation>
305
      LINE SYMBOLIZER
306
    </xsd:documentation>
307
  </xsd:annotation>
308

    
309
  <xsd:element name="LineSymbolizer" substitutionGroup="sld:Symbolizer">
310
    <xsd:annotation>
311
      <xsd:documentation>
312
        A LineSymbolizer is used to render a "stroke" along a linear geometry.
313
      </xsd:documentation>
314
    </xsd:annotation>
315
    <xsd:complexType>
316
      <xsd:complexContent>
317
        <xsd:extension base="sld:SymbolizerType">
318
          <xsd:sequence>
319
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
320
            <xsd:element ref="sld:Stroke" minOccurs="0"/>
321
          </xsd:sequence>
322
        </xsd:extension>
323
      </xsd:complexContent>
324
    </xsd:complexType>
325
  </xsd:element>
326

    
327
  <xsd:element name="Geometry">
328
    <xsd:annotation>
329
      <xsd:documentation>
330
        A Geometry gives reference to a (the) geometry property of a
331
        feature to be used for rendering.
332
      </xsd:documentation>
333
    </xsd:annotation>
334
    <xsd:complexType>
335
      <xsd:sequence>
336
        <xsd:element ref="ogc:PropertyName"/>
337
      </xsd:sequence>
338
    </xsd:complexType>
339
  </xsd:element>
340

    
341
  <xsd:element name="Stroke">
342
    <xsd:annotation>
343
      <xsd:documentation>
344
        A "Stroke" specifies the appearance of a linear geometry.  It is
345
        defined in parallel with SVG strokes.  The following CssParameters
346
        may be used: "stroke" (color), "stroke-opacity", "stroke-width",
347
        "stroke-linejoin", "stroke-linecap", "stroke-dasharray", and
348
        "stroke-dashoffset".
349
      </xsd:documentation>
350
    </xsd:annotation>
351
    <xsd:complexType>
352
      <xsd:sequence>
353
        <xsd:choice minOccurs="0">
354
          <xsd:element ref="sld:GraphicFill"/>
355
          <xsd:element ref="sld:GraphicStroke"/>
356
        </xsd:choice>
357
        <xsd:element ref="sld:CssParameter" minOccurs="0"
358
                     maxOccurs="unbounded"/>
359
      </xsd:sequence>
360
    </xsd:complexType>
361
  </xsd:element>
362

    
363
  <xsd:element name="CssParameter">
364
    <xsd:annotation>
365
      <xsd:documentation>
366
        A "CssParameter" refers to an SVG/CSS graphical-formatting
367
        parameter.  The parameter is identified using the "name" attribute
368
        and the content of the element gives the SVG/CSS-coded value.
369
      </xsd:documentation>
370
    </xsd:annotation>
371
    <xsd:complexType mixed="true">
372
      <xsd:complexContent>
373
        <xsd:extension base="sld:ParameterValueType">
374
          <xsd:attribute name="name" type="xsd:string" use="required"/>
375
        </xsd:extension>
376
      </xsd:complexContent>
377
    </xsd:complexType>
378
  </xsd:element>
379

    
380
  <xsd:complexType name="ParameterValueType" mixed="true">
381
    <xsd:annotation>
382
      <xsd:documentation>
383
        The "ParameterValueType" uses WFS-Filter expressions to give
384
        values for SLD graphic parameters.  A "mixed" element-content
385
        model is used with textual substitution for values.
386
      </xsd:documentation>
387
    </xsd:annotation>
388
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
389
      <xsd:element ref="ogc:expression"/>
390
    </xsd:sequence>
391
  </xsd:complexType>
392

    
393
  <xsd:element name="GraphicFill">
394
    <xsd:annotation>
395
      <xsd:documentation>
396
        A "GraphicFill" defines repeated-graphic filling (stippling)
397
        pattern for an area geometry.
398
      </xsd:documentation>
399
    </xsd:annotation>
400
    <xsd:complexType>
401
      <xsd:sequence>
402
        <xsd:element ref="sld:Graphic"/>
403
      </xsd:sequence>
404
    </xsd:complexType>
405
  </xsd:element>
406

    
407
  <xsd:element name="GraphicStroke">
408
    <xsd:annotation>
409
      <xsd:documentation>
410
        A "GraphicStroke" defines a repated-linear graphic pattern to be used
411
        for stroking a line.
412
      </xsd:documentation>
413
    </xsd:annotation>
414
    <xsd:complexType>
415
      <xsd:sequence>
416
        <xsd:element ref="sld:Graphic"/>
417
      </xsd:sequence>
418
    </xsd:complexType>
419
  </xsd:element>
420

    
421
<!-- *********************************************************************** -->
422
  <xsd:annotation>
423
    <xsd:documentation>
424
      POLYGON SYMBOLIZER
425
    </xsd:documentation>
426
  </xsd:annotation>
427

    
428
  <xsd:element name="PolygonSymbolizer" substitutionGroup="sld:Symbolizer">
429
    <xsd:annotation>
430
      <xsd:documentation>
431
        A "PolygonSymbolizer" specifies the rendering of a polygon or
432
        area geometry, including its interior fill and border stroke.
433
      </xsd:documentation>
434
    </xsd:annotation>
435
    <xsd:complexType>
436
      <xsd:complexContent>
437
        <xsd:extension base="sld:SymbolizerType">
438
          <xsd:sequence>
439
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
440
            <xsd:element ref="sld:Fill" minOccurs="0"/>
441
            <xsd:element ref="sld:Stroke" minOccurs="0"/>
442
          </xsd:sequence>
443
        </xsd:extension>
444
      </xsd:complexContent>
445
    </xsd:complexType>
446
  </xsd:element>
447

    
448
  <xsd:element name="Fill">
449
    <xsd:annotation>
450
      <xsd:documentation>
451
        A "Fill" specifies the pattern for filling an area geometry.
452
        The allowed CssParameters are: "fill" (color) and "fill-opacity".
453
      </xsd:documentation>
454
    </xsd:annotation>
455
    <xsd:complexType>
456
      <xsd:sequence>
457
        <xsd:element ref="sld:GraphicFill" minOccurs="0"/>
458
        <xsd:element ref="sld:CssParameter" minOccurs="0"
459
                     maxOccurs="unbounded"/>
460
      </xsd:sequence>
461
    </xsd:complexType>
462
  </xsd:element>
463

    
464
<!-- *********************************************************************** -->
465
  <xsd:annotation>
466
    <xsd:documentation>
467
      POINT SYMBOLIZER
468
    </xsd:documentation>
469
  </xsd:annotation>
470

    
471
  <xsd:element name="PointSymbolizer" substitutionGroup="sld:Symbolizer">
472
    <xsd:annotation>
473
      <xsd:documentation>
474
        A "PointSymbolizer" specifies the rendering of a "graphic symbol"
475
        at a point.
476
      </xsd:documentation>
477
    </xsd:annotation>
478
    <xsd:complexType>
479
      <xsd:complexContent>
480
        <xsd:extension base="sld:SymbolizerType">
481
          <xsd:sequence>
482
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
483
            <xsd:element ref="sld:Graphic" minOccurs="0"/>
484
          </xsd:sequence>
485
        </xsd:extension>
486
      </xsd:complexContent>
487
    </xsd:complexType>
488
  </xsd:element>
489

    
490
  <xsd:element name="Graphic">
491
    <xsd:annotation>
492
      <xsd:documentation>
493
        A "Graphic" specifies or refers to a "graphic symbol" with inherent
494
        shape, size, and coloring.
495
      </xsd:documentation>
496
    </xsd:annotation>
497
    <xsd:complexType>
498
      <xsd:sequence>
499
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
500
          <xsd:element ref="sld:ExternalGraphic"/>
501
          <xsd:element ref="sld:Mark"/>
502
        </xsd:choice>
503
        <xsd:sequence>
504
          <xsd:element ref="sld:Opacity" minOccurs="0"/>
505
          <xsd:element ref="sld:Size" minOccurs="0"/>
506
          <xsd:element ref="sld:Rotation" minOccurs="0"/>
507
        </xsd:sequence>
508
      </xsd:sequence>
509
    </xsd:complexType>
510
  </xsd:element>
511
  <xsd:element name="Opacity" type="sld:ParameterValueType"/>
512
  <xsd:element name="Size" type="sld:ParameterValueType"/>
513
  <xsd:element name="Rotation" type="sld:ParameterValueType"/>
514

    
515
  <xsd:element name="ExternalGraphic">
516
    <xsd:annotation>
517
      <xsd:documentation>
518
        An "ExternalGraphic" gives a reference to an external raster or
519
        vector graphical object.
520
      </xsd:documentation>
521
    </xsd:annotation>
522
    <xsd:complexType>
523
      <xsd:sequence>
524
        <xsd:element ref="sld:OnlineResource"/>
525
        <xsd:element ref="sld:Format"/>
526
      </xsd:sequence>
527
    </xsd:complexType>
528
  </xsd:element>
529
  <xsd:element name="Format" type="xsd:string"/>
530

    
531
  <xsd:element name="Mark">
532
    <xsd:annotation>
533
      <xsd:documentation>
534
        A "Mark" specifies a geometric shape and applies coloring to it.
535
      </xsd:documentation>
536
    </xsd:annotation>
537
    <xsd:complexType>
538
      <xsd:sequence>
539
        <xsd:element ref="sld:WellKnownName" minOccurs="0"/>
540
        <xsd:element ref="sld:Fill" minOccurs="0"/>
541
        <xsd:element ref="sld:Stroke" minOccurs="0"/>
542
      </xsd:sequence>
543
    </xsd:complexType>
544
  </xsd:element>
545
  <xsd:element name="WellKnownName" type="xsd:string"/>
546

    
547
<!-- *********************************************************************** -->
548
  <xsd:annotation>
549
    <xsd:documentation>
550
      TEXT SYMBOLIZER
551
    </xsd:documentation>
552
  </xsd:annotation>
553

    
554
  <xsd:element name="TextSymbolizer" substitutionGroup="sld:Symbolizer">
555
    <xsd:annotation>
556
      <xsd:documentation>
557
        A "TextSymbolizer" is used to render text labels according to
558
        various graphical parameters.
559
      </xsd:documentation>
560
    </xsd:annotation>
561
    <xsd:complexType>
562
      <xsd:complexContent>
563
        <xsd:extension base="sld:SymbolizerType">
564
          <xsd:sequence>
565
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
566
            <xsd:element ref="sld:Label" minOccurs="0"/>
567
            <xsd:element ref="sld:Font" minOccurs="0"/>
568
            <xsd:element ref="sld:LabelPlacement" minOccurs="0"/>
569
            <xsd:element ref="sld:Halo" minOccurs="0"/>
570
            <xsd:element ref="sld:Fill" minOccurs="0"/>
571
            <xsd:element ref="sld:Priority" minOccurs="0"/>
572
        
573
            <xsd:element ref="sld:VendorOption" minOccurs="0" maxOccurs="unbounded" />                 
574

    
575
          </xsd:sequence>
576
        </xsd:extension>
577
      </xsd:complexContent>
578
    </xsd:complexType>
579
  </xsd:element>
580

    
581

    
582
<xsd:element name="VendorOption">
583
  <xsd:complexType mixed="true">
584
      <xsd:simpleContent>
585
          <xsd:extension base="xsd:string">
586
             <xsd:attribute name="name" type="xsd:string" />
587
          </xsd:extension>
588
      </xsd:simpleContent>
589
  </xsd:complexType>
590
</xsd:element>
591

    
592
  
593
  
594
   <xsd:element name="Priority" type="sld:ParameterValueType">
595
   </xsd:element>
596
  
597

    
598
  <xsd:element name="Label" type="sld:ParameterValueType">
599
    <xsd:annotation>
600
      <xsd:documentation>
601
        A "Label" specifies the textual content to be rendered.
602
      </xsd:documentation>
603
    </xsd:annotation>
604
  </xsd:element>
605

    
606
  <xsd:element name="Font">
607
    <xsd:annotation>
608
      <xsd:documentation>
609
        A "Font" element specifies the text font to use.  The allowed
610
        CssParameters are: "font-family", "font-style", "font-weight",
611
        and "font-size".
612
      </xsd:documentation>
613
    </xsd:annotation>
614
    <xsd:complexType>
615
      <xsd:sequence>
616
        <xsd:element ref="sld:CssParameter" minOccurs="0"
617
                     maxOccurs="unbounded"/>
618
      </xsd:sequence>
619
    </xsd:complexType>
620
  </xsd:element>
621

    
622
  <xsd:element name="LabelPlacement">
623
    <xsd:annotation>
624
      <xsd:documentation>
625
        The "LabelPlacement" specifies where and how a text label should
626
        be rendered relative to a geometry.  The present mechanism is
627
        poorly aligned with CSS/SVG.
628
      </xsd:documentation>
629
    </xsd:annotation>
630
    <xsd:complexType>
631
      <xsd:choice>
632
        <xsd:element ref="sld:PointPlacement"/>
633
        <xsd:element ref="sld:LinePlacement"/>
634
      </xsd:choice>
635
    </xsd:complexType>
636
  </xsd:element>
637

    
638
  <xsd:element name="PointPlacement">
639
    <xsd:annotation>
640
      <xsd:documentation>
641
        A "PointPlacement" specifies how a text label should be rendered
642
        relative to a geometric point.
643
      </xsd:documentation>
644
    </xsd:annotation>
645
    <xsd:complexType>
646
      <xsd:sequence>
647
        <xsd:element ref="sld:AnchorPoint" minOccurs="0"/>
648
        <xsd:element ref="sld:Displacement" minOccurs="0"/>
649
        <xsd:element ref="sld:Rotation" minOccurs="0"/>
650
      </xsd:sequence>
651
    </xsd:complexType>
652
  </xsd:element>
653

    
654
  <xsd:element name="AnchorPoint">
655
    <xsd:annotation>
656
      <xsd:documentation>
657
        An "AnchorPoint" identifies the location inside of a text label to
658
        use an an 'anchor' for positioning it relative to a point geometry.
659
      </xsd:documentation>
660
    </xsd:annotation>
661
    <xsd:complexType>
662
      <xsd:sequence>
663
        <xsd:element ref="sld:AnchorPointX"/>
664
        <xsd:element ref="sld:AnchorPointY"/>
665
      </xsd:sequence>
666
    </xsd:complexType>
667
  </xsd:element>
668
  <xsd:element name="AnchorPointX" type="sld:ParameterValueType"/>
669
  <xsd:element name="AnchorPointY" type="sld:ParameterValueType"/>
670

    
671
  <xsd:element name="Displacement">
672
    <xsd:annotation>
673
      <xsd:documentation>
674
        A "Displacement" gives X and Y offset displacements to use for
675
        rendering a text label near a point.
676
      </xsd:documentation>
677
    </xsd:annotation>
678
    <xsd:complexType>
679
      <xsd:sequence>
680
        <xsd:element ref="sld:DisplacementX"/>
681
        <xsd:element ref="sld:DisplacementY"/>
682
      </xsd:sequence>
683
    </xsd:complexType>
684
  </xsd:element>
685
  <xsd:element name="DisplacementX" type="sld:ParameterValueType"/>
686
  <xsd:element name="DisplacementY" type="sld:ParameterValueType"/>
687

    
688
  <xsd:element name="LinePlacement">
689
    <xsd:annotation>
690
      <xsd:documentation>
691
        A "LinePlacement" specifies how a text label should be rendered
692
        relative to a linear geometry.
693
      </xsd:documentation>
694
    </xsd:annotation>
695
    <xsd:complexType>
696
      <xsd:sequence>
697
        <xsd:element ref="sld:PerpendicularOffset" minOccurs="0"/>
698
      </xsd:sequence>
699
    </xsd:complexType>
700
  </xsd:element>
701

    
702
  <xsd:element name="PerpendicularOffset" type="sld:ParameterValueType">
703
    <xsd:annotation>
704
      <xsd:documentation>
705
        A "PerpendicularOffset" gives the perpendicular distance away
706
        from a line to draw a label.
707
      </xsd:documentation>
708
    </xsd:annotation>
709
  </xsd:element>
710

    
711
  <xsd:element name="Halo">
712
    <xsd:annotation>
713
      <xsd:documentation>
714
        A "Halo" fills an extended area outside the glyphs of a rendered
715
        text label to make the label easier to read over a background.
716
      </xsd:documentation>
717
    </xsd:annotation>
718
    <xsd:complexType>
719
      <xsd:sequence>
720
        <xsd:element ref="sld:Radius" minOccurs="0"/>
721
        <xsd:element ref="sld:Fill" minOccurs="0"/>
722
      </xsd:sequence>
723
    </xsd:complexType>
724
  </xsd:element>
725
  <xsd:element name="Radius" type="sld:ParameterValueType"/>
726

    
727
<!-- *********************************************************************** -->
728
  <xsd:annotation>
729
    <xsd:documentation>
730
      RASTER SYMBOLIZER
731
    </xsd:documentation>
732
  </xsd:annotation>
733

    
734
  <xsd:element name="RasterSymbolizer" substitutionGroup="sld:Symbolizer">
735
    <xsd:annotation>
736
      <xsd:documentation>
737
        A "RasterSymbolizer" is used to specify the rendering of raster/
738
        matrix-coverage data (e.g., satellite images, DEMs).
739
      </xsd:documentation>
740
    </xsd:annotation>
741
    <xsd:complexType>
742
      <xsd:complexContent>
743
        <xsd:extension base="sld:SymbolizerType">
744
          <xsd:sequence>
745
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
746
            <xsd:element ref="sld:Opacity" minOccurs="0"/>
747
            <xsd:element ref="sld:ChannelSelection" minOccurs="0"/>
748
            <xsd:element ref="sld:OverlapBehavior" minOccurs="0"/>
749
            <xsd:element ref="sld:ColorMap" minOccurs="0"/>
750
            <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
751
            <xsd:element ref="sld:ShadedRelief" minOccurs="0"/>
752
            <xsd:element ref="sld:ImageOutline" minOccurs="0"/>
753
          </xsd:sequence>
754
        </xsd:extension>
755
      </xsd:complexContent>
756
    </xsd:complexType>
757
  </xsd:element>
758

    
759
  <xsd:element name="ChannelSelection">
760
    <xsd:annotation>
761
      <xsd:documentation>
762
        "ChannelSelection" specifies the false-color channel selection
763
        for a multi-spectral raster source.
764
      </xsd:documentation>
765
    </xsd:annotation>
766
    <xsd:complexType>
767
      <xsd:choice>
768
        <xsd:sequence>
769
          <xsd:element ref="sld:RedChannel"/>
770
          <xsd:element ref="sld:GreenChannel"/>
771
          <xsd:element ref="sld:BlueChannel"/>
772
        </xsd:sequence>
773
        <xsd:element ref="sld:GrayChannel"/>
774
      </xsd:choice>
775
    </xsd:complexType>
776
  </xsd:element>
777
  <xsd:element name="RedChannel" type="sld:SelectedChannelType"/>
778
  <xsd:element name="GreenChannel" type="sld:SelectedChannelType"/>
779
  <xsd:element name="BlueChannel" type="sld:SelectedChannelType"/>
780
  <xsd:element name="GrayChannel" type="sld:SelectedChannelType"/>
781
  <xsd:complexType name="SelectedChannelType">
782
    <xsd:sequence>
783
      <xsd:element ref="sld:SourceChannelName"/>
784
      <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
785
    </xsd:sequence>
786
  </xsd:complexType>
787
  <xsd:element name="SourceChannelName" type="xsd:string"/>
788

    
789
  <xsd:element name="OverlapBehavior">
790
    <xsd:annotation>
791
      <xsd:documentation>
792
        "OverlapBehavior" tells a system how to behave when multiple
793
        raster images in a layer overlap each other, for example with
794
        satellite-image scenes.
795
      </xsd:documentation>
796
    </xsd:annotation>
797
    <xsd:complexType>
798
      <xsd:choice>
799
        <xsd:element ref="sld:LATEST_ON_TOP"/>
800
        <xsd:element ref="sld:EARLIEST_ON_TOP"/>
801
        <xsd:element ref="sld:AVERAGE"/>
802
        <xsd:element ref="sld:RANDOM"/>
803
      </xsd:choice>
804
    </xsd:complexType>
805
  </xsd:element>
806
  <xsd:element name="LATEST_ON_TOP">
807
    <xsd:complexType/>
808
  </xsd:element>
809
  <xsd:element name="EARLIEST_ON_TOP">
810
    <xsd:complexType/>
811
  </xsd:element>
812
  <xsd:element name="AVERAGE">
813
    <xsd:complexType/>
814
  </xsd:element>
815
  <xsd:element name="RANDOM">
816
    <xsd:complexType/>
817
  </xsd:element>
818

    
819
  <xsd:element name="ColorMap">
820
    <xsd:annotation>
821
      <xsd:documentation>
822
        A "ColorMap" defines either the colors of a pallet-type raster
823
        source or the mapping of numeric pixel values to colors.
824
      </xsd:documentation>
825
    </xsd:annotation>
826
    <xsd:complexType>
827
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
828
        <xsd:element ref="sld:ColorMapEntry"/>
829
      </xsd:choice>
830
    </xsd:complexType>
831
  </xsd:element>
832
  <xsd:element name="ColorMapEntry">
833
    <xsd:complexType>
834
      <xsd:attribute name="color" type="xsd:string" use="required"/>
835
      <xsd:attribute name="opacity" type="xsd:double"/>
836
      <xsd:attribute name="quantity" type="xsd:double"/>
837
      <xsd:attribute name="label" type="xsd:string"/>
838
    </xsd:complexType>
839
  </xsd:element>
840

    
841
  <xsd:element name="ContrastEnhancement">
842
    <xsd:annotation>
843
      <xsd:documentation>
844
        "ContrastEnhancement" defines the 'stretching' of contrast for a
845
        channel of a false-color image or for a whole grey/color image.
846
        Contrast enhancement is used to make ground features in images
847
        more visible.
848
      </xsd:documentation>
849
    </xsd:annotation>
850
    <xsd:complexType>
851
      <xsd:sequence>
852
        <xsd:choice minOccurs="0">
853
          <xsd:element ref="sld:Normalize"/>
854
          <xsd:element ref="sld:Histogram"/>
855
        </xsd:choice>
856
        <xsd:element ref="sld:GammaValue" minOccurs="0"/>
857
      </xsd:sequence>
858
    </xsd:complexType>
859
  </xsd:element>
860
  <xsd:element name="Normalize">
861
    <xsd:complexType/>
862
  </xsd:element>
863
  <xsd:element name="Histogram">
864
    <xsd:complexType/>
865
  </xsd:element>
866
  <xsd:element name="GammaValue" type="xsd:double"/>
867

    
868
  <xsd:element name="ShadedRelief">
869
    <xsd:annotation>
870
      <xsd:documentation>
871
        "ShadedRelief" specifies the application of relief shading
872
        (or "hill shading") to a DEM raster to give it somewhat of a
873
        three-dimensional effect and to make elevation changes more
874
        visible.
875
      </xsd:documentation>
876
    </xsd:annotation>
877
    <xsd:complexType>
878
      <xsd:sequence>
879
        <xsd:element ref="sld:BrightnessOnly" minOccurs="0"/>
880
        <xsd:element ref="sld:ReliefFactor" minOccurs="0"/>
881
      </xsd:sequence>
882
    </xsd:complexType>
883
  </xsd:element>
884
  <xsd:element name="BrightnessOnly" type="xsd:boolean"/>
885
  <xsd:element name="ReliefFactor" type="xsd:double"/>
886

    
887
  <xsd:element name="ImageOutline">
888
    <xsd:annotation>
889
      <xsd:documentation>
890
        "ImageOutline" specifies how individual source rasters in
891
        a multi-raster set (such as a set of satellite-image scenes)
892
        should be outlined to make the individual-image locations visible.
893
      </xsd:documentation>
894
    </xsd:annotation>
895
    <xsd:complexType>
896
      <xsd:choice>
897
        <xsd:element ref="sld:LineSymbolizer"/>
898
        <xsd:element ref="sld:PolygonSymbolizer"/>
899
      </xsd:choice>
900
    </xsd:complexType>
901
  </xsd:element>
902

    
903
</xsd:schema>
(2-2/7)