Schema Name: sld.xsd
Target Namespace: http://niem.gov/niem/external/ogc-sld/1.0.20/dhs-gmo/1.0.0
Documentation:
STYLED LAYER DESCRIPTOR version 1.0.20 (2002-09-21) This schema document follows NIEM practice of a single schema document per namespace. It contains the definitions from the OGC schema documents common.xsd, Symbol.xsd, FeatureStyle.xsd, and StyledLayerDescriptor.xsd. See: http://schemas.opengeospatial.net/sld/1.0.20/. It is an adaptation of the original in that it imports version 1.1 instead of version 1.0 of the filter schema. So the most minor version should be incremented to 21 for change proposal to OGC. 2006-09-28 Changed namespaces and schema locations ns old http://niem.gov/niem/external/xlink/1.0.0/dhs-gmo/1.0.0 ns new http://niem.gov/niem/external/w3c-xlink/1.0/dhs-gmo/1.0.0 from ../../../../xlink/1.0.0/dhs-gmo/1.0.0/xlinks.xsd to ../../../../w3c-xlink/1.0/dhs-gmo/1.0.0/xlinks.xsd 2006-09-21 Changes 1. Change namespaces following NIEM conventions a) targetNamespace http://niem.gov/niem/external/ogc-sld/1.0.20/dhs-gmo/1.0.0 b) ogc namespace http://niem.gov/niem/external/ogc-filter/1.1.0/dhs-gmo/1.1.0 c) xlink namespace http://niem.gov/niem/external/xlink/1.0.0/dhs-gmo/1.0.0 2006-09-04 Changes 1. Change namespaces following conventions proposed in OGC 05-065r3 to include version and profile information, except that complete version is used instead of BNF "principle version". a) targetNamespace was http://www.opengis.net/sld; changed to http://www.opengis.net/sld/1.0.20/DHS-GMO/1.0.0 b) ogc namespace was http://www.opengis.net/ogc; changed to http://www.opengis.net/ogc/1.1.0/DHS-GMO/1.0.0 c) xlink namespace was http://www.w3.org/1999/xlink; changed to http://www.w3.org/1999/xlink/1.0.0/OGC-DHS-GMO/1.0.0 2. Include complete OGC copyright notice from http://www.opengeospatial.org/ogc/software Copyright Notices: Copyright © 2005 Open Geospatial Consortium, Inc. All Rights Reserved. This OGC work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: Permission to use, copy, and modify this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make: 1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext is preferred, but a textual representation is permitted.) 3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.) THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
SLD SYMBOL version 1.0.20 (2002-09-21)
LINE SYMBOL
POLYGON SYMBOL
POINT SYMBOL
TEXT SYMBOL
RASTER SYMBOL
MAPPED-COLOR SYMBOL (Choropleth)
SLD FEATURE STYLE version 1.0.20 (2002-09-21)
RUN-TIME ENVIRONMENT VARIABLES
SLD LIBRARIES
LAYERS AND STYLES
Collapse XSD Schema Code:

<xsd:schema 
			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			targetNamespace="http://niem.gov/niem/external/ogc-sld/1.0.20/dhs-gmo/1.0.0"
            xmlns:sld="http://niem.gov/niem/external/ogc-sld/1.0.20/dhs-gmo/1.0.0"
            xmlns:ogc="http://niem.gov/niem/external/ogc-filter/1.1.0/dhs-gmo/1.0.0"
			xmlns:xlink="http://niem.gov/niem/external/w3c-xlink/1.0/dhs-gmo/1.0.0"
            elementFormDefault="qualified"
              version="1.0.21">

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      STYLED LAYER DESCRIPTOR version 1.0.20 (2002-09-21)
      
  	This schema document follows NIEM practice of a single schema document per namespace.  It contains the definitions from the OGC schema documents common.xsd, Symbol.xsd, FeatureStyle.xsd, and StyledLayerDescriptor.xsd.   See: http://schemas.opengeospatial.net/sld/1.0.20/.

	It is an adaptation of the original in that it imports version 1.1 instead of version 1.0 of the filter schema.  So the most minor version should be incremented to 21 for change proposal to OGC.
  
     		2006-09-28 Changed namespaces and schema locations
				ns old	http://niem.gov/niem/external/xlink/1.0.0/dhs-gmo/1.0.0
				ns new	http://niem.gov/niem/external/w3c-xlink/1.0/dhs-gmo/1.0.0		
				from		../../../../xlink/1.0.0/dhs-gmo/1.0.0/xlinks.xsd
				to			../../../../w3c-xlink/1.0/dhs-gmo/1.0.0/xlinks.xsd

			 2006-09-21 Changes
			 
				 1.  Change namespaces following NIEM conventions
					 a) targetNamespace	 http://niem.gov/niem/external/ogc-sld/1.0.20/dhs-gmo/1.0.0
					 b) ogc namespace	 http://niem.gov/niem/external/ogc-filter/1.1.0/dhs-gmo/1.1.0
					 c) xlink namespace	http://niem.gov/niem/external/xlink/1.0.0/dhs-gmo/1.0.0
					 
  			2006-09-04 Changes
			
				1.  Change namespaces following conventions proposed in OGC 05-065r3 to include version and profile information, 
				      except that complete version is used instead of BNF "principle version".  
				      a) targetNamespace was http://www.opengis.net/sld; changed to http://www.opengis.net/sld/1.0.20/DHS-GMO/1.0.0
				      b) ogc namespace was http://www.opengis.net/ogc; changed to http://www.opengis.net/ogc/1.1.0/DHS-GMO/1.0.0
					  c) xlink namespace was http://www.w3.org/1999/xlink; changed to http://www.w3.org/1999/xlink/1.0.0/OGC-DHS-GMO/1.0.0				  
				2.  Include complete OGC copyright notice from http://www.opengeospatial.org/ogc/software
				

		 	Copyright Notices:

		Copyright © 2005 Open Geospatial Consortium, Inc. All Rights Reserved. 
		 	
		 	This OGC work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:

Permission to use, copy, and modify this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:

   1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
   2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext is preferred, but a textual representation is permitted.)
   3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.) 

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.

The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
    
    </xsd:documentation>
  </xsd:annotation>

  <xsd:import namespace="http://niem.gov/niem/external/ogc-filter/1.1.0/dhs-gmo/1.0.0" schemaLocation="../../../../ogc-filter/1.1.0/dhs-gmo/1.0.0/filter.xsd"/>
	<xsd:import namespace="http://niem.gov/niem/external/w3c-xlink/1.0/dhs-gmo/1.0.0" 	
			schemaLocation="../../../../w3c-xlink/1.0/dhs-gmo/1.0.0/xlinks.xsd"/> 
  
<!-- ===== xsd:include schemaLocation="common.xsd"/ ====== -->

<!-- *********************************************************************** -->
  <xsd:simpleType name="VersionType">
    <xsd:annotation>
      <xsd:documentation>
        The "VersionType" merely restricts the version string that may
        be used with XML documents based on this schema.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="1.0.20"/>
    </xsd:restriction>
  </xsd:simpleType>

<!-- *********************************************************************** -->
  <xsd:element name="Name" type="xsd:string"/>

  <xsd:element name="Description">
    <xsd:annotation>
      <xsd:documentation>
        A "Description" gives human-readable descriptive information for
        the object it is included within.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Title" type="xsd:string" minOccurs="0"/>
        <xsd:element name="Abstract" type="xsd:string" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:element name="FeatureTypeName" type="xsd:string"/>

<!-- *********************************************************************** -->
  <xsd:element name="OnlineResource">
    <xsd:annotation>
      <xsd:documentation>
        An "OnlineResource" is typically used to refer to an HTTP URL.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:attributeGroup ref="xlink:simpleLink"/>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:element name="InlineContent">
    <xsd:annotation>
      <xsd:documentation>
        "InlineContent" is XML- or base64-encoded encoded content in some
        externally-defined format that is included in an SLD in-line.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType mixed="true">
      <xsd:sequence>
        <xsd:any minOccurs="0"/>
      </xsd:sequence>
      <xsd:attribute name="encoding" use="required">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="xml"/>
            <xsd:enumeration value="base64"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>

<!-- ========= xsd:include schemaLocation="Symbol.xsd" ============== -->

  <xsd:annotation>
    <xsd:documentation>
      SLD SYMBOL version 1.0.20 (2002-09-21)
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="Symbol" type="sld:SymbolType" abstract="true"/>

  <xsd:complexType name="SymbolType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
        A "SymbolType" is an abstract type for encoding the graphical
        properties used to portray geographic information.  Concrete symbol
        types are derived from this base type.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="sld:Name" minOccurs="0"/>
      <xsd:element ref="sld:Description" minOccurs="0"/>
      <xsd:element ref="sld:BaseSymbol" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="version" type="sld:VersionType"/>
  </xsd:complexType>

  <xsd:element name="BaseSymbol">
    <xsd:annotation>
      <xsd:documentation>
        A "BaseSymbol" defines the default properties of a symbol to
        be those of an external symbol, which will frequently be inside
        of an OGC symbol(izer) repository.  The symbol properties given
        in-line override the base-symbol properties.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:OnlineResource"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      LINE SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="LineSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A LineSymbol is used to render a "stroke" along a linear geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Stroke" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Geometry">
    <xsd:annotation>
      <xsd:documentation>
        A Geometry gives reference to a (the) geometry property of a
        feature to be used for rendering.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="ogc:PropertyName"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Stroke">
    <xsd:annotation>
      <xsd:documentation>
        A "Stroke" specifies the appearance of a linear geometry.  It is
        defined in parallel with SVG strokes.  The following SvgParameters
        may be used: "stroke" (color), "stroke-opacity", "stroke-width",
        "stroke-linejoin", "stroke-linecap", "stroke-dasharray", and
        "stroke-dashoffset".  Others are not officially supported.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0">
          <xsd:element ref="sld:GraphicFill"/>
          <xsd:element ref="sld:GraphicStroke"/>
        </xsd:choice>
        <xsd:element ref="sld:SvgParameter" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="SvgParameter">
    <xsd:annotation>
      <xsd:documentation>
        A "SvgParameter" refers to an SVG/CSS graphical-formatting
        parameter.  The parameter is identified using the "name" attribute
        and the content of the element gives the SVG/CSS-coded value.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType mixed="true">
      <xsd:complexContent>
        <xsd:extension base="sld:ParameterValueType">
          <xsd:attribute name="name" type="xsd:string" use="required"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="ParameterValueType" mixed="true">
    <xsd:annotation>
      <xsd:documentation>
        The "ParameterValueType" uses WFS-Filter expressions to give
        values for SLD graphic parameters.  A "mixed" element-content
        model is used with textual substitution for values.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="ogc:expression"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="GraphicFill">
    <xsd:annotation>
      <xsd:documentation>
        A "GraphicFill" defines repeated-graphic filling (stippling)
        pattern for an area geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Graphic"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="GraphicStroke">
    <xsd:annotation>
      <xsd:documentation>
        A "GraphicStroke" defines a repated-linear graphic pattern to be used
        for stroking a line.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Graphic"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      POLYGON SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="PolygonSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "PolygonSymbol" specifies the rendering of a polygon or
        area geometry, including its interior fill and border stroke.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Fill" minOccurs="0"/>
            <xsd:element ref="sld:Stroke" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Fill">
    <xsd:annotation>
      <xsd:documentation>
        A "Fill" specifies the pattern for filling an area geometry.
        The allowed SvgParameters are: "fill" (color) and "fill-opacity".
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:GraphicFill" minOccurs="0"/>
        <xsd:element ref="sld:SvgParameter" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      POINT SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="PointSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "PointSymbol" specifies the rendering of a "graphic symbol"
        at a point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Graphic" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Graphic">
    <xsd:annotation>
      <xsd:documentation>
        A "Graphic" specifies or refers to a "graphic symbol" with inherent
        shape, size, and coloring.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:element ref="sld:ExternalGraphic"/>
          <xsd:element ref="sld:Mark"/>
        </xsd:choice>
        <xsd:sequence>
          <xsd:element ref="sld:Opacity" minOccurs="0"/>
          <xsd:element ref="sld:Size" minOccurs="0"/>
          <xsd:element ref="sld:Rotation" minOccurs="0"/>
        </xsd:sequence>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Opacity" type="sld:ParameterValueType"/>
  <xsd:element name="Size" type="sld:ParameterValueType"/>
  <xsd:element name="Rotation" type="sld:ParameterValueType"/>

  <xsd:element name="ExternalGraphic">
    <xsd:annotation>
      <xsd:documentation>
        An "ExternalGraphic" gives a reference to an raster or vector
        graphical object, either online or inline, in an externally-defined
        graphic format.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice>
          <xsd:element ref="sld:OnlineResource"/>
          <xsd:element ref="sld:InlineContent"/>
        </xsd:choice>
        <xsd:element ref="sld:Format"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Format" type="xsd:string"/>

  <xsd:element name="Mark">
    <xsd:annotation>
      <xsd:documentation>
        A "Mark" specifies a geometric shape and applies coloring to it.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:WellKnownName" minOccurs="0"/>
        <xsd:element ref="sld:Fill" minOccurs="0"/>
        <xsd:element ref="sld:Stroke" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="WellKnownName" type="xsd:string"/>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      TEXT SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="TextSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "TextSymbol" is used to render text labels according to
        various graphical parameters.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Label" minOccurs="0"/>
            <xsd:element ref="sld:Font" minOccurs="0"/>
            <xsd:element ref="sld:LabelPlacement" minOccurs="0"/>
            <xsd:element ref="sld:Halo" minOccurs="0"/>
            <xsd:element ref="sld:Fill" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Label" type="sld:ParameterValueType">
    <xsd:annotation>
      <xsd:documentation>
        A "Label" specifies the textual content to be rendered.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <xsd:element name="Font">
    <xsd:annotation>
      <xsd:documentation>
        A "Font" element specifies the text font to use.  The allowed
        SvgParameters are: "font-family", "font-style", "font-weight",
        and "font-size".
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:SvgParameter" minOccurs="0"
                     maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="LabelPlacement">
    <xsd:annotation>
      <xsd:documentation>
        The "LabelPlacement" specifies where and how a text label should
        be rendered relative to a geometry.  The present mechanism is
        poorly aligned with CSS/SVG.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="sld:PointPlacement"/>
        <xsd:element ref="sld:LinePlacement"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="PointPlacement">
    <xsd:annotation>
      <xsd:documentation>
        A "PointPlacement" specifies how a text label should be rendered
        relative to a geometric point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:AnchorPoint" minOccurs="0"/>
        <xsd:element ref="sld:Displacement" minOccurs="0"/>
        <xsd:element ref="sld:Rotation" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="AnchorPoint">
    <xsd:annotation>
      <xsd:documentation>
        An "AnchorPoint" identifies the location inside of a text label to
        use an an 'anchor' for positioning it relative to a point geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:AnchorPointX"/>
        <xsd:element ref="sld:AnchorPointY"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="AnchorPointX" type="sld:ParameterValueType"/>
  <xsd:element name="AnchorPointY" type="sld:ParameterValueType"/>

  <xsd:element name="Displacement">
    <xsd:annotation>
      <xsd:documentation>
        A "Displacement" gives X and Y offset displacements to use for
        rendering a text label near a point.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:DisplacementX"/>
        <xsd:element ref="sld:DisplacementY"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="DisplacementX" type="sld:ParameterValueType"/>
  <xsd:element name="DisplacementY" type="sld:ParameterValueType"/>

  <xsd:element name="LinePlacement">
    <xsd:annotation>
      <xsd:documentation>
        A "LinePlacement" specifies how a text label should be rendered
        relative to a linear geometry.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:PerpendicularOffset" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="PerpendicularOffset" type="sld:ParameterValueType">
    <xsd:annotation>
      <xsd:documentation>
        A "PerpendicularOffset" gives the perpendicular distance away
        from a line to draw a label.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <xsd:element name="Halo">
    <xsd:annotation>
      <xsd:documentation>
        A "Halo" fills an extended area outside the glyphs of a rendered
        text label to make the label easier to read over a background.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Radius" minOccurs="0"/>
        <xsd:element ref="sld:Fill" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Radius" type="sld:ParameterValueType"/>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      RASTER SYMBOL
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="RasterSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "RasterSymbol" is used to specify the rendering of
        raster/matrix-coverage data (e.g., satellite images, DEMs).
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:Geometry" minOccurs="0"/>
            <xsd:element ref="sld:Opacity" minOccurs="0"/>
            <xsd:element ref="sld:ChannelSelection" minOccurs="0"/>
            <xsd:element ref="sld:OverlapBehavior" minOccurs="0"/>
            <xsd:element ref="sld:ColorMap" minOccurs="0"/>
            <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
            <xsd:element ref="sld:ShadedRelief" minOccurs="0"/>
            <xsd:element ref="sld:ImageOutline" minOccurs="0"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="ChannelSelection">
    <xsd:annotation>
      <xsd:documentation>
        "ChannelSelection" specifies the false-color channel selection
        for a multi-spectral raster source.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element ref="sld:RedChannel"/>
          <xsd:element ref="sld:GreenChannel"/>
          <xsd:element ref="sld:BlueChannel"/>
        </xsd:sequence>
        <xsd:element ref="sld:GrayChannel"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="RedChannel" type="sld:SelectedChannelType"/>
  <xsd:element name="GreenChannel" type="sld:SelectedChannelType"/>
  <xsd:element name="BlueChannel" type="sld:SelectedChannelType"/>
  <xsd:element name="GrayChannel" type="sld:SelectedChannelType"/>
  <xsd:complexType name="SelectedChannelType">
    <xsd:sequence>
      <xsd:element ref="sld:SourceChannelName"/>
      <xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="SourceChannelName" type="xsd:string"/>

  <xsd:element name="OverlapBehavior">
    <xsd:annotation>
      <xsd:documentation>
        "OverlapBehavior" tells a system how to behave when multiple
        raster images in a layer overlap each other, for example with
        satellite-image scenes.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:enumeration value="LATEST_ON_TOP"/>
        <xsd:enumeration value="EARLIEST_ON_TOP"/>
        <xsd:enumeration value="AVERAGE"/>
        <xsd:enumeration value="RANDOM"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>

  <xsd:element name="ColorMap">
    <xsd:annotation>
      <xsd:documentation>
        A "ColorMap" defines either the colors of a pallet-type raster
        source or the mapping of numeric pixel values to colors.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element ref="sld:ColorMapEntry"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ColorMapEntry">
    <xsd:complexType>
      <xsd:attribute name="color" type="xsd:string" use="required"/>
      <xsd:attribute name="opacity" type="xsd:double"/>
      <xsd:attribute name="quantity" type="xsd:double"/>
      <xsd:attribute name="label" type="xsd:string"/>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="ContrastEnhancement">
    <xsd:annotation>
      <xsd:documentation>
        "ContrastEnhancement" defines the 'stretching' of contrast for a
        channel of a false-color image or for a whole grey/color image.
        Contrast enhancement is used to make ground features in images
        more visible.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0">
          <xsd:element ref="sld:Normalize"/>
          <xsd:element ref="sld:Histogram"/>
        </xsd:choice>
        <xsd:element ref="sld:GammaValue" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Normalize">
    <xsd:complexType/>
  </xsd:element>
  <xsd:element name="Histogram">
    <xsd:complexType/>
  </xsd:element>
  <xsd:element name="GammaValue" type="xsd:double"/>

  <xsd:element name="ShadedRelief">
    <xsd:annotation>
      <xsd:documentation>
        "ShadedRelief" specifies the application of relief shading
        (or "hill shading") to a DEM raster to give it somewhat of a
        three-dimensional effect and to make elevation changes more
        visible.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:BrightnessOnly" minOccurs="0"/>
        <xsd:element ref="sld:ReliefFactor" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="BrightnessOnly" type="xsd:boolean"/>
  <xsd:element name="ReliefFactor" type="xsd:double"/>

  <xsd:element name="ImageOutline">
    <xsd:annotation>
      <xsd:documentation>
        "ImageOutline" specifies how individual source rasters in
        a multi-raster set (such as a set of satellite-image scenes)
        should be outlined to make the individual-image locations visible.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="sld:LineSymbol"/>
        <xsd:element ref="sld:PolygonSymbol"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      MAPPED-COLOR SYMBOL (Choropleth)
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="MappedColorSymbol" substitutionGroup="sld:Symbol">
    <xsd:annotation>
      <xsd:documentation>
        A "MappedColorSymbol" is used to specify the mapping of colors to
        ranges of values of a control variable/expression.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="sld:SymbolType">
          <xsd:sequence>
            <xsd:element ref="sld:LookupValue"/>
            <xsd:element ref="sld:ColorMap"/>
            <xsd:element ref="sld:MappedColorSubSymbol"/>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="LookupValue" type="sld:ParameterValueType"/>

  <xsd:element name="MappedColorSubSymbol">
    <xsd:annotation>
      <xsd:documentation>
        The MappedColorSubSymbol identifies the the symbol to which
        to apply computed colors.  The computed color is used as the
        'default color' in the sub-symbol.  The "matchTo" attribute tells
        whether to match the lookup value to the "quantity" or "label"
        attributes of the 'choropleth' ColorMap.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:element ref="sld:LineSymbol"/>
        <xsd:element ref="sld:PolygonSymbol"/>
        <xsd:element ref="sld:PointSymbol"/>
        <xsd:element ref="sld:TextSymbol"/>
        <xsd:element ref="sld:RasterSymbol"/>
      </xsd:choice>
      <xsd:attribute name="matchTo" use="required">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="quantity"/>
            <xsd:enumeration value="label"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:attribute>
    </xsd:complexType>
  </xsd:element>

<!-- ========= xsd:include schemaLocation="FeatureStyle.xsd" =================== -->

  <xsd:annotation>
    <xsd:documentation>
      SLD FEATURE STYLE version 1.0.20 (2002-09-21)
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="FeatureStyle">
  <xsd:annotation>
    <xsd:documentation>
      A FeatureStyle contains styling information specific to one
      feature type.  This is the SLD level that separates the 'layer'
      handling from the 'feature' handling.
    </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:choice>
        <xsd:sequence>
          <xsd:element ref="sld:Name" minOccurs="0"/>
          <xsd:element ref="sld:Description" minOccurs="0"/>
          <xsd:element ref="sld:FeatureTypeName" minOccurs="0"/>
          <xsd:element ref="sld:SemanticTypeIdentifier" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xsd:element ref="sld:Rule" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:element ref="sld:OnlineResource"/>
      </xsd:choice>
      <xsd:attribute name="version" type="sld:VersionType"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="SemanticTypeIdentifier" type="xsd:string"/>

  <xsd:element name="Rule">
    <xsd:annotation>
      <xsd:documentation>
        A Rule is used to attach property/scale conditions to and group
        the individual symbols used for rendering.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name" minOccurs="0"/>
        <xsd:element ref="sld:Description" minOccurs="0"/>
        <xsd:element ref="sld:LegendGraphic" minOccurs="0"/>
        <xsd:choice minOccurs="0">
          <xsd:element ref="ogc:Filter"/>
          <xsd:element ref="sld:ElseFilter"/>
        </xsd:choice>
        <xsd:element ref="sld:MinScaleDenominator" minOccurs="0"/>
        <xsd:element ref="sld:MaxScaleDenominator" minOccurs="0"/>
        <xsd:element ref="sld:Symbol" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="LegendGraphic">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Graphic"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ElseFilter">
    <xsd:complexType/>
  </xsd:element>
  <xsd:element name="MinScaleDenominator" type="xsd:double"/>
  <xsd:element name="MaxScaleDenominator" type="xsd:double"/>

<!-- ====================== StyledLayerDescriptor4niem.xsd ======================== -->


  <xsd:element name="StyledLayerDescriptor">
    <xsd:annotation>
      <xsd:documentation>
        A StyledLayerDescriptor is a sequence of styled layers, represented
        at the first level by NamedLayer and UserLayer elements.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name" minOccurs="0"/>
        <xsd:element ref="sld:Description" minOccurs="0"/>
        <xsd:element ref="sld:EnvironmentVariables" minOccurs="0"/>
        <xsd:element ref="sld:UseSLDLibrary" minOccurs="0"
                                             maxOccurs="unbounded"/>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:element ref="sld:NamedLayer"/>
          <xsd:element ref="sld:UserLayer"/>
        </xsd:choice>
      </xsd:sequence>
      <xsd:attribute name="version" type="sld:VersionType" use="required"/>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      RUN-TIME ENVIRONMENT VARIABLES
    </xsd:documentation>
  </xsd:annotation>
  
  <xsd:element name="EnvironmentVariables">
    <xsd:annotation>
      <xsd:documentation>
        An "EnvironmentVariables" element includes an XML blob which
        can be used to declare the values to use for global environment
        variables during the execution of the styling operations.
        These variables may be refered to in styles and symbols in the
        same way as feature properties.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      SLD LIBRARIES
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="UseSLDLibrary">
    <xsd:annotation>
      <xsd:documentation>
        The UseSLDLibrary tag specifies that an external SLD document
        should be used as a "library" of named layers and styles to
        augment the set of named layers and styles that are available
        for use inside of a WMS.  In the event of name collisions, the
        SLD library takes precedence over the ones internal to the WMS.
        Any number of libraries may be specified in an SLD and each
        successive library takes precedence over the former ones in the
        case of name collisions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:OnlineResource"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- *********************************************************************** -->
  <xsd:annotation>
    <xsd:documentation>
      LAYERS AND STYLES
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="NamedLayer">
    <xsd:annotation>
      <xsd:documentation>
        A NamedLayer is a layer of data that has a name advertised by a WMS.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name"/>
        <xsd:element ref="sld:Description" minOccurs="0"/>
        <xsd:element ref="sld:LayerFeatureConstraints" minOccurs="0"/>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:element ref="sld:NamedStyle"/>
          <xsd:element ref="sld:UserStyle"/>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="NamedStyle">
    <xsd:annotation>
      <xsd:documentation>
        A NamedStyle is used to refer to a style that has a name in a WMS.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name"/>
        <xsd:element ref="sld:Description" minOccurs="0"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="UserLayer">
    <xsd:annotation>
      <xsd:documentation>
        A UserLayer allows a user-defined layer to be built from WFS and
        WCS data.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name" minOccurs="0"/>
        <xsd:element ref="sld:Description" minOccurs="0"/>
        <xsd:element ref="sld:RemoteOWS" minOccurs="0"/>
        <xsd:element ref="sld:LayerFeatureConstraints"/>
        <xsd:element ref="sld:UserStyle" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="RemoteOWS">
    <xsd:annotation>
      <xsd:documentation>
        A RemoteOWS gives a reference to a remote WFS/WCS/other-OWS server. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Service"/>
        <xsd:element ref="sld:OnlineResource"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Service">
    <xsd:annotation>
      <xsd:documentation>
        A Service refers to the type of a remote OWS server.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:enumeration value="WFS"/>
        <xsd:enumeration value="WCS"/>
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>

  <xsd:element name="LayerFeatureConstraints">
    <xsd:annotation>
      <xsd:documentation>
        LayerFeatureConstraints define what features &amp; feature types are
        referenced in a layer.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:FeatureTypeConstraint" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="FeatureTypeConstraint">
    <xsd:annotation>
      <xsd:documentation>
        A FeatureTypeConstraint identifies a specific feature type and
        supplies fitlering.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:FeatureTypeName" minOccurs="0"/>
        <xsd:element ref="ogc:Filter" minOccurs="0"/>
        <xsd:element ref="sld:Extent" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Extent">
    <xsd:annotation>
      <xsd:documentation>
        An Extent gives feature/coverage/raster/matrix dimension extent. 
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name"/>
        <xsd:element ref="sld:Value"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Value" type="xsd:string"/>

  <xsd:element name="UserStyle">
    <xsd:annotation>
      <xsd:documentation>
        A UserStyle allows user-defined styling and is semantically
        equivalent to a WMS named style.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="sld:Name" minOccurs="0"/>
        <xsd:element ref="sld:Description" minOccurs="0"/>
        <xsd:element ref="sld:IsDefault" minOccurs="0"/>
        <xsd:element ref="sld:FeatureStyle" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="IsDefault" type="xsd:boolean"/>

</xsd:schema>
Collapse ComplexTypes:
Collapse Elements:
Collapse SimpleTypes: