Schema LayerDefinition-1.3.0.xsd

attribute form default: | unqualified
element form default: | qualified

Elements | Complex types | Simple types
LayerDefinition | AreaRuleType | BackgroundStyleType
| AreaSymbolizationFillType | ElevationTypeType
| AreaSymbolizationType | FeatureNameType
| AreaTypeStyleType | GeometryContextType
| BaseLayerDefinitionType | LengthUnitType
| BlockSymbolType | ShapeType
| ChannelBandType | SizeContextType
| CompositeRule | UsageContextType
| CompositeSymbolization |
| CompositeTypeStyle |
| DrawingLayerDefinitionType |
| ElevationSettingsType |
| FillType |
| FontSymbolType |
| GridColorBandsType |
| GridColorRuleType |
| GridColorStyleType |
| GridColorType |
| GridLayerDefinitionType |
| GridScaleRangeType |
| GridSurfaceStyleType |
| HillShadeType |
| ImageSymbolType |
| LayerDefinitionType |
| LineRuleType |
| LineTypeStyleType |
| MarkSymbolType |
| NameStringPairType |
| Override |
| ParameterOverrides |
| PointRuleType |
| PointSymbolization2DType |
| PointSymbolizationType |
| PointTypeStyleType |
| StrokeType |
| SymbolInstance |
| SymbolType |
| TextSymbolType |
| ThemeLabel |
| VectorLayerDefinitionType |
| VectorScaleRangeType |
| W2DSymbolType |

attribute form default: | unqualified
element form default: | qualified

Elements | Complex types | Simple types
CompoundSymbolDefinition | AreaUsage | AngleControl
SimpleSymbolDefinition | CompoundSymbolDefinition | ClippingControl
| GraphicBase | DataType
| Graphics | GrowControl
| Image | HorizontalAlignment
| ImageReference | Justification
| LineUsage | LineCap
| Parameter | LineJoin
| ParameterDefinition | OriginControl
| Path | ResizeControl
| PointUsage | UnitsControl
| ResizeBox | VertexControl
| SimpleSymbol | VertexJoin
| SimpleSymbolDefinition | VerticalAlignment
| SymbolDefinitionBase |
| Text |
| TextFrame |

attribute form default: | unqualified
element form default: | qualified

Complex types
ExtendedDataType

element LayerDefinition

diagram |
type | extension of LayerDefinitionType
children | DrawingLayerDefinition VectorLayerDefinition GridLayerDefinition
attributes |
Name | Type | Use | Default | Fixed
version | xs:string | required |  | 1.3.0
source |
    <xs:element name="LayerDefinition">
      <xs:annotation>
        <xs:documentation>The specification of the data source and stylization for a layer.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:complexContent>
          <xs:extension base="LayerDefinitionType">
            <xs:attribute name="version" type="xs:string" use="required" fixed="1.3.0"/>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
    </xs:element>

complexType AreaRuleType

diagram |
children | LegendLabel Filter Label AreaSymbolization2D ExtendedData1
used by |
element | AreaTypeStyleType/AreaRule
source |
    <xs:complexType name="AreaRuleType">
      <xs:annotation>
        <xs:documentation>Style rule for an area geometry type.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LegendLabel" type="xs:string">
          <xs:annotation>
            <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Filter" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Label" type="TextSymbolType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A label for the Rule.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:choice>
          <xs:element name="AreaSymbolization2D" type="AreaSymbolizationFillType">
            <xs:annotation>
              <xs:documentation>The stylization of the polygon geometry.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element AreaRuleType/LegendLabel

diagram |
type | xs:string
source |
    <xs:element name="LegendLabel" type="xs:string">
      <xs:annotation>
        <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaRuleType/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaRuleType/Label

diagram |
type | TextSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Text FontName ForegroundColor BackgroundColor BackgroundStyle HorizontalAlignment VerticalAlignment Bold Italic Underlined AdvancedPlacement ExtendedData1
source |
    <xs:element name="Label" type="TextSymbolType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A label for the Rule.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaRuleType/AreaSymbolization2D

diagram |
type | AreaSymbolizationFillType
children | Fill Stroke ExtendedData1
source |
    <xs:element name="AreaSymbolization2D" type="AreaSymbolizationFillType">
      <xs:annotation>
        <xs:documentation>The stylization of the polygon geometry.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaRuleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType AreaSymbolizationFillType

diagram |
type | extension of AreaSymbolizationType
children | Fill Stroke ExtendedData1
used by |
element | AreaRuleType/AreaSymbolization2D
source |
    <xs:complexType name="AreaSymbolizationFillType">
      <xs:annotation>
        <xs:documentation>Describes the style of a polygon.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="AreaSymbolizationType">
          <xs:sequence>
            <xs:element name="Fill" type="FillType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The style of the polygon fill.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Stroke" type="StrokeType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The style of the polygon edge.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element AreaSymbolizationFillType/Fill

diagram |
type | FillType
children | FillPattern ForegroundColor BackgroundColor ExtendedData1
source |
    <xs:element name="Fill" type="FillType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The style of the polygon fill.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaSymbolizationFillType/Stroke

diagram |
type | StrokeType
children | LineStyle Thickness Color Unit SizeContext ExtendedData1
source |
    <xs:element name="Stroke" type="StrokeType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The style of the polygon edge.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaSymbolizationFillType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType AreaSymbolizationType

diagram |
used by |
complexType | AreaSymbolizationFillType
source |
    <xs:complexType name="AreaSymbolizationType">
      <xs:annotation>
        <xs:documentation>Symbolization characteristics for areas.</xs:documentation>
      </xs:annotation>
    </xs:complexType>

complexType AreaTypeStyleType

diagram |
children | AreaRule ShowInLegend ExtendedData1
used by |
element | VectorScaleRangeType/AreaTypeStyle
source |
    <xs:complexType name="AreaTypeStyleType">
      <xs:annotation>
        <xs:documentation>Style specification of a polygon geometry type.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="AreaRule" type="AreaRuleType" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Rules to define a theme.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element AreaTypeStyleType/AreaRule

diagram |
type | AreaRuleType
children | LegendLabel Filter Label AreaSymbolization2D ExtendedData1
source |
    <xs:element name="AreaRule" type="AreaRuleType" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Rules to define a theme.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaTypeStyleType/ShowInLegend

diagram |
type | xs:boolean
source |
    <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>

element AreaTypeStyleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType BaseLayerDefinitionType

diagram |
children | ResourceId Opacity
used by |
complexTypes | DrawingLayerDefinitionType GridLayerDefinitionType VectorLayerDefinitionType
source |
    <xs:complexType name="BaseLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>Specifies common properties for all layer types.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="ResourceId" type="xs:string">
          <xs:annotation>
            <xs:documentation>Link to the drawing data source.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Opacity" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Opacity at which to display the rendered data.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="0.0"/>
              <xs:maxInclusive value="1.0"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

element BaseLayerDefinitionType/ResourceId

diagram |
type | xs:string
source |
    <xs:element name="ResourceId" type="xs:string">
      <xs:annotation>
        <xs:documentation>Link to the drawing data source.</xs:documentation>
      </xs:annotation>
    </xs:element>

element BaseLayerDefinitionType/Opacity

diagram |
type | restriction of xs:double
facets |
minInclusive | 0.0
maxInclusive | 1.0
source |
    <xs:element name="Opacity" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Opacity at which to display the rendered data.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:double">
          <xs:minInclusive value="0.0"/>
          <xs:maxInclusive value="1.0"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>

complexType BlockSymbolType

diagram |
type | extension of SymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY DrawingName BlockName BlockColor LayerColor ExtendedData1
used by |
element | PointSymbolization2DType/Block
source |
    <xs:complexType name="BlockSymbolType">
      <xs:annotation>
        <xs:documentation>A block symbol.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolType">
          <xs:sequence>
            <xs:element name="DrawingName" type="xs:string"/>
            <xs:element name="BlockName" type="xs:string"/>
            <xs:element name="BlockColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Static color.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LayerColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Static color.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element BlockSymbolType/DrawingName

diagram |
type | xs:string
source |
    <xs:element name="DrawingName" type="xs:string"/>

element BlockSymbolType/BlockName

diagram |
type | xs:string
source |
    <xs:element name="BlockName" type="xs:string"/>

element BlockSymbolType/BlockColor

diagram |
type | xs:string
source |
    <xs:element name="BlockColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Static color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element BlockSymbolType/LayerColor

diagram |
type | xs:string
source |
    <xs:element name="LayerColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Static color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element BlockSymbolType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ChannelBandType

diagram |
children | Band LowBand HighBand LowChannel HighChannel ExtendedData1
used by |
elements | GridColorBandsType/BlueBand GridColorBandsType/GreenBand GridColorBandsType/RedBand
source |
    <xs:complexType name="ChannelBandType">
      <xs:annotation>
        <xs:documentation>Defines how to scale numbers into a color channel.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Band" type="xs:string">
          <xs:annotation>
            <xs:documentation>Name of the band.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="LowBand" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Default is low value found in band.  Band values less than this are snapped to this number.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="HighBand" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Default is high value found in band.  Band values greater than this are snapped to this number.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="LowChannel" type="xs:unsignedByte" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Default is 0.  Range is 0:255.  LowBand is mapped to this number.  LowChannel can be greater than HighChannel.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="HighChannel" type="xs:unsignedByte" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Default is 255.  Range is 0:255.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element ChannelBandType/Band

diagram |
type | xs:string
source |
    <xs:element name="Band" type="xs:string">
      <xs:annotation>
        <xs:documentation>Name of the band.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ChannelBandType/LowBand

diagram |
type | xs:double
source |
    <xs:element name="LowBand" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Default is low value found in band.  Band values less than this are snapped to this number.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ChannelBandType/HighBand

diagram |
type | xs:double
source |
    <xs:element name="HighBand" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Default is high value found in band.  Band values greater than this are snapped to this number.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ChannelBandType/LowChannel

diagram |
type | xs:unsignedByte
source |
    <xs:element name="LowChannel" type="xs:unsignedByte" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Default is 0.  Range is 0:255.  LowBand is mapped to this number.  LowChannel can be greater than HighChannel.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ChannelBandType/HighChannel

diagram |
type | xs:unsignedByte
source |
    <xs:element name="HighChannel" type="xs:unsignedByte" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Default is 255.  Range is 0:255.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ChannelBandType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType CompositeRule

diagram |
children | LegendLabel Filter CompositeSymbolization ExtendedData1
used by |
element | CompositeTypeStyle/CompositeRule
source |
    <xs:complexType name="CompositeRule">
      <xs:annotation>
        <xs:documentation>A style rule containing a composite symbolization.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LegendLabel" type="xs:string">
          <xs:annotation>
            <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Filter" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CompositeSymbolization" type="CompositeSymbolization">
          <xs:annotation>
            <xs:documentation>The symbolization for the Rule.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element CompositeRule/LegendLabel

diagram |
type | xs:string
source |
    <xs:element name="LegendLabel" type="xs:string">
      <xs:annotation>
        <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
      </xs:annotation>
    </xs:element>

element CompositeRule/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
      </xs:annotation>
    </xs:element>

element CompositeRule/CompositeSymbolization

diagram |
type | CompositeSymbolization
children | SymbolInstance ExtendedData1
source |
    <xs:element name="CompositeSymbolization" type="CompositeSymbolization">
      <xs:annotation>
        <xs:documentation>The symbolization for the Rule.</xs:documentation>
      </xs:annotation>
    </xs:element>

element CompositeRule/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType CompositeSymbolization

diagram |
children | SymbolInstance ExtendedData1
used by |
element | CompositeRule/CompositeSymbolization
source |
    <xs:complexType name="CompositeSymbolization">
      <xs:annotation>
        <xs:documentation>Stylization attributes of a point, line, or area feature.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="SymbolInstance" type="SymbolInstance" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>The symbol instances used for stylization.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element CompositeSymbolization/SymbolInstance

diagram |
type | SymbolInstance
children | ResourceId SimpleSymbolDefinition CompoundSymbolDefinition ParameterOverrides ScaleX ScaleY InsertionOffsetX InsertionOffsetY SizeContext DrawLast CheckExclusionRegion AddToExclusionRegion PositioningAlgorithm RenderingPass UsageContext GeometryContext ExtendedData1
source |
    <xs:element name="SymbolInstance" type="SymbolInstance" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>The symbol instances used for stylization.</xs:documentation>
      </xs:annotation>
    </xs:element>

element CompositeSymbolization/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType CompositeTypeStyle

diagram |
children | CompositeRule ShowInLegend ExtendedData1
used by |
element | VectorScaleRangeType/CompositeTypeStyle
source |
    <xs:complexType name="CompositeTypeStyle">
      <xs:annotation>
        <xs:documentation>A style specification consisting of composite rules.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="CompositeRule" type="CompositeRule" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>One or more CompositeRules defining the CompositeTypeStyle.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element CompositeTypeStyle/CompositeRule

diagram |
type | CompositeRule
children | LegendLabel Filter CompositeSymbolization ExtendedData1
source |
    <xs:element name="CompositeRule" type="CompositeRule" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>One or more CompositeRules defining the CompositeTypeStyle.</xs:documentation>
      </xs:annotation>
    </xs:element>

element CompositeTypeStyle/ShowInLegend

diagram |
type | xs:boolean
source |
    <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>

element CompositeTypeStyle/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType DrawingLayerDefinitionType

diagram |
type | extension of BaseLayerDefinitionType
children | ResourceId Opacity Sheet LayerFilter MinScale MaxScale ExtendedData1
used by |
element | LayerDefinitionType/DrawingLayerDefinition
source |
    <xs:complexType name="DrawingLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>A layer with a drawing (i.e., DWF) data source.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="BaseLayerDefinitionType">
          <xs:sequence>
            <xs:element name="Sheet" type="xs:string">
              <xs:annotation>
                <xs:documentation>The sheet of the DWF to use.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LayerFilter" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The layers to show from the specified sheet.  Show all layers if this is not specified.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="MinScale" type="xs:double" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The zoomed in part of the scale range.  Defaults to 0 if not specified.  Inclusive.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="MaxScale" type="xs:double" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The zoomed out part of the scale range.  Defaults to the application's maximum value if not specified.  Exclusive.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element DrawingLayerDefinitionType/Sheet

diagram |
type | xs:string
source |
    <xs:element name="Sheet" type="xs:string">
      <xs:annotation>
        <xs:documentation>The sheet of the DWF to use.</xs:documentation>
      </xs:annotation>
    </xs:element>

element DrawingLayerDefinitionType/LayerFilter

diagram |
type | xs:string
source |
    <xs:element name="LayerFilter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The layers to show from the specified sheet.  Show all layers if this is not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element DrawingLayerDefinitionType/MinScale

diagram |
type | xs:double
source |
    <xs:element name="MinScale" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The zoomed in part of the scale range.  Defaults to 0 if not specified.  Inclusive.</xs:documentation>
      </xs:annotation>
    </xs:element>

element DrawingLayerDefinitionType/MaxScale

diagram |
type | xs:double
source |
    <xs:element name="MaxScale" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The zoomed out part of the scale range.  Defaults to the application's maximum value if not specified.  Exclusive.</xs:documentation>
      </xs:annotation>
    </xs:element>

element DrawingLayerDefinitionType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ElevationSettingsType

diagram |
children | ZOffset ZExtrusion ZOffsetType Unit ExtendedData1
used by |
element | VectorScaleRangeType/ElevationSettings
source |
    <xs:complexType name="ElevationSettingsType">
      <xs:sequence>
        <xs:element name="ZOffset" type="xs:string" minOccurs="0"/>
        <xs:element name="ZExtrusion" type="xs:string" minOccurs="0"/>
        <xs:element name="ZOffsetType" type="ElevationTypeType" minOccurs="0"/>
        <xs:element name="Unit" type="LengthUnitType" minOccurs="0"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element ElevationSettingsType/ZOffset

diagram |
type | xs:string
source |
    <xs:element name="ZOffset" type="xs:string" minOccurs="0"/>

element ElevationSettingsType/ZExtrusion

diagram |
type | xs:string
source |
    <xs:element name="ZExtrusion" type="xs:string" minOccurs="0"/>

element ElevationSettingsType/ZOffsetType

diagram |
type | ElevationTypeType
facets |
enumeration | RelativeToGround
enumeration | Absolute
source |
    <xs:element name="ZOffsetType" type="ElevationTypeType" minOccurs="0"/>

element ElevationSettingsType/Unit

diagram |
type | LengthUnitType
facets |
enumeration | Millimeters
enumeration | Centimeters
enumeration | Meters
enumeration | Kilometers
enumeration | Inches
enumeration | Feet
enumeration | Yards
enumeration | Miles
enumeration | Points
source |
    <xs:element name="Unit" type="LengthUnitType" minOccurs="0"/>

element ElevationSettingsType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType FillType

diagram |
children | FillPattern ForegroundColor BackgroundColor ExtendedData1
used by |
elements | AreaSymbolizationFillType/Fill MarkSymbolType/Fill
source |
    <xs:complexType name="FillType">
      <xs:annotation>
        <xs:documentation>Encapsulates the stylization of a polygon's fill.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="FillPattern" type="xs:string"/>
        <xs:element name="ForegroundColor" type="xs:string"/>
        <xs:element name="BackgroundColor" type="xs:string">
          <xs:annotation>
            <xs:documentation>The background color.  Not applicable to solid fills.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element FillType/FillPattern

diagram |
type | xs:string
source |
    <xs:element name="FillPattern" type="xs:string"/>

element FillType/ForegroundColor

diagram |
type | xs:string
source |
    <xs:element name="ForegroundColor" type="xs:string"/>

element FillType/BackgroundColor

diagram |
type | xs:string
source |
    <xs:element name="BackgroundColor" type="xs:string">
      <xs:annotation>
        <xs:documentation>The background color.  Not applicable to solid fills.</xs:documentation>
      </xs:annotation>
    </xs:element>

element FillType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType FontSymbolType

diagram |
type | extension of SymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY FontName Character Bold Italic Underlined ForegroundColor ExtendedData1
used by |
element | PointSymbolization2DType/Font
source |
    <xs:complexType name="FontSymbolType">
      <xs:annotation>
        <xs:documentation>Symbols that are specified by a font and character.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolType">
          <xs:sequence>
            <xs:element name="FontName" type="xs:string">
              <xs:annotation>
                <xs:documentation>If the font is not installed, the actual font used is application dependent.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Character" type="xs:string"/>
            <xs:element name="Bold" type="xs:boolean" minOccurs="0"/>
            <xs:element name="Italic" type="xs:boolean" minOccurs="0"/>
            <xs:element name="Underlined" type="xs:boolean" minOccurs="0"/>
            <xs:element name="ForegroundColor" type="xs:string"/>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element FontSymbolType/FontName

diagram |
type | xs:string
source |
    <xs:element name="FontName" type="xs:string">
      <xs:annotation>
        <xs:documentation>If the font is not installed, the actual font used is application dependent.</xs:documentation>
      </xs:annotation>
    </xs:element>

element FontSymbolType/Character

diagram |
type | xs:string
source |
    <xs:element name="Character" type="xs:string"/>

element FontSymbolType/Bold

diagram |
type | xs:boolean
source |
    <xs:element name="Bold" type="xs:boolean" minOccurs="0"/>

element FontSymbolType/Italic

diagram |
type | xs:boolean
source |
    <xs:element name="Italic" type="xs:boolean" minOccurs="0"/>

element FontSymbolType/Underlined

diagram |
type | xs:boolean
source |
    <xs:element name="Underlined" type="xs:boolean" minOccurs="0"/>

element FontSymbolType/ForegroundColor

diagram |
type | xs:string
source |
    <xs:element name="ForegroundColor" type="xs:string"/>

element FontSymbolType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GridColorBandsType

diagram |
children | RedBand GreenBand BlueBand
used by |
element | GridColorType/Bands
source |
    <xs:complexType name="GridColorBandsType">
      <xs:annotation>
        <xs:documentation>Specifies a color using distinct RGB values.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="RedBand" type="ChannelBandType"/>
        <xs:element name="GreenBand" type="ChannelBandType"/>
        <xs:element name="BlueBand" type="ChannelBandType"/>
      </xs:sequence>
    </xs:complexType>

element GridColorBandsType/RedBand

diagram |
type | ChannelBandType
children | Band LowBand HighBand LowChannel HighChannel ExtendedData1
source |
    <xs:element name="RedBand" type="ChannelBandType"/>

element GridColorBandsType/GreenBand

diagram |
type | ChannelBandType
children | Band LowBand HighBand LowChannel HighChannel ExtendedData1
source |
    <xs:element name="GreenBand" type="ChannelBandType"/>

element GridColorBandsType/BlueBand

diagram |
type | ChannelBandType
children | Band LowBand HighBand LowChannel HighChannel ExtendedData1
source |
    <xs:element name="BlueBand" type="ChannelBandType"/>

complexType GridColorRuleType

diagram |
children | LegendLabel Filter Label Color ExtendedData1
used by |
element | GridColorStyleType/ColorRule
source |
    <xs:complexType name="GridColorRuleType">
      <xs:annotation>
        <xs:documentation>Encapsulate a style for a grid source.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LegendLabel" type="xs:string">
          <xs:annotation>
            <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Filter" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Label" type="TextSymbolType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A label for the Rule.  Does not apply to GridColorRule.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Color" type="GridColorType"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element GridColorRuleType/LegendLabel

diagram |
type | xs:string
source |
    <xs:element name="LegendLabel" type="xs:string">
      <xs:annotation>
        <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorRuleType/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorRuleType/Label

diagram |
type | TextSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Text FontName ForegroundColor BackgroundColor BackgroundStyle HorizontalAlignment VerticalAlignment Bold Italic Underlined AdvancedPlacement ExtendedData1
source |
    <xs:element name="Label" type="TextSymbolType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A label for the Rule.  Does not apply to GridColorRule.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorRuleType/Color

diagram |
type | GridColorType
children | ExplicitColor Band Bands ExtendedData1
source |
    <xs:element name="Color" type="GridColorType"/>

element GridColorRuleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GridColorStyleType

diagram |
children | HillShade TransparencyColor BrightnessFactor ContrastFactor ColorRule ExtendedData1
used by |
element | GridScaleRangeType/ColorStyle
source |
    <xs:complexType name="GridColorStyleType">
      <xs:annotation>
        <xs:documentation>Specifies how to style each pixel.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="HillShade" type="HillShadeType" minOccurs="0"/>
        <xs:element name="TransparencyColor" minOccurs="0">
          <xs:annotation>
            <xs:documentation>If a pixel color prior to factoring in HillShade is this value then the pixel is transparent.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="BrightnessFactor" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Default is 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ContrastFactor" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Default is 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ColorRule" type="GridColorRuleType" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element GridColorStyleType/HillShade

diagram |
type | HillShadeType
children | Band Azimuth Altitude ScaleFactor ExtendedData1
source |
    <xs:element name="HillShade" type="HillShadeType" minOccurs="0"/>

element GridColorStyleType/TransparencyColor

diagram |
source |
    <xs:element name="TransparencyColor" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If a pixel color prior to factoring in HillShade is this value then the pixel is transparent.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorStyleType/BrightnessFactor

diagram |
type | xs:double
source |
    <xs:element name="BrightnessFactor" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Default is 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorStyleType/ContrastFactor

diagram |
type | xs:double
source |
    <xs:element name="ContrastFactor" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Default is 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorStyleType/ColorRule

diagram |
type | GridColorRuleType
children | LegendLabel Filter Label Color ExtendedData1
source |
    <xs:element name="ColorRule" type="GridColorRuleType" minOccurs="0" maxOccurs="unbounded"/>

element GridColorStyleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GridColorType

diagram |
children | ExplicitColor Band Bands ExtendedData1
used by |
element | GridColorRuleType/Color
source |
    <xs:complexType name="GridColorType">
      <xs:annotation>
        <xs:documentation>The color to use for a grid rule.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:choice minOccurs="0">
          <xs:element name="ExplicitColor" type="xs:string">
            <xs:annotation>
              <xs:documentation>Explicit ARGB color.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Band" type="xs:string"/>
          <xs:element name="Bands" type="GridColorBandsType"/>
        </xs:choice>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element GridColorType/ExplicitColor

diagram |
type | xs:string
source |
    <xs:element name="ExplicitColor" type="xs:string">
      <xs:annotation>
        <xs:documentation>Explicit ARGB color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridColorType/Band

diagram |
type | xs:string
source |
    <xs:element name="Band" type="xs:string"/>

element GridColorType/Bands

diagram |
type | GridColorBandsType
children | RedBand GreenBand BlueBand
source |
    <xs:element name="Bands" type="GridColorBandsType"/>

element GridColorType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GridLayerDefinitionType

diagram |
type | extension of BaseLayerDefinitionType
children | ResourceId Opacity FeatureName Geometry Filter GridScaleRange ExtendedData1
used by |
element | LayerDefinitionType/GridLayerDefinition
source |
    <xs:complexType name="GridLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>A layer for raster or grid data.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="BaseLayerDefinitionType">
          <xs:sequence>
            <xs:element name="FeatureName" type="xs:string"/>
            <xs:element name="Geometry" type="xs:string">
              <xs:annotation>
                <xs:documentation>Specifies the geometry property that should be used to get the geometries.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Filter" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>A boolean FDO expression that specifies which features to return.  No filter means pass all features through.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GridScaleRange" type="GridScaleRangeType" maxOccurs="unbounded"/>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element GridLayerDefinitionType/FeatureName

diagram |
type | xs:string
source |
    <xs:element name="FeatureName" type="xs:string"/>

element GridLayerDefinitionType/Geometry

diagram |
type | xs:string
source |
    <xs:element name="Geometry" type="xs:string">
      <xs:annotation>
        <xs:documentation>Specifies the geometry property that should be used to get the geometries.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridLayerDefinitionType/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A boolean FDO expression that specifies which features to return.  No filter means pass all features through.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridLayerDefinitionType/GridScaleRange

diagram |
type | GridScaleRangeType
children | MinScale MaxScale SurfaceStyle ColorStyle RebuildFactor ExtendedData1
source |
    <xs:element name="GridScaleRange" type="GridScaleRangeType" maxOccurs="unbounded"/>

element GridLayerDefinitionType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GridScaleRangeType

diagram |
children | MinScale MaxScale SurfaceStyle ColorStyle RebuildFactor ExtendedData1
used by |
element | GridLayerDefinitionType/GridScaleRange
source |
    <xs:complexType name="GridScaleRangeType">
      <xs:annotation>
        <xs:documentation>The stylization for a specified scale range.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="MinScale" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The zoomed in part of the scale range.  Defaults to 0 if not specified.  Inclusive.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="MaxScale" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The zoomed out part of the scale range.  Defaults to the application's maximum value if not specified.  Exclusive.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SurfaceStyle" type="GridSurfaceStyleType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Defines the height field of the grid.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ColorStyle" type="GridColorStyleType" minOccurs="0"/>
        <xs:element name="RebuildFactor" type="xs:double">
          <xs:annotation>
            <xs:documentation>When the user has zoomed in by this amount, a request for more detailed raster data is made.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element GridScaleRangeType/MinScale

diagram |
type | xs:double
source |
    <xs:element name="MinScale" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The zoomed in part of the scale range.  Defaults to 0 if not specified.  Inclusive.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridScaleRangeType/MaxScale

diagram |
type | xs:double
source |
    <xs:element name="MaxScale" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The zoomed out part of the scale range.  Defaults to the application's maximum value if not specified.  Exclusive.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridScaleRangeType/SurfaceStyle

diagram |
type | GridSurfaceStyleType
children | Band ZeroValue ScaleFactor DefaultColor ExtendedData1
source |
    <xs:element name="SurfaceStyle" type="GridSurfaceStyleType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Defines the height field of the grid.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridScaleRangeType/ColorStyle

diagram |
type | GridColorStyleType
children | HillShade TransparencyColor BrightnessFactor ContrastFactor ColorRule ExtendedData1
source |
    <xs:element name="ColorStyle" type="GridColorStyleType" minOccurs="0"/>

element GridScaleRangeType/RebuildFactor

diagram |
type | xs:double
source |
    <xs:element name="RebuildFactor" type="xs:double">
      <xs:annotation>
        <xs:documentation>When the user has zoomed in by this amount, a request for more detailed raster data is made.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridScaleRangeType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GridSurfaceStyleType

diagram |
children | Band ZeroValue ScaleFactor DefaultColor ExtendedData1
used by |
element | GridScaleRangeType/SurfaceStyle
source |
    <xs:complexType name="GridSurfaceStyleType">
      <xs:annotation>
        <xs:documentation>Specifies how to calculate pixel elevations.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Band" type="xs:string">
          <xs:annotation>
            <xs:documentation>Band to use for 3D data.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ZeroValue" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Determines which input value is mapped to zero elevation.  Defaults to 0 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ScaleFactor" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Determines how to scale the inputs into a consistent elevation.  Defaults to 1 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DefaultColor" type="xs:string">
          <xs:annotation>
            <xs:documentation>The default color to use if no ColorStyle is defined at a pixel.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element GridSurfaceStyleType/Band

diagram |
type | xs:string
source |
    <xs:element name="Band" type="xs:string">
      <xs:annotation>
        <xs:documentation>Band to use for 3D data.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridSurfaceStyleType/ZeroValue

diagram |
type | xs:double
source |
    <xs:element name="ZeroValue" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Determines which input value is mapped to zero elevation.  Defaults to 0 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridSurfaceStyleType/ScaleFactor

diagram |
type | xs:double
source |
    <xs:element name="ScaleFactor" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Determines how to scale the inputs into a consistent elevation.  Defaults to 1 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridSurfaceStyleType/DefaultColor

diagram |
type | xs:string
source |
    <xs:element name="DefaultColor" type="xs:string">
      <xs:annotation>
        <xs:documentation>The default color to use if no ColorStyle is defined at a pixel.</xs:documentation>
      </xs:annotation>
    </xs:element>

element GridSurfaceStyleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType HillShadeType

diagram |
children | Band Azimuth Altitude ScaleFactor ExtendedData1
used by |
element | GridColorStyleType/HillShade
source |
    <xs:complexType name="HillShadeType">
      <xs:annotation>
        <xs:documentation>Specifies how to shade given a band and a light source.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Band" type="xs:string">
          <xs:annotation>
            <xs:documentation>Name of the band used for the computation.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Azimuth" type="xs:double">
          <xs:annotation>
            <xs:documentation>Azimuth of the sun in degrees.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Altitude" type="xs:double">
          <xs:annotation>
            <xs:documentation>Altitude of the sun in degrees.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ScaleFactor" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The scale factor applied to the band prior to computing hillshade.  Defaults to 1 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element HillShadeType/Band

diagram |
type | xs:string
source |
    <xs:element name="Band" type="xs:string">
      <xs:annotation>
        <xs:documentation>Name of the band used for the computation.</xs:documentation>
      </xs:annotation>
    </xs:element>

element HillShadeType/Azimuth

diagram |
type | xs:double
source |
    <xs:element name="Azimuth" type="xs:double">
      <xs:annotation>
        <xs:documentation>Azimuth of the sun in degrees.</xs:documentation>
      </xs:annotation>
    </xs:element>

element HillShadeType/Altitude

diagram |
type | xs:double
source |
    <xs:element name="Altitude" type="xs:double">
      <xs:annotation>
        <xs:documentation>Altitude of the sun in degrees.</xs:documentation>
      </xs:annotation>
    </xs:element>

element HillShadeType/ScaleFactor

diagram |
type | xs:double
source |
    <xs:element name="ScaleFactor" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The scale factor applied to the band prior to computing hillshade.  Defaults to 1 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element HillShadeType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ImageSymbolType

diagram |
type | extension of SymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Image Content ExtendedData1
used by |
element | PointSymbolization2DType/Image
source |
    <xs:complexType name="ImageSymbolType">
      <xs:annotation>
        <xs:documentation>Symbols that are comprised of a raster.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolType">
          <xs:sequence>
            <xs:choice>
              <xs:element name="Image">
                <xs:annotation>
                  <xs:documentation>Reference to the image.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="ResourceId">
                      <xs:annotation>
                        <xs:documentation>The reference to the resource.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="LibraryItemName" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>If ResourceId specifies a library, this identifies the name of a library item.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Content" type="xs:hexBinary">
                <xs:annotation>
                  <xs:documentation>BinHex data for image.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:choice>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element ImageSymbolType/Image

diagram |
children | ResourceId LibraryItemName
source |
    <xs:element name="Image">
      <xs:annotation>
        <xs:documentation>Reference to the image.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:sequence>
          <xs:element name="ResourceId">
            <xs:annotation>
              <xs:documentation>The reference to the resource.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="LibraryItemName" minOccurs="0">
            <xs:annotation>
              <xs:documentation>If ResourceId specifies a library, this identifies the name of a library item.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>

element ImageSymbolType/Image/ResourceId

diagram |
source |
    <xs:element name="ResourceId">
      <xs:annotation>
        <xs:documentation>The reference to the resource.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ImageSymbolType/Image/LibraryItemName

diagram |
source |
    <xs:element name="LibraryItemName" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If ResourceId specifies a library, this identifies the name of a library item.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ImageSymbolType/Content

diagram |
type | xs:hexBinary
source |
    <xs:element name="Content" type="xs:hexBinary">
      <xs:annotation>
        <xs:documentation>BinHex data for image.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ImageSymbolType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType LayerDefinitionType

diagram |
children | DrawingLayerDefinition VectorLayerDefinition GridLayerDefinition
used by |
element | LayerDefinition
source |
    <xs:complexType name="LayerDefinitionType">
      <xs:annotation>
        <xs:documentation>Encapsulates the definition of a map layer.</xs:documentation>
      </xs:annotation>
      <xs:choice>
        <xs:element name="DrawingLayerDefinition" type="DrawingLayerDefinitionType">
          <xs:annotation>
            <xs:documentation>A layer with a drawing (i.e., DWF) data source.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="VectorLayerDefinition" type="VectorLayerDefinitionType">
          <xs:annotation>
            <xs:documentation>A layer with a vector data source; and stylization specification for the datum's geometry types.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="GridLayerDefinition" type="GridLayerDefinitionType">
          <xs:annotation>
            <xs:documentation>A layer with a raster or grid data source.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:choice>
    </xs:complexType>

element LayerDefinitionType/DrawingLayerDefinition

diagram |
type | DrawingLayerDefinitionType
children | ResourceId Opacity Sheet LayerFilter MinScale MaxScale ExtendedData1
source |
    <xs:element name="DrawingLayerDefinition" type="DrawingLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>A layer with a drawing (i.e., DWF) data source.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LayerDefinitionType/VectorLayerDefinition

diagram |
type | VectorLayerDefinitionType
children | ResourceId Opacity FeatureName FeatureNameType Filter PropertyMapping Geometry Url ToolTip VectorScaleRange ExtendedData1
source |
    <xs:element name="VectorLayerDefinition" type="VectorLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>A layer with a vector data source; and stylization specification for the datum's geometry types.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LayerDefinitionType/GridLayerDefinition

diagram |
type | GridLayerDefinitionType
children | ResourceId Opacity FeatureName Geometry Filter GridScaleRange ExtendedData1
source |
    <xs:element name="GridLayerDefinition" type="GridLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>A layer with a raster or grid data source.</xs:documentation>
      </xs:annotation>
    </xs:element>

complexType LineRuleType

diagram |
children | LegendLabel Filter Label LineSymbolization2D ExtendedData1
used by |
element | LineTypeStyleType/LineRule
source |
    <xs:complexType name="LineRuleType">
      <xs:annotation>
        <xs:documentation>Style rule for a line geometry type.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LegendLabel" type="xs:string">
          <xs:annotation>
            <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Filter" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Label" type="TextSymbolType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A label for the Rule.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="LineSymbolization2D" type="StrokeType"/>
        </xs:choice>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element LineRuleType/LegendLabel

diagram |
type | xs:string
source |
    <xs:element name="LegendLabel" type="xs:string">
      <xs:annotation>
        <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineRuleType/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineRuleType/Label

diagram |
type | TextSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Text FontName ForegroundColor BackgroundColor BackgroundStyle HorizontalAlignment VerticalAlignment Bold Italic Underlined AdvancedPlacement ExtendedData1
source |
    <xs:element name="Label" type="TextSymbolType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A label for the Rule.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineRuleType/LineSymbolization2D

diagram |
type | StrokeType
children | LineStyle Thickness Color Unit SizeContext ExtendedData1
source |
    <xs:element name="LineSymbolization2D" type="StrokeType"/>

element LineRuleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType LineTypeStyleType

diagram |
children | LineRule ShowInLegend ExtendedData1
used by |
element | VectorScaleRangeType/LineTypeStyle
source |
    <xs:complexType name="LineTypeStyleType">
      <xs:annotation>
        <xs:documentation>Style specification of a line geometry type.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LineRule" type="LineRuleType" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Rules to define a theme.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element LineTypeStyleType/LineRule

diagram |
type | LineRuleType
children | LegendLabel Filter Label LineSymbolization2D ExtendedData1
source |
    <xs:element name="LineRule" type="LineRuleType" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Rules to define a theme.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineTypeStyleType/ShowInLegend

diagram |
type | xs:boolean
source |
    <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>

element LineTypeStyleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType MarkSymbolType

diagram |
type | extension of SymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Shape Fill Edge ExtendedData1
used by |
element | PointSymbolization2DType/Mark
source |
    <xs:complexType name="MarkSymbolType">
      <xs:annotation>
        <xs:documentation>Stylization of a predefined shape (ShapeType).</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolType">
          <xs:sequence>
            <xs:element name="Shape" type="ShapeType"/>
            <xs:element name="Fill" type="FillType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>No fill is drawn if not specified.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Edge" type="StrokeType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>No edge is drawin if not specified.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element MarkSymbolType/Shape

diagram |
type | ShapeType
facets |
enumeration | Square
enumeration | Circle
enumeration | Triangle
enumeration | Star
enumeration | Cross
enumeration | X
source |
    <xs:element name="Shape" type="ShapeType"/>

element MarkSymbolType/Fill

diagram |
type | FillType
children | FillPattern ForegroundColor BackgroundColor ExtendedData1
source |
    <xs:element name="Fill" type="FillType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>No fill is drawn if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element MarkSymbolType/Edge

diagram |
type | StrokeType
children | LineStyle Thickness Color Unit SizeContext ExtendedData1
source |
    <xs:element name="Edge" type="StrokeType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>No edge is drawin if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element MarkSymbolType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType NameStringPairType

diagram |
children | Name Value ExtendedData1
used by |
element | VectorLayerDefinitionType/PropertyMapping
source |
    <xs:complexType name="NameStringPairType">
      <xs:annotation>
        <xs:documentation>Used by vector layer definition to hold properties that can be displayed to the end user, and the friendly name to display it as.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Name" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the property to expose.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Value" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name to show the end user.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element NameStringPairType/Name

diagram |
type | xs:string
source |
    <xs:element name="Name" type="xs:string">
      <xs:annotation>
        <xs:documentation>The name of the property to expose.</xs:documentation>
      </xs:annotation>
    </xs:element>

element NameStringPairType/Value

diagram |
type | xs:string
source |
    <xs:element name="Value" type="xs:string">
      <xs:annotation>
        <xs:documentation>The name to show the end user.</xs:documentation>
      </xs:annotation>
    </xs:element>

element NameStringPairType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType Override

diagram |
children | SymbolName ParameterIdentifier ParameterValue ThemeLabel ExtendedData1
used by |
element | ParameterOverrides/Override
source |
    <xs:complexType name="Override">
      <xs:annotation>
        <xs:documentation>A parameter override.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="SymbolName" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the symbol definition containing the parameter being overridden.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ParameterIdentifier" type="xs:string">
          <xs:annotation>
            <xs:documentation>The identifier of the parameter being overridden.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ParameterValue" type="xs:string">
          <xs:annotation>
            <xs:documentation>The override value for the parameter.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ThemeLabel" type="ThemeLabel" minOccurs="0">
          <xs:annotation>
            <xs:documentation>An optional theme label for this override.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element Override/SymbolName

diagram |
type | xs:string
source |
    <xs:element name="SymbolName" type="xs:string">
      <xs:annotation>
        <xs:documentation>The name of the symbol definition containing the parameter being overridden.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Override/ParameterIdentifier

diagram |
type | xs:string
source |
    <xs:element name="ParameterIdentifier" type="xs:string">
      <xs:annotation>
        <xs:documentation>The identifier of the parameter being overridden.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Override/ParameterValue

diagram |
type | xs:string
source |
    <xs:element name="ParameterValue" type="xs:string">
      <xs:annotation>
        <xs:documentation>The override value for the parameter.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Override/ThemeLabel

diagram |
type | ThemeLabel
children | Description CategoryFormat ExtendedData1
source |
    <xs:element name="ThemeLabel" type="ThemeLabel" minOccurs="0">
      <xs:annotation>
        <xs:documentation>An optional theme label for this override.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Override/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ParameterOverrides

diagram |
children | Override ExtendedData1
used by |
element | SymbolInstance/ParameterOverrides
source |
    <xs:complexType name="ParameterOverrides">
      <xs:annotation>
        <xs:documentation>A collection of parameter overrides.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Override" type="Override" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element ParameterOverrides/Override

diagram |
type | Override
children | SymbolName ParameterIdentifier ParameterValue ThemeLabel ExtendedData1
source |
    <xs:element name="Override" type="Override" minOccurs="0" maxOccurs="unbounded"/>

element ParameterOverrides/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType PointRuleType

diagram |
children | LegendLabel Filter Label PointSymbolization2D ExtendedData1
used by |
element | PointTypeStyleType/PointRule
source |
    <xs:complexType name="PointRuleType">
      <xs:annotation>
        <xs:documentation>Style rule for a point geometry type.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LegendLabel" type="xs:string">
          <xs:annotation>
            <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Filter" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Label" type="TextSymbolType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>A label for the Rule.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:choice minOccurs="0">
          <xs:element name="PointSymbolization2D" type="PointSymbolization2DType"/>
        </xs:choice>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element PointRuleType/LegendLabel

diagram |
type | xs:string
source |
    <xs:element name="LegendLabel" type="xs:string">
      <xs:annotation>
        <xs:documentation>The label for the Rule to be displayed in the legend.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointRuleType/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A filter for the Rule.  This is a boolean FDO expression.  Any features that pass this filter are styled using this rule's stylization.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointRuleType/Label

diagram |
type | TextSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Text FontName ForegroundColor BackgroundColor BackgroundStyle HorizontalAlignment VerticalAlignment Bold Italic Underlined AdvancedPlacement ExtendedData1
source |
    <xs:element name="Label" type="TextSymbolType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A label for the Rule.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointRuleType/PointSymbolization2D

diagram |
type | PointSymbolization2DType
children | Mark Image Font W2D Block ExtendedData1
source |
    <xs:element name="PointSymbolization2D" type="PointSymbolization2DType"/>

element PointRuleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType PointSymbolization2DType

diagram |
children | Mark Image Font W2D Block ExtendedData1
used by |
element | PointRuleType/PointSymbolization2D
source |
    <xs:complexType name="PointSymbolization2DType">
      <xs:annotation>
        <xs:documentation>The different types of point geometries.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:choice>
          <xs:element name="Mark" type="MarkSymbolType">
            <xs:annotation>
              <xs:documentation>A predefined shape such as a square or circle.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Image" type="ImageSymbolType">
            <xs:annotation>
              <xs:documentation>A raster or image symbol.  Note that these do not scale well, but sometimes this is all that you have.  Supported formats are application specific.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Font" type="FontSymbolType">
            <xs:annotation>
              <xs:documentation>A symbol specified using a font character.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="W2D" type="W2DSymbolType">
            <xs:annotation>
              <xs:documentation>A vector symbol defined using a W2D stream.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Block" type="BlockSymbolType">
            <xs:annotation>
              <xs:documentation>A vector symbol specifed from a block.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element PointSymbolization2DType/Mark

diagram |
type | MarkSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Shape Fill Edge ExtendedData1
source |
    <xs:element name="Mark" type="MarkSymbolType">
      <xs:annotation>
        <xs:documentation>A predefined shape such as a square or circle.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointSymbolization2DType/Image

diagram |
type | ImageSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Image Content ExtendedData1
source |
    <xs:element name="Image" type="ImageSymbolType">
      <xs:annotation>
        <xs:documentation>A raster or image symbol.  Note that these do not scale well, but sometimes this is all that you have.  Supported formats are application specific.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointSymbolization2DType/Font

diagram |
type | FontSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY FontName Character Bold Italic Underlined ForegroundColor ExtendedData1
source |
    <xs:element name="Font" type="FontSymbolType">
      <xs:annotation>
        <xs:documentation>A symbol specified using a font character.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointSymbolization2DType/W2D

diagram |
type | W2DSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY W2DSymbol FillColor LineColor TextColor ExtendedData1
source |
    <xs:element name="W2D" type="W2DSymbolType">
      <xs:annotation>
        <xs:documentation>A vector symbol defined using a W2D stream.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointSymbolization2DType/Block

diagram |
type | BlockSymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY DrawingName BlockName BlockColor LayerColor ExtendedData1
source |
    <xs:element name="Block" type="BlockSymbolType">
      <xs:annotation>
        <xs:documentation>A vector symbol specifed from a block.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointSymbolization2DType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType PointSymbolizationType

diagram |
source |
    <xs:complexType name="PointSymbolizationType">
      <xs:annotation>
        <xs:documentation>Base point symbolization type.</xs:documentation>
      </xs:annotation>
    </xs:complexType>

complexType PointTypeStyleType

diagram |
children | DisplayAsText AllowOverpost PointRule ShowInLegend ExtendedData1
used by |
element | VectorScaleRangeType/PointTypeStyle
source |
    <xs:complexType name="PointTypeStyleType">
      <xs:annotation>
        <xs:documentation>Style specification of a point geometry type.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="DisplayAsText" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Create a text layer.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AllowOverpost" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Allows labels from any map layer (including the current layer) to obscure features on the current layer.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PointRule" type="PointRuleType" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>One or more PointRules defining the PointTypeStyle.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element PointTypeStyleType/DisplayAsText

diagram |
type | xs:boolean
source |
    <xs:element name="DisplayAsText" type="xs:boolean">
      <xs:annotation>
        <xs:documentation>Create a text layer.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointTypeStyleType/AllowOverpost

diagram |
type | xs:boolean
source |
    <xs:element name="AllowOverpost" type="xs:boolean">
      <xs:annotation>
        <xs:documentation>Allows labels from any map layer (including the current layer) to obscure features on the current layer.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointTypeStyleType/PointRule

diagram |
type | PointRuleType
children | LegendLabel Filter Label PointSymbolization2D ExtendedData1
source |
    <xs:element name="PointRule" type="PointRuleType" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>One or more PointRules defining the PointTypeStyle.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointTypeStyleType/ShowInLegend

diagram |
type | xs:boolean
source |
    <xs:element name="ShowInLegend" type="xs:boolean" default="true" minOccurs="0"/>

element PointTypeStyleType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType StrokeType

diagram |
children | LineStyle Thickness Color Unit SizeContext ExtendedData1
used by |
elements | MarkSymbolType/Edge LineRuleType/LineSymbolization2D AreaSymbolizationFillType/Stroke
source |
    <xs:complexType name="StrokeType">
      <xs:annotation>
        <xs:documentation>Encapsulates the stylization of a line.
                </xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LineStyle" type="xs:string"/>
        <xs:element name="Thickness" type="xs:string"/>
        <xs:element name="Color" type="xs:string"/>
        <xs:element name="Unit" type="LengthUnitType">
          <xs:annotation>
            <xs:documentation>Unit of measurement that the thickness is specified in</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SizeContext" type="SizeContextType">
          <xs:annotation>
            <xs:documentation>Whether the sizes are with respect to the earth or the user's display device.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element StrokeType/LineStyle

diagram |
type | xs:string
source |
    <xs:element name="LineStyle" type="xs:string"/>

element StrokeType/Thickness

diagram |
type | xs:string
source |
    <xs:element name="Thickness" type="xs:string"/>

element StrokeType/Color

diagram |
type | xs:string
source |
    <xs:element name="Color" type="xs:string"/>

element StrokeType/Unit

diagram |
type | LengthUnitType
facets |
enumeration | Millimeters
enumeration | Centimeters
enumeration | Meters
enumeration | Kilometers
enumeration | Inches
enumeration | Feet
enumeration | Yards
enumeration | Miles
enumeration | Points
source |
    <xs:element name="Unit" type="LengthUnitType">
      <xs:annotation>
        <xs:documentation>Unit of measurement that the thickness is specified in</xs:documentation>
      </xs:annotation>
    </xs:element>

element StrokeType/SizeContext

diagram |
type | SizeContextType
facets |
enumeration | MappingUnits
enumeration | DeviceUnits
source |
    <xs:element name="SizeContext" type="SizeContextType">
      <xs:annotation>
        <xs:documentation>Whether the sizes are with respect to the earth or the user's display device.</xs:documentation>
      </xs:annotation>
    </xs:element>

element StrokeType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType SymbolInstance

diagram |
children | ResourceId SimpleSymbolDefinition CompoundSymbolDefinition ParameterOverrides ScaleX ScaleY InsertionOffsetX InsertionOffsetY SizeContext DrawLast CheckExclusionRegion AddToExclusionRegion PositioningAlgorithm RenderingPass UsageContext GeometryContext ExtendedData1
used by |
element | CompositeSymbolization/SymbolInstance
source |
    <xs:complexType name="SymbolInstance">
      <xs:annotation>
        <xs:documentation>An instance of a symbol.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:choice>
          <xs:element name="ResourceId" type="xs:string">
            <xs:annotation>
              <xs:documentation>A library reference to an existing SymbolDefinition, either simple or compound.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="SimpleSymbolDefinition" type="SimpleSymbolDefinition">
            <xs:annotation>
              <xs:documentation>An inlined SimpleSymbolDefinition.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="CompoundSymbolDefinition" type="CompoundSymbolDefinition">
            <xs:annotation>
              <xs:documentation>An inlined CompoundSymbolDefinition.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
        <xs:element name="ParameterOverrides" type="ParameterOverrides">
          <xs:annotation>
            <xs:documentation>Specifies all parameter overrides for this symbol instance.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ScaleX" type="xs:string" default="1.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The additional amount to scale the symbol horizontally in symbol space.  Defaults to 1 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ScaleY" type="xs:string" default="1.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The additional amount to scale the symbol vertically in symbol space.  Defaults to 1 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="InsertionOffsetX" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the additional amount to offset the symbol horizontally, in mm in device units, after scaling and rotation have been applied.  Applies only to point symbols.  Defaults to 0 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="InsertionOffsetY" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the additional amount to offset the symbol vertically, in mm in device units, after scaling and rotation have been applied.  Applies only to point symbols.  Defaults to 0 if not specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SizeContext" type="SizeContextType" default="DeviceUnits" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies whether the symbol sizes are with respect to the map or the user's display device.  Defaults to device units.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DrawLast" type="xs:string" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Boolean value which specifies whether the symbol is drawn as part of a final rendering pass (e.g. for labeling).  This must evaluate to True or False (default).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CheckExclusionRegion" type="xs:string" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Boolean value which specifies whether to render this symbol only if its graphical extent does not overlap the exclusion region.  If the positioning algorithm generates multiple candidate symbol positions and this setting is True, then only the first non-overlapping candidate is rendered.  This must evaluate to True or False (default).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AddToExclusionRegion" type="xs:string" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Boolean value which specifies whether the graphical extent for this symbol instance is added to the exclusion region (if it is rendered).  Symbols which check the exclusion region will not draw on top of this symbol.  This must evaluate to True or False (default).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PositioningAlgorithm" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the algorithm used to generate candidate positions for the symbol.  If specified this must evaluate to one of: Default, EightSurrounding, or PathLabels.  Default means generate one position using the feature geometry (used for normal rendering).  EightSurrounding means generate eight candidate labels surrounding the feature geometry (used when labeling point features).  PathLabels means generate periodic labels which follow the feature geometry (used when labeling linestring features).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RenderingPass" type="xs:string" default="0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The optional rendering pass in which this symbol instance draws.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="UsageContext" type="UsageContextType" default="Unspecified" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies which usage in the symbol should be the active one.  Defaults to Unspecified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="GeometryContext" type="GeometryContextType" default="Unspecified" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies which geometry type this symbol instance applies to.  Defaults to Unspecified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element SymbolInstance/ResourceId

diagram |
type | xs:string
source |
    <xs:element name="ResourceId" type="xs:string">
      <xs:annotation>
        <xs:documentation>A library reference to an existing SymbolDefinition, either simple or compound.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/SimpleSymbolDefinition

diagram |
type | SimpleSymbolDefinition
children | Name Description Graphics ResizeBox PointUsage LineUsage AreaUsage ParameterDefinition ExtendedData1
source |
    <xs:element name="SimpleSymbolDefinition" type="SimpleSymbolDefinition">
      <xs:annotation>
        <xs:documentation>An inlined SimpleSymbolDefinition.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/CompoundSymbolDefinition

diagram |
type | CompoundSymbolDefinition
children | Name Description SimpleSymbol ExtendedData1
source |
    <xs:element name="CompoundSymbolDefinition" type="CompoundSymbolDefinition">
      <xs:annotation>
        <xs:documentation>An inlined CompoundSymbolDefinition.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/ParameterOverrides

diagram |
type | ParameterOverrides
children | Override ExtendedData1
source |
    <xs:element name="ParameterOverrides" type="ParameterOverrides">
      <xs:annotation>
        <xs:documentation>Specifies all parameter overrides for this symbol instance.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/ScaleX

diagram |
type | xs:string
source |
    <xs:element name="ScaleX" type="xs:string" default="1.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The additional amount to scale the symbol horizontally in symbol space.  Defaults to 1 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/ScaleY

diagram |
type | xs:string
source |
    <xs:element name="ScaleY" type="xs:string" default="1.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The additional amount to scale the symbol vertically in symbol space.  Defaults to 1 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/InsertionOffsetX

diagram |
type | xs:string
source |
    <xs:element name="InsertionOffsetX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the additional amount to offset the symbol horizontally, in mm in device units, after scaling and rotation have been applied.  Applies only to point symbols.  Defaults to 0 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/InsertionOffsetY

diagram |
type | xs:string
source |
    <xs:element name="InsertionOffsetY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the additional amount to offset the symbol vertically, in mm in device units, after scaling and rotation have been applied.  Applies only to point symbols.  Defaults to 0 if not specified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/SizeContext

diagram |
type | SizeContextType
facets |
enumeration | MappingUnits
enumeration | DeviceUnits
source |
    <xs:element name="SizeContext" type="SizeContextType" default="DeviceUnits" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies whether the symbol sizes are with respect to the map or the user's display device.  Defaults to device units.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/DrawLast

diagram |
type | xs:string
source |
    <xs:element name="DrawLast" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Boolean value which specifies whether the symbol is drawn as part of a final rendering pass (e.g. for labeling).  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/CheckExclusionRegion

diagram |
type | xs:string
source |
    <xs:element name="CheckExclusionRegion" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Boolean value which specifies whether to render this symbol only if its graphical extent does not overlap the exclusion region.  If the positioning algorithm generates multiple candidate symbol positions and this setting is True, then only the first non-overlapping candidate is rendered.  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/AddToExclusionRegion

diagram |
type | xs:string
source |
    <xs:element name="AddToExclusionRegion" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Boolean value which specifies whether the graphical extent for this symbol instance is added to the exclusion region (if it is rendered).  Symbols which check the exclusion region will not draw on top of this symbol.  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/PositioningAlgorithm

diagram |
type | xs:string
source |
    <xs:element name="PositioningAlgorithm" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the algorithm used to generate candidate positions for the symbol.  If specified this must evaluate to one of: Default, EightSurrounding, or PathLabels.  Default means generate one position using the feature geometry (used for normal rendering).  EightSurrounding means generate eight candidate labels surrounding the feature geometry (used when labeling point features).  PathLabels means generate periodic labels which follow the feature geometry (used when labeling linestring features).</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/RenderingPass

diagram |
type | xs:string
source |
    <xs:element name="RenderingPass" type="xs:string" default="0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The optional rendering pass in which this symbol instance draws.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/UsageContext

diagram |
type | UsageContextType
facets |
enumeration | Unspecified
enumeration | Point
enumeration | Line
enumeration | Area
source |
    <xs:element name="UsageContext" type="UsageContextType" default="Unspecified" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies which usage in the symbol should be the active one.  Defaults to Unspecified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/GeometryContext

diagram |
type | GeometryContextType
facets |
enumeration | Unspecified
enumeration | Point
enumeration | LineString
enumeration | Polygon
source |
    <xs:element name="GeometryContext" type="GeometryContextType" default="Unspecified" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies which geometry type this symbol instance applies to.  Defaults to Unspecified.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolInstance/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType SymbolType

diagram |
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY
used by |
complexTypes | BlockSymbolType FontSymbolType ImageSymbolType MarkSymbolType TextSymbolType W2DSymbolType
source |
    <xs:complexType name="SymbolType">
      <xs:annotation>
        <xs:documentation>Defines common properties for all symbols.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Unit" type="LengthUnitType">
          <xs:annotation>
            <xs:documentation>The units that the sizes are specified in.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SizeContext" type="SizeContextType">
          <xs:annotation>
            <xs:documentation>Whether the sizes are with respect to the earth or the user's display device.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SizeX" type="xs:string">
          <xs:annotation>
            <xs:documentation>Width of the symbol.  This is a double FDO expression.  Does not apply to font symbols.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SizeY" type="xs:string">
          <xs:annotation>
            <xs:documentation>Height of the symbol.  This is a double FDO expression.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Rotation" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Amount to rotate the symbol in degrees.  This is a double FDO expression.  Does not apply to line labels.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="MaintainAspect" type="xs:boolean" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Hint for the UI only.  When the user enters a constant size for the width or height, the other dimension should be adjusted accordingly.  Does not apply to font symbols or labels.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="InsertionPointX" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>X offset for the symbol specified in symbol space.  Does not apply to labels.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="InsertionPointY" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Y offset for the symbol specified in symbol space.  Does not apply to labels.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

element SymbolType/Unit

diagram |
type | LengthUnitType
facets |
enumeration | Millimeters
enumeration | Centimeters
enumeration | Meters
enumeration | Kilometers
enumeration | Inches
enumeration | Feet
enumeration | Yards
enumeration | Miles
enumeration | Points
source |
    <xs:element name="Unit" type="LengthUnitType">
      <xs:annotation>
        <xs:documentation>The units that the sizes are specified in.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/SizeContext

diagram |
type | SizeContextType
facets |
enumeration | MappingUnits
enumeration | DeviceUnits
source |
    <xs:element name="SizeContext" type="SizeContextType">
      <xs:annotation>
        <xs:documentation>Whether the sizes are with respect to the earth or the user's display device.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/SizeX

diagram |
type | xs:string
source |
    <xs:element name="SizeX" type="xs:string">
      <xs:annotation>
        <xs:documentation>Width of the symbol.  This is a double FDO expression.  Does not apply to font symbols.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/SizeY

diagram |
type | xs:string
source |
    <xs:element name="SizeY" type="xs:string">
      <xs:annotation>
        <xs:documentation>Height of the symbol.  This is a double FDO expression.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/Rotation

diagram |
type | xs:string
source |
    <xs:element name="Rotation" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Amount to rotate the symbol in degrees.  This is a double FDO expression.  Does not apply to line labels.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/MaintainAspect

diagram |
type | xs:boolean
source |
    <xs:element name="MaintainAspect" type="xs:boolean" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Hint for the UI only.  When the user enters a constant size for the width or height, the other dimension should be adjusted accordingly.  Does not apply to font symbols or labels.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/InsertionPointX

diagram |
type | xs:string
source |
    <xs:element name="InsertionPointX" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>X offset for the symbol specified in symbol space.  Does not apply to labels.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolType/InsertionPointY

diagram |
type | xs:double
source |
    <xs:element name="InsertionPointY" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Y offset for the symbol specified in symbol space.  Does not apply to labels.</xs:documentation>
      </xs:annotation>
    </xs:element>

complexType TextSymbolType

diagram |
type | extension of SymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY Text FontName ForegroundColor BackgroundColor BackgroundStyle HorizontalAlignment VerticalAlignment Bold Italic Underlined AdvancedPlacement ExtendedData1
used by |
elements | PointRuleType/Label LineRuleType/Label AreaRuleType/Label GridColorRuleType/Label
source |
    <xs:complexType name="TextSymbolType">
      <xs:annotation>
        <xs:documentation>Encapsulates the text label stylization used to label features, and for FontSymbols.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolType">
          <xs:sequence>
            <xs:element name="Text" type="xs:string">
              <xs:annotation>
                <xs:documentation>The text of the TextSymbol.  This is a string FDO expression.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="FontName" type="xs:string">
              <xs:annotation>
                <xs:documentation>The font to use.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ForegroundColor" type="xs:string">
              <xs:annotation>
                <xs:documentation>The color of the text.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="BackgroundColor" type="xs:string">
              <xs:annotation>
                <xs:documentation>The text background color.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="BackgroundStyle" type="BackgroundStyleType">
              <xs:annotation>
                <xs:documentation>The background style</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="HorizontalAlignment" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>A string FDO expression for the horizontal alignment.  Must evaluate to one of the HorizontalAlignmentType enums.  Only applicable to text styles.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="VerticalAlignment" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>A string FDO expression for the vertical alignment.  Must evaluate to one of the VerticalAlignmentType enums.  Only applicable to text and line styles.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Bold" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the label should be in a bold font.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Italic" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the font should be italicized.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Underlined" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the text should be underlined.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="AdvancedPlacement" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Optional element which specifies that a more advanced labeling algorithm should be used with the AJAX viewer.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ScaleLimit" type="xs:double" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>The maximum amount any label is allowed to shrink in order to fit into the feature.  For example, 0.8 means that the label can shrink until it is 80% of the original size.  1.0 means that the label cannot shrink.  If not specified, the application should assume 1.0.  If set to 0.0 or less then the advanced placement option is disabled.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element TextSymbolType/Text

diagram |
type | xs:string
source |
    <xs:element name="Text" type="xs:string">
      <xs:annotation>
        <xs:documentation>The text of the TextSymbol.  This is a string FDO expression.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/FontName

diagram |
type | xs:string
source |
    <xs:element name="FontName" type="xs:string">
      <xs:annotation>
        <xs:documentation>The font to use.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/ForegroundColor

diagram |
type | xs:string
source |
    <xs:element name="ForegroundColor" type="xs:string">
      <xs:annotation>
        <xs:documentation>The color of the text.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/BackgroundColor

diagram |
type | xs:string
source |
    <xs:element name="BackgroundColor" type="xs:string">
      <xs:annotation>
        <xs:documentation>The text background color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/BackgroundStyle

diagram |
type | BackgroundStyleType
facets |
enumeration | Transparent
enumeration | Opaque
enumeration | Ghosted
source |
    <xs:element name="BackgroundStyle" type="BackgroundStyleType">
      <xs:annotation>
        <xs:documentation>The background style</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/HorizontalAlignment

diagram |
type | xs:string
source |
    <xs:element name="HorizontalAlignment" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A string FDO expression for the horizontal alignment.  Must evaluate to one of the HorizontalAlignmentType enums.  Only applicable to text styles.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/VerticalAlignment

diagram |
type | xs:string
source |
    <xs:element name="VerticalAlignment" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A string FDO expression for the vertical alignment.  Must evaluate to one of the VerticalAlignmentType enums.  Only applicable to text and line styles.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/Bold

diagram |
type | xs:string
source |
    <xs:element name="Bold" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the label should be in a bold font.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/Italic

diagram |
type | xs:string
source |
    <xs:element name="Italic" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the font should be italicized.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/Underlined

diagram |
type | xs:string
source |
    <xs:element name="Underlined" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the text should be underlined.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/AdvancedPlacement

diagram |
children | ScaleLimit
source |
    <xs:element name="AdvancedPlacement" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Optional element which specifies that a more advanced labeling algorithm should be used with the AJAX viewer.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:sequence>
          <xs:element name="ScaleLimit" type="xs:double" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The maximum amount any label is allowed to shrink in order to fit into the feature.  For example, 0.8 means that the label can shrink until it is 80% of the original size.  1.0 means that the label cannot shrink.  If not specified, the application should assume 1.0.  If set to 0.0 or less then the advanced placement option is disabled.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>

element TextSymbolType/AdvancedPlacement/ScaleLimit

diagram |
type | xs:double
source |
    <xs:element name="ScaleLimit" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The maximum amount any label is allowed to shrink in order to fit into the feature.  For example, 0.8 means that the label can shrink until it is 80% of the original size.  1.0 means that the label cannot shrink.  If not specified, the application should assume 1.0.  If set to 0.0 or less then the advanced placement option is disabled.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextSymbolType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ThemeLabel

diagram |
children | Description CategoryFormat ExtendedData1
used by |
element | Override/ThemeLabel
source |
    <xs:complexType name="ThemeLabel">
      <xs:annotation>
        <xs:documentation>Provides legend labeling information for a theme.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Description" type="xs:string">
          <xs:annotation>
            <xs:documentation>The legend description for the theme.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CategoryFormat" type="xs:string">
          <xs:annotation>
            <xs:documentation>The default legend format to use for each category in the theme.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element ThemeLabel/Description

diagram |
type | xs:string
source |
    <xs:element name="Description" type="xs:string">
      <xs:annotation>
        <xs:documentation>The legend description for the theme.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ThemeLabel/CategoryFormat

diagram |
type | xs:string
source |
    <xs:element name="CategoryFormat" type="xs:string">
      <xs:annotation>
        <xs:documentation>The default legend format to use for each category in the theme.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ThemeLabel/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType VectorLayerDefinitionType

diagram |
type | extension of BaseLayerDefinitionType
children | ResourceId Opacity FeatureName FeatureNameType Filter PropertyMapping Geometry Url ToolTip VectorScaleRange ExtendedData1
used by |
element | LayerDefinitionType/VectorLayerDefinition
source |
    <xs:complexType name="VectorLayerDefinitionType">
      <xs:annotation>
        <xs:documentation>A layer with a vector data source; and stylization specification for the datum's geometry types.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="BaseLayerDefinitionType">
          <xs:sequence>
            <xs:element name="FeatureName" type="xs:string">
              <xs:annotation>
                <xs:documentation>Either a feature class or named extension.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="FeatureNameType" type="FeatureNameType"/>
            <xs:element name="Filter" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>A boolean FDO expression that specifies which features to return.  No filter means pass all features through.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PropertyMapping" type="NameStringPairType" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>Specifies which properties to expose to the user and its corresponding friendly name.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Geometry" type="xs:string">
              <xs:annotation>
                <xs:documentation>Specifies the geometry property that should be used to get the geometries.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Url" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>An optional URL associated with each feature.  This is a string FDO expression.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ToolTip" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The text to put into the tooltip for displayed features.  This is a string FDO expression.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="VectorScaleRange" type="VectorScaleRangeType" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>The stylization to be applied to the features for a given scale range.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element VectorLayerDefinitionType/FeatureName

diagram |
type | xs:string
source |
    <xs:element name="FeatureName" type="xs:string">
      <xs:annotation>
        <xs:documentation>Either a feature class or named extension.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/FeatureNameType

diagram |
type | FeatureNameType
facets |
enumeration | FeatureClass
enumeration | NamedExtension
source |
    <xs:element name="FeatureNameType" type="FeatureNameType"/>

element VectorLayerDefinitionType/Filter

diagram |
type | xs:string
source |
    <xs:element name="Filter" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A boolean FDO expression that specifies which features to return.  No filter means pass all features through.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/PropertyMapping

diagram |
type | NameStringPairType
children | Name Value ExtendedData1
source |
    <xs:element name="PropertyMapping" type="NameStringPairType" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Specifies which properties to expose to the user and its corresponding friendly name.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/Geometry

diagram |
type | xs:string
source |
    <xs:element name="Geometry" type="xs:string">
      <xs:annotation>
        <xs:documentation>Specifies the geometry property that should be used to get the geometries.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/Url

diagram |
type | xs:string
source |
    <xs:element name="Url" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>An optional URL associated with each feature.  This is a string FDO expression.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/ToolTip

diagram |
type | xs:string
source |
    <xs:element name="ToolTip" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The text to put into the tooltip for displayed features.  This is a string FDO expression.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/VectorScaleRange

diagram |
type | VectorScaleRangeType
children | MinScale MaxScale AreaTypeStyle LineTypeStyle PointTypeStyle CompositeTypeStyle ElevationSettings ExtendedData1
source |
    <xs:element name="VectorScaleRange" type="VectorScaleRangeType" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>The stylization to be applied to the features for a given scale range.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorLayerDefinitionType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType VectorScaleRangeType

diagram |
children | MinScale MaxScale AreaTypeStyle LineTypeStyle PointTypeStyle CompositeTypeStyle ElevationSettings ExtendedData1
used by |
element | VectorLayerDefinitionType/VectorScaleRange
source |
    <xs:complexType name="VectorScaleRangeType">
      <xs:annotation>
        <xs:documentation>The stylization to be applied to the vector features for a given scale range.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="MinScale" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The zoomed in part of the scale range.  Defaults to 0 if not specified.  Inclusive.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="MaxScale" type="xs:double" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The zoomed out part of the scale range.  Defaults to the application's maximum value if not specified.  Exclusive.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Note that where there is no style specified for a particular geometry type a default styling should be used.</xs:documentation>
          </xs:annotation>
          <xs:element name="AreaTypeStyle" type="AreaTypeStyleType">
            <xs:annotation>
              <xs:documentation>Style specification of a polygon geometry type.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="LineTypeStyle" type="LineTypeStyleType">
            <xs:annotation>
              <xs:documentation>Style specification of a line geometry type.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="PointTypeStyle" type="PointTypeStyleType">
            <xs:annotation>
              <xs:documentation>Style specification of a point geometry type.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="CompositeTypeStyle" type="CompositeTypeStyle">
            <xs:annotation>
              <xs:documentation>A composite style definition.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
        <xs:element name="ElevationSettings" type="ElevationSettingsType" minOccurs="0"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element VectorScaleRangeType/MinScale

diagram |
type | xs:double
source |
    <xs:element name="MinScale" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The zoomed in part of the scale range.  Defaults to 0 if not specified.  Inclusive.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorScaleRangeType/MaxScale

diagram |
type | xs:double
source |
    <xs:element name="MaxScale" type="xs:double" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The zoomed out part of the scale range.  Defaults to the application's maximum value if not specified.  Exclusive.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorScaleRangeType/AreaTypeStyle

diagram |
type | AreaTypeStyleType
children | AreaRule ShowInLegend ExtendedData1
source |
    <xs:element name="AreaTypeStyle" type="AreaTypeStyleType">
      <xs:annotation>
        <xs:documentation>Style specification of a polygon geometry type.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorScaleRangeType/LineTypeStyle

diagram |
type | LineTypeStyleType
children | LineRule ShowInLegend ExtendedData1
source |
    <xs:element name="LineTypeStyle" type="LineTypeStyleType">
      <xs:annotation>
        <xs:documentation>Style specification of a line geometry type.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorScaleRangeType/PointTypeStyle

diagram |
type | PointTypeStyleType
children | DisplayAsText AllowOverpost PointRule ShowInLegend ExtendedData1
source |
    <xs:element name="PointTypeStyle" type="PointTypeStyleType">
      <xs:annotation>
        <xs:documentation>Style specification of a point geometry type.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorScaleRangeType/CompositeTypeStyle

diagram |
type | CompositeTypeStyle
children | CompositeRule ShowInLegend ExtendedData1
source |
    <xs:element name="CompositeTypeStyle" type="CompositeTypeStyle">
      <xs:annotation>
        <xs:documentation>A composite style definition.</xs:documentation>
      </xs:annotation>
    </xs:element>

element VectorScaleRangeType/ElevationSettings

diagram |
type | ElevationSettingsType
children | ZOffset ZExtrusion ZOffsetType Unit ExtendedData1
source |
    <xs:element name="ElevationSettings" type="ElevationSettingsType" minOccurs="0"/>

element VectorScaleRangeType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType W2DSymbolType

diagram |
type | extension of SymbolType
children | Unit SizeContext SizeX SizeY Rotation MaintainAspect InsertionPointX InsertionPointY W2DSymbol FillColor LineColor TextColor ExtendedData1
used by |
element | PointSymbolization2DType/W2D
source |
    <xs:complexType name="W2DSymbolType">
      <xs:annotation>
        <xs:documentation>A symbol using a W2D stream.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolType">
          <xs:sequence>
            <xs:element name="W2DSymbol">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ResourceId">
                    <xs:annotation>
                      <xs:documentation>The reference to the symbol library.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="LibraryItemName">
                    <xs:annotation>
                      <xs:documentation>The W2D stream in the symbol library.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="FillColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>If specified all polygon fills in the symbol are drawn in this color.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>If specified all lines in the symbol are drawn in this color.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="TextColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>If specified all text in the symbol is drawn in this color.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element W2DSymbolType/W2DSymbol

diagram |
children | ResourceId LibraryItemName
source |
    <xs:element name="W2DSymbol">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="ResourceId">
            <xs:annotation>
              <xs:documentation>The reference to the symbol library.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="LibraryItemName">
            <xs:annotation>
              <xs:documentation>The W2D stream in the symbol library.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>

element W2DSymbolType/W2DSymbol/ResourceId

diagram |
source |
    <xs:element name="ResourceId">
      <xs:annotation>
        <xs:documentation>The reference to the symbol library.</xs:documentation>
      </xs:annotation>
    </xs:element>

element W2DSymbolType/W2DSymbol/LibraryItemName

diagram |
source |
    <xs:element name="LibraryItemName">
      <xs:annotation>
        <xs:documentation>The W2D stream in the symbol library.</xs:documentation>
      </xs:annotation>
    </xs:element>

element W2DSymbolType/FillColor

diagram |
type | xs:string
source |
    <xs:element name="FillColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If specified all polygon fills in the symbol are drawn in this color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element W2DSymbolType/LineColor

diagram |
type | xs:string
source |
    <xs:element name="LineColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If specified all lines in the symbol are drawn in this color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element W2DSymbolType/TextColor

diagram |
type | xs:string
source |
    <xs:element name="TextColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If specified all text in the symbol is drawn in this color.</xs:documentation>
      </xs:annotation>
    </xs:element>

element W2DSymbolType/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

simpleType BackgroundStyleType

type | restriction of xs:string
used by |
element | TextSymbolType/BackgroundStyle
facets |
enumeration | Transparent
enumeration | Opaque
enumeration | Ghosted
source |
    <xs:simpleType name="BackgroundStyleType">
      <xs:annotation>
        <xs:documentation>The possible background styles of a TextSymbol.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Transparent"/>
        <xs:enumeration value="Opaque"/>
        <xs:enumeration value="Ghosted"/>
      </xs:restriction>
    </xs:simpleType>

simpleType ElevationTypeType

type | restriction of xs:string
used by |
element | ElevationSettingsType/ZOffsetType
facets |
enumeration | RelativeToGround
enumeration | Absolute
source |
    <xs:simpleType name="ElevationTypeType">
      <xs:annotation>
        <xs:documentation>The possible interpretations of a z offset value.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="RelativeToGround"/>
        <xs:enumeration value="Absolute"/>
      </xs:restriction>
    </xs:simpleType>

simpleType FeatureNameType

type | restriction of xs:string
used by |
element | VectorLayerDefinitionType/FeatureNameType
facets |
enumeration | FeatureClass
enumeration | NamedExtension
source |
    <xs:simpleType name="FeatureNameType">
      <xs:annotation>
        <xs:documentation>Enumeration describing whether the features are coming from a feature class or named extension</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="FeatureClass"/>
        <xs:enumeration value="NamedExtension"/>
      </xs:restriction>
    </xs:simpleType>

simpleType GeometryContextType

type | restriction of xs:string
used by |
element | SymbolInstance/GeometryContext
facets |
enumeration | Unspecified
enumeration | Point
enumeration | LineString
enumeration | Polygon
source |
    <xs:simpleType name="GeometryContextType">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed GeometryContext values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Unspecified"/>
        <xs:enumeration value="Point"/>
        <xs:enumeration value="LineString"/>
        <xs:enumeration value="Polygon"/>
      </xs:restriction>
    </xs:simpleType>

simpleType LengthUnitType

type | restriction of xs:string
used by |
elements | ElevationSettingsType/Unit StrokeType/Unit SymbolType/Unit
facets |
enumeration | Millimeters
enumeration | Centimeters
enumeration | Meters
enumeration | Kilometers
enumeration | Inches
enumeration | Feet
enumeration | Yards
enumeration | Miles
enumeration | Points
source |
    <xs:simpleType name="LengthUnitType">
      <xs:annotation>
        <xs:documentation>The measurement units that linear sizes are specified in.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Millimeters"/>
        <xs:enumeration value="Centimeters"/>
        <xs:enumeration value="Meters"/>
        <xs:enumeration value="Kilometers"/>
        <xs:enumeration value="Inches"/>
        <xs:enumeration value="Feet"/>
        <xs:enumeration value="Yards"/>
        <xs:enumeration value="Miles"/>
        <xs:enumeration value="Points"/>
      </xs:restriction>
    </xs:simpleType>

simpleType ShapeType

type | restriction of xs:string
used by |
element | MarkSymbolType/Shape
facets |
enumeration | Square
enumeration | Circle
enumeration | Triangle
enumeration | Star
enumeration | Cross
enumeration | X
source |
    <xs:simpleType name="ShapeType">
      <xs:annotation>
        <xs:documentation>SLD supports square, circle, triangle, star, cross, and X.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Square"/>
        <xs:enumeration value="Circle"/>
        <xs:enumeration value="Triangle"/>
        <xs:enumeration value="Star"/>
        <xs:enumeration value="Cross"/>
        <xs:enumeration value="X"/>
      </xs:restriction>
    </xs:simpleType>

simpleType SizeContextType

type | restriction of xs:string
used by |
elements | StrokeType/SizeContext SymbolType/SizeContext SymbolInstance/SizeContext
facets |
enumeration | MappingUnits
enumeration | DeviceUnits
source |
    <xs:simpleType name="SizeContextType">
      <xs:annotation>
        <xs:documentation>Whether the sizes are specified as sizes on the earth or on the user's display device.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="MappingUnits"/>
        <xs:enumeration value="DeviceUnits"/>
      </xs:restriction>
    </xs:simpleType>

simpleType UsageContextType

type | restriction of xs:string
used by |
element | SymbolInstance/UsageContext
facets |
enumeration | Unspecified
enumeration | Point
enumeration | Line
enumeration | Area
source |
    <xs:simpleType name="UsageContextType">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed UsageContext values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Unspecified"/>
        <xs:enumeration value="Point"/>
        <xs:enumeration value="Line"/>
        <xs:enumeration value="Area"/>
      </xs:restriction>
    </xs:simpleType>

element CompoundSymbolDefinition

diagram |
type | extension of CompoundSymbolDefinition
children | Name Description SimpleSymbol ExtendedData1
attributes |
Name | Type | Use | Default | Fixed
version | xs:string | required |  | 1.1.0
source |
    <xs:element name="CompoundSymbolDefinition">
      <xs:annotation>
        <xs:documentation>A 2D compound symbol for stylization.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:complexContent>
          <xs:extension base="CompoundSymbolDefinition">
            <xs:attribute name="version" type="xs:string" use="required" fixed="1.1.0"/>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
    </xs:element>

element SimpleSymbolDefinition

diagram |
type | extension of SimpleSymbolDefinition
children | Name Description Graphics ResizeBox PointUsage LineUsage AreaUsage ParameterDefinition ExtendedData1
attributes |
Name | Type | Use | Default | Fixed
version | xs:string | required |  | 1.1.0
source |
    <xs:element name="SimpleSymbolDefinition">
      <xs:annotation>
        <xs:documentation>A 2D simple symbol for stylization.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
        <xs:complexContent>
          <xs:extension base="SimpleSymbolDefinition">
            <xs:attribute name="version" type="xs:string" use="required" fixed="1.1.0"/>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
    </xs:element>

complexType AreaUsage

diagram |
children | AngleControl OriginControl ClippingControl Angle OriginX OriginY RepeatX RepeatY BufferWidth ExtendedData1
used by |
element | SimpleSymbolDefinition/AreaUsage
source |
    <xs:complexType name="AreaUsage">
      <xs:annotation>
        <xs:documentation>Specifies how a symbol is used in the context of area features.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="AngleControl" type="xs:string" default="'FromAngle'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies how the symbol angle is defined.  This must evaluate to one of: FromAngle (default) or FromGeometry.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OriginControl" type="xs:string" default="'Global'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies how the symbol grid origin is defined.  This must evaluate to one of: Global (default), Local, or Centroid.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ClippingControl" type="xs:string" default="'Clip'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the clipping behavior of the symbol at polygon boundaries.  This must evaluate to one of: Clip (default), Inside, or Overlap.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the angle of each repeating symbol, in degrees.  If AngleControl evaluates to FromAngle then this specifies the absolute angle of the symbol.  If AngleControl evaluates to FromGeometry then this specifies the symbol angle relative to the geometry.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OriginX" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The x-coordinate of the symbol grid origin, in mm.  Only applies if OriginControl evaluates to Global or Local.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OriginY" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The y-coordinate of the symbol grid origin, in mm.  Only applies if OriginControl evaluates to Global or Local.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RepeatX" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The horizontal separation between symbols, in mm.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RepeatY" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The vertical separation between symbols, in mm.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="BufferWidth" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The width, in mm, of the buffer zone relative to the polygon boundary in which the symbol is rendered.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element AreaUsage/AngleControl

diagram |
type | xs:string
source |
    <xs:element name="AngleControl" type="xs:string" default="'FromAngle'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol angle is defined.  This must evaluate to one of: FromAngle (default) or FromGeometry.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/OriginControl

diagram |
type | xs:string
source |
    <xs:element name="OriginControl" type="xs:string" default="'Global'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol grid origin is defined.  This must evaluate to one of: Global (default), Local, or Centroid.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/ClippingControl

diagram |
type | xs:string
source |
    <xs:element name="ClippingControl" type="xs:string" default="'Clip'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the clipping behavior of the symbol at polygon boundaries.  This must evaluate to one of: Clip (default), Inside, or Overlap.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/Angle

diagram |
type | xs:string
source |
    <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the angle of each repeating symbol, in degrees.  If AngleControl evaluates to FromAngle then this specifies the absolute angle of the symbol.  If AngleControl evaluates to FromGeometry then this specifies the symbol angle relative to the geometry.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/OriginX

diagram |
type | xs:string
source |
    <xs:element name="OriginX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The x-coordinate of the symbol grid origin, in mm.  Only applies if OriginControl evaluates to Global or Local.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/OriginY

diagram |
type | xs:string
source |
    <xs:element name="OriginY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The y-coordinate of the symbol grid origin, in mm.  Only applies if OriginControl evaluates to Global or Local.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/RepeatX

diagram |
type | xs:string
source |
    <xs:element name="RepeatX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The horizontal separation between symbols, in mm.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/RepeatY

diagram |
type | xs:string
source |
    <xs:element name="RepeatY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The vertical separation between symbols, in mm.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/BufferWidth

diagram |
type | xs:string
source |
    <xs:element name="BufferWidth" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The width, in mm, of the buffer zone relative to the polygon boundary in which the symbol is rendered.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element AreaUsage/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType CompoundSymbolDefinition

diagram |
type | extension of SymbolDefinitionBase
children | Name Description SimpleSymbol ExtendedData1
used by |
elements | CompoundSymbolDefinition SymbolInstance/CompoundSymbolDefinition
source |
    <xs:complexType name="CompoundSymbolDefinition">
      <xs:annotation>
        <xs:documentation>A symbol definition specified using a collection of SimpleSymbolDefinition elements or references.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolDefinitionBase">
          <xs:sequence>
            <xs:element name="SimpleSymbol" type="SimpleSymbol" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element CompoundSymbolDefinition/SimpleSymbol

diagram |
type | SimpleSymbol
children | SimpleSymbolDefinition ResourceId RenderingPass ExtendedData1
source |
    <xs:element name="SimpleSymbol" type="SimpleSymbol" minOccurs="0" maxOccurs="unbounded"/>

element CompoundSymbolDefinition/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType GraphicBase

diagram |
children | ResizeControl
used by |
complexTypes | Image Path Text
source |
    <xs:complexType name="GraphicBase">
      <xs:annotation>
        <xs:documentation>Base type used with all graphic elements.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="ResizeControl" type="xs:string" default="'ResizeNone'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies how this graphic element interacts with the resize box.  This must evaluate to one of: ResizeNone (default), AddToResizeBox, or AdjustToResizeBox.  AddToResizeBox means the element's graphical extent is added to the resize box, but the element is not resized or repositioned if the resize box grows.  AdjustToResizeBox means the element is resized and repositioned relative to the resize box, but its extent is not added to the box.  ResizeNone means the element does not interact with the resize box.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

element GraphicBase/ResizeControl

diagram |
type | xs:string
source |
    <xs:element name="ResizeControl" type="xs:string" default="'ResizeNone'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how this graphic element interacts with the resize box.  This must evaluate to one of: ResizeNone (default), AddToResizeBox, or AdjustToResizeBox.  AddToResizeBox means the element's graphical extent is added to the resize box, but the element is not resized or repositioned if the resize box grows.  AdjustToResizeBox means the element is resized and repositioned relative to the resize box, but its extent is not added to the box.  ResizeNone means the element does not interact with the resize box.</xs:documentation>
      </xs:annotation>
    </xs:element>

complexType Graphics

diagram |
children | Path Image Text
used by |
element | SimpleSymbolDefinition/Graphics
source |
    <xs:complexType name="Graphics">
      <xs:annotation>
        <xs:documentation>A collection of graphic elements.</xs:documentation>
      </xs:annotation>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Path" type="Path"/>
        <xs:element name="Image" type="Image"/>
        <xs:element name="Text" type="Text"/>
      </xs:choice>
    </xs:complexType>

element Graphics/Path

diagram |
type | Path
children | ResizeControl Geometry FillColor LineColor LineWeight LineWeightScalable LineCap LineJoin LineMiterLimit ExtendedData1
source |
    <xs:element name="Path" type="Path"/>

element Graphics/Image

diagram |
type | Image
children | ResizeControl Content Reference SizeX SizeY SizeScalable Angle PositionX PositionY ExtendedData1
source |
    <xs:element name="Image" type="Image"/>

element Graphics/Text

diagram |
type | Text
children | ResizeControl Content FontName Bold Italic Underlined Overlined ObliqueAngle TrackSpacing Height HeightScalable Angle PositionX PositionY HorizontalAlignment VerticalAlignment Justification LineSpacing TextColor GhostColor Frame Markup ExtendedData1
source |
    <xs:element name="Text" type="Text"/>

complexType Image

diagram |
type | extension of GraphicBase
children | ResizeControl Content Reference SizeX SizeY SizeScalable Angle PositionX PositionY ExtendedData1
used by |
element | Graphics/Image
source |
    <xs:complexType name="Image">
      <xs:annotation>
        <xs:documentation>An image to include in the symbol definition.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="GraphicBase">
          <xs:sequence>
            <xs:choice>
              <xs:element name="Content" type="xs:base64Binary">
                <xs:annotation>
                  <xs:documentation>An embedded PNG image stored using base64 binary.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Reference" type="ImageReference">
                <xs:annotation>
                  <xs:documentation>A library reference to a PNG image.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:choice>
            <xs:element name="SizeX" type="xs:string" default="1.0">
              <xs:annotation>
                <xs:documentation>The width of the image, in mm.  This must be greater than zero.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="SizeY" type="xs:string" default="1.0">
              <xs:annotation>
                <xs:documentation>The height of the image, in mm.  This must be greater than zero.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="SizeScalable" type="xs:string" default="true" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Boolean value which specifies whether the image sizes scale with the symbol.  This behavior is independent of the symbol's size context.  This must evaluate to True (default) or False.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The angle of the image in symbol space, in degrees.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PositionX" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The x-coordinate of the image center in symbol space, in mm.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PositionY" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The y-coordinate of the image center in symbol space, in mm.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element Image/Content

diagram |
type | xs:base64Binary
source |
    <xs:element name="Content" type="xs:base64Binary">
      <xs:annotation>
        <xs:documentation>An embedded PNG image stored using base64 binary.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/Reference

diagram |
type | ImageReference
children | ResourceId LibraryItemName
source |
    <xs:element name="Reference" type="ImageReference">
      <xs:annotation>
        <xs:documentation>A library reference to a PNG image.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/SizeX

diagram |
type | xs:string
source |
    <xs:element name="SizeX" type="xs:string" default="1.0">
      <xs:annotation>
        <xs:documentation>The width of the image, in mm.  This must be greater than zero.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/SizeY

diagram |
type | xs:string
source |
    <xs:element name="SizeY" type="xs:string" default="1.0">
      <xs:annotation>
        <xs:documentation>The height of the image, in mm.  This must be greater than zero.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/SizeScalable

diagram |
type | xs:string
source |
    <xs:element name="SizeScalable" type="xs:string" default="true" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Boolean value which specifies whether the image sizes scale with the symbol.  This behavior is independent of the symbol's size context.  This must evaluate to True (default) or False.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/Angle

diagram |
type | xs:string
source |
    <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The angle of the image in symbol space, in degrees.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/PositionX

diagram |
type | xs:string
source |
    <xs:element name="PositionX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The x-coordinate of the image center in symbol space, in mm.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/PositionY

diagram |
type | xs:string
source |
    <xs:element name="PositionY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The y-coordinate of the image center in symbol space, in mm.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Image/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ImageReference

diagram |
children | ResourceId LibraryItemName
used by |
element | Image/Reference
source |
    <xs:complexType name="ImageReference">
      <xs:annotation>
        <xs:documentation>Defines a library reference used with image elements.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="ResourceId" type="xs:string">
          <xs:annotation>
            <xs:documentation>The resource where the image data is stored.  For non-inlined symbol definitions this can be an empty string, in which case the resource is assumed to be the parent symbol definition resource.  For inlined symbol definitions this must point to a separate resource.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="LibraryItemName" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the resource data storing the image.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

element ImageReference/ResourceId

diagram |
type | xs:string
source |
    <xs:element name="ResourceId" type="xs:string">
      <xs:annotation>
        <xs:documentation>The resource where the image data is stored.  For non-inlined symbol definitions this can be an empty string, in which case the resource is assumed to be the parent symbol definition resource.  For inlined symbol definitions this must point to a separate resource.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ImageReference/LibraryItemName

diagram |
type | xs:string
source |
    <xs:element name="LibraryItemName" type="xs:string">
      <xs:annotation>
        <xs:documentation>The name of the resource data storing the image.</xs:documentation>
      </xs:annotation>
    </xs:element>

complexType LineUsage

diagram |
children | AngleControl UnitsControl VertexControl Angle StartOffset EndOffset Repeat VertexAngleLimit VertexJoin VertexMiterLimit DefaultPath ExtendedData1
used by |
element | SimpleSymbolDefinition/LineUsage
source |
    <xs:complexType name="LineUsage">
      <xs:annotation>
        <xs:documentation>Specifies how a symbol is used in the context of linear features.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="AngleControl" type="xs:string" default="'FromGeometry'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies how the symbol angle is defined.  This must evaluate to one of: FromAngle or FromGeometry (default).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="UnitsControl" type="xs:string" default="'Absolute'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies whether the distribution parameters are interpreted as absolute values (in mm) or parametric values.  This must evaluate to one of: Absolute (default) or Parametric.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="VertexControl" type="xs:string" default="'OverlapWrap'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the symbol behavior at vertices.  This must evaluate to one of: OverlapNone, OverlapDirect, or OverlapWrap (default).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the angle of each repeating symbol, in degrees.  If AngleControl evaluates to FromAngle then this specifies the absolute angle of the symbol.  If AngleControl evaluates to FromGeometry then this specifies the symbol angle relative to the geometry.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="StartOffset" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies where the symbol distribution begins, relative to the start of the feature.  If specified this must be greater than or equal to zero.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="EndOffset" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies where the symbol distribution ends, relative to the end of the feature.  If specified this must be greater than or equal to zero.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Repeat" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the separation between repeating symbols.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="VertexAngleLimit" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the limiting angle, in degrees, by a which the feature geometry can change before some of the VertexControl options take effect.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="VertexJoin" type="xs:string" default="'Round'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the wrapping behavior at vertices for all graphic elements.  Only applies if VertexControl evaluates to OverlapWrap.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="VertexMiterLimit" type="xs:string" default="5.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The limit to use when drawing miter vertex joins.  A miter vertex join is trimmed if the ratio of the miter length to symbol height is greater than the miter limit.  If specified this must be greater than zero.  Defaults to 5.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DefaultPath" type="Path" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the default path attributes to use when drawing the symbol.  These apply to any centerline that gets drawn where the symbol can't draw, and to path elements that don't specify attributes.  The geometry contained in this path is ignored and should be empty.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element LineUsage/AngleControl

diagram |
type | xs:string
source |
    <xs:element name="AngleControl" type="xs:string" default="'FromGeometry'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol angle is defined.  This must evaluate to one of: FromAngle or FromGeometry (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/UnitsControl

diagram |
type | xs:string
source |
    <xs:element name="UnitsControl" type="xs:string" default="'Absolute'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies whether the distribution parameters are interpreted as absolute values (in mm) or parametric values.  This must evaluate to one of: Absolute (default) or Parametric.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/VertexControl

diagram |
type | xs:string
source |
    <xs:element name="VertexControl" type="xs:string" default="'OverlapWrap'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the symbol behavior at vertices.  This must evaluate to one of: OverlapNone, OverlapDirect, or OverlapWrap (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/Angle

diagram |
type | xs:string
source |
    <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the angle of each repeating symbol, in degrees.  If AngleControl evaluates to FromAngle then this specifies the absolute angle of the symbol.  If AngleControl evaluates to FromGeometry then this specifies the symbol angle relative to the geometry.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/StartOffset

diagram |
type | xs:string
source |
    <xs:element name="StartOffset" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies where the symbol distribution begins, relative to the start of the feature.  If specified this must be greater than or equal to zero.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/EndOffset

diagram |
type | xs:string
source |
    <xs:element name="EndOffset" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies where the symbol distribution ends, relative to the end of the feature.  If specified this must be greater than or equal to zero.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/Repeat

diagram |
type | xs:string
source |
    <xs:element name="Repeat" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the separation between repeating symbols.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/VertexAngleLimit

diagram |
type | xs:string
source |
    <xs:element name="VertexAngleLimit" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the limiting angle, in degrees, by a which the feature geometry can change before some of the VertexControl options take effect.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/VertexJoin

diagram |
type | xs:string
source |
    <xs:element name="VertexJoin" type="xs:string" default="'Round'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the wrapping behavior at vertices for all graphic elements.  Only applies if VertexControl evaluates to OverlapWrap.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/VertexMiterLimit

diagram |
type | xs:string
source |
    <xs:element name="VertexMiterLimit" type="xs:string" default="5.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The limit to use when drawing miter vertex joins.  A miter vertex join is trimmed if the ratio of the miter length to symbol height is greater than the miter limit.  If specified this must be greater than zero.  Defaults to 5.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/DefaultPath

diagram |
type | Path
children | ResizeControl Geometry FillColor LineColor LineWeight LineWeightScalable LineCap LineJoin LineMiterLimit ExtendedData1
source |
    <xs:element name="DefaultPath" type="Path" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the default path attributes to use when drawing the symbol.  These apply to any centerline that gets drawn where the symbol can't draw, and to path elements that don't specify attributes.  The geometry contained in this path is ignored and should be empty.</xs:documentation>
      </xs:annotation>
    </xs:element>

element LineUsage/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType Parameter

diagram |
children | Identifier DefaultValue DisplayName Description DataType ExtendedData1
used by |
element | ParameterDefinition/Parameter
source |
    <xs:complexType name="Parameter">
      <xs:annotation>
        <xs:documentation>The metadata for a symbol parameter.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Identifier" type="xs:string">
          <xs:annotation>
            <xs:documentation>The parameter identifier as used in the symbol.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DefaultValue" type="xs:string">
          <xs:annotation>
            <xs:documentation>The default value of the parameter if no override is defined in the symbol instance.  This can be an expression.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DisplayName" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>An optional short description of the parameter.  This can be used, for example, to ask the user to specify a parameter value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Description" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>An optional long description of the parameter.  This might include a description of useful values for this parameter.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DataType" type="DataType" default="String" minOccurs="0">
          <xs:annotation>
            <xs:documentation>An optional explicit declaration of data type or data usage context.  This is a hint used by the UI when assigning a value to this parameter.  Defaults to String.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element Parameter/Identifier

diagram |
type | xs:string
source |
    <xs:element name="Identifier" type="xs:string">
      <xs:annotation>
        <xs:documentation>The parameter identifier as used in the symbol.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Parameter/DefaultValue

diagram |
type | xs:string
source |
    <xs:element name="DefaultValue" type="xs:string">
      <xs:annotation>
        <xs:documentation>The default value of the parameter if no override is defined in the symbol instance.  This can be an expression.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Parameter/DisplayName

diagram |
type | xs:string
source |
    <xs:element name="DisplayName" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>An optional short description of the parameter.  This can be used, for example, to ask the user to specify a parameter value.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Parameter/Description

diagram |
type | xs:string
source |
    <xs:element name="Description" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>An optional long description of the parameter.  This might include a description of useful values for this parameter.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Parameter/DataType

diagram |
type | DataType
facets |
enumeration | String
enumeration | Boolean
enumeration | Integer
enumeration | Real
enumeration | Color
enumeration | Angle
enumeration | FillColor
enumeration | LineColor
enumeration | LineWeight
enumeration | Content
enumeration | Markup
enumeration | FontName
enumeration | Bold
enumeration | Italic
enumeration | Underlined
enumeration | Overlined
enumeration | ObliqueAngle
enumeration | TrackSpacing
enumeration | FontHeight
enumeration | HorizontalAlignment
enumeration | VerticalAlignment
enumeration | Justification
enumeration | LineSpacing
enumeration | TextColor
enumeration | GhostColor
enumeration | FrameLineColor
enumeration | FrameFillColor
enumeration | StartOffset
enumeration | EndOffset
enumeration | RepeatX
enumeration | RepeatY
source |
    <xs:element name="DataType" type="DataType" default="String" minOccurs="0">
      <xs:annotation>
        <xs:documentation>An optional explicit declaration of data type or data usage context.  This is a hint used by the UI when assigning a value to this parameter.  Defaults to String.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Parameter/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ParameterDefinition

diagram |
children | Parameter ExtendedData1
used by |
element | SimpleSymbolDefinition/ParameterDefinition
source |
    <xs:complexType name="ParameterDefinition">
      <xs:annotation>
        <xs:documentation>A collection of symbol parameters.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element ParameterDefinition/Parameter

diagram |
type | Parameter
children | Identifier DefaultValue DisplayName Description DataType ExtendedData1
source |
    <xs:element name="Parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded"/>

element ParameterDefinition/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType Path

diagram |
type | extension of GraphicBase
children | ResizeControl Geometry FillColor LineColor LineWeight LineWeightScalable LineCap LineJoin LineMiterLimit ExtendedData1
used by |
elements | LineUsage/DefaultPath Graphics/Path
source |
    <xs:complexType name="Path">
      <xs:annotation>
        <xs:documentation>A 2D path defining vector geometry to include in the symbol definition.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="GraphicBase">
          <xs:sequence>
            <xs:element name="Geometry" type="xs:string">
              <xs:annotation>
                <xs:documentation>The path geometry.  The format is a sequence of segments, each represented by a letter indicating the segment type followed by one or more parameters.  Uppercase letters denote absolute values and lowercase letters denote relative values.  Segment types can be one of "M" (moveto), "L" (lineto), "H" (horizontal lineto), "V" (vertical lineto), "A" (arcto), or "Z" (close segment).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="FillColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The ARGB color used to fill the path.  If this element is missing or empty then no fill is applied to the path.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The ARGB color used to draw the path outline.  If this element is missing or empty then no path outline is drawn.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineWeight" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The weight to use when drawing the path outline, in mm.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineWeightScalable" type="xs:string" default="true" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Boolean value which specifies whether the line weight scales with the symbol.  This behavior is independent of the symbol's size context.  This must evaluate to True (default) or False.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineCap" type="xs:string" default="'Round'" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineJoin" type="xs:string" default="'Round'" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineMiterLimit" type="xs:string" default="5.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The limit to use when drawing miter joins.  A miter join is trimmed if the ratio of the miter length to line weight is greater than the miter limit.  If specified this must be greater than zero.  Defaults to 5.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element Path/Geometry

diagram |
type | xs:string
source |
    <xs:element name="Geometry" type="xs:string">
      <xs:annotation>
        <xs:documentation>The path geometry.  The format is a sequence of segments, each represented by a letter indicating the segment type followed by one or more parameters.  Uppercase letters denote absolute values and lowercase letters denote relative values.  Segment types can be one of "M" (moveto), "L" (lineto), "H" (horizontal lineto), "V" (vertical lineto), "A" (arcto), or "Z" (close segment).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/FillColor

diagram |
type | xs:string
source |
    <xs:element name="FillColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The ARGB color used to fill the path.  If this element is missing or empty then no fill is applied to the path.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/LineColor

diagram |
type | xs:string
source |
    <xs:element name="LineColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The ARGB color used to draw the path outline.  If this element is missing or empty then no path outline is drawn.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/LineWeight

diagram |
type | xs:string
source |
    <xs:element name="LineWeight" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The weight to use when drawing the path outline, in mm.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/LineWeightScalable

diagram |
type | xs:string
source |
    <xs:element name="LineWeightScalable" type="xs:string" default="true" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Boolean value which specifies whether the line weight scales with the symbol.  This behavior is independent of the symbol's size context.  This must evaluate to True (default) or False.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/LineCap

diagram |
type | xs:string
source |
    <xs:element name="LineCap" type="xs:string" default="'Round'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/LineJoin

diagram |
type | xs:string
source |
    <xs:element name="LineJoin" type="xs:string" default="'Round'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/LineMiterLimit

diagram |
type | xs:string
source |
    <xs:element name="LineMiterLimit" type="xs:string" default="5.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The limit to use when drawing miter joins.  A miter join is trimmed if the ratio of the miter length to line weight is greater than the miter limit.  If specified this must be greater than zero.  Defaults to 5.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Path/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType PointUsage

diagram |
children | AngleControl Angle OriginOffsetX OriginOffsetY ExtendedData1
used by |
element | SimpleSymbolDefinition/PointUsage
source |
    <xs:complexType name="PointUsage">
      <xs:annotation>
        <xs:documentation>Specifies how a symbol is used in the context of point features.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="AngleControl" type="xs:string" default="'FromAngle'" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies how the symbol angle is defined.  This must evaluate to one of: FromAngle (default) or FromGeometry.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the symbol angle, in degrees.  If AngleControl evaluates to FromAngle then this specifies the absolute angle of the symbol.  If AngleControl evaluates to FromGeometry then this specifies the symbol angle relative to the geometry.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OriginOffsetX" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the horizontal offset to apply to the symbol origin, in mm.  This offset is applied before the symbol is scaled and rotated.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OriginOffsetY" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Specifies the vertical offset to apply to the symbol origin, in mm.  This offset is applied before the symbol is scaled and rotated.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element PointUsage/AngleControl

diagram |
type | xs:string
source |
    <xs:element name="AngleControl" type="xs:string" default="'FromAngle'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol angle is defined.  This must evaluate to one of: FromAngle (default) or FromGeometry.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointUsage/Angle

diagram |
type | xs:string
source |
    <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the symbol angle, in degrees.  If AngleControl evaluates to FromAngle then this specifies the absolute angle of the symbol.  If AngleControl evaluates to FromGeometry then this specifies the symbol angle relative to the geometry.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointUsage/OriginOffsetX

diagram |
type | xs:string
source |
    <xs:element name="OriginOffsetX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the horizontal offset to apply to the symbol origin, in mm.  This offset is applied before the symbol is scaled and rotated.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointUsage/OriginOffsetY

diagram |
type | xs:string
source |
    <xs:element name="OriginOffsetY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies the vertical offset to apply to the symbol origin, in mm.  This offset is applied before the symbol is scaled and rotated.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element PointUsage/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType ResizeBox

diagram |
children | SizeX SizeY PositionX PositionY GrowControl ExtendedData1
used by |
element | SimpleSymbolDefinition/ResizeBox
source |
    <xs:complexType name="ResizeBox">
      <xs:annotation>
        <xs:documentation>Defines a resize box used with SimpleSymbolDefinitions.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="SizeX" type="xs:string" default="1.0">
          <xs:annotation>
            <xs:documentation>The initial width of the resize box, in mm.  This must be greater than or equal to zero.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SizeY" type="xs:string" default="1.0">
          <xs:annotation>
            <xs:documentation>The initial height of the resize box, in mm.  This must be greater than or equal to zero.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PositionX" type="xs:string" default="0.0">
          <xs:annotation>
            <xs:documentation>The initial x-coordinate of the resize box center, in mm.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PositionY" type="xs:string" default="0.0">
          <xs:annotation>
            <xs:documentation>The initial y-coordinate of the resize box center, in mm.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="GrowControl" type="xs:string" default="'GrowInXYMaintainAspect'">
          <xs:annotation>
            <xs:documentation>Specifies how the resize box grows in size.  This must evaluate to one of: GrowInX, GrowInY, GrowInXY, or GrowInXYMaintainAspect (default).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element ResizeBox/SizeX

diagram |
type | xs:string
source |
    <xs:element name="SizeX" type="xs:string" default="1.0">
      <xs:annotation>
        <xs:documentation>The initial width of the resize box, in mm.  This must be greater than or equal to zero.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ResizeBox/SizeY

diagram |
type | xs:string
source |
    <xs:element name="SizeY" type="xs:string" default="1.0">
      <xs:annotation>
        <xs:documentation>The initial height of the resize box, in mm.  This must be greater than or equal to zero.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ResizeBox/PositionX

diagram |
type | xs:string
source |
    <xs:element name="PositionX" type="xs:string" default="0.0">
      <xs:annotation>
        <xs:documentation>The initial x-coordinate of the resize box center, in mm.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ResizeBox/PositionY

diagram |
type | xs:string
source |
    <xs:element name="PositionY" type="xs:string" default="0.0">
      <xs:annotation>
        <xs:documentation>The initial y-coordinate of the resize box center, in mm.</xs:documentation>
      </xs:annotation>
    </xs:element>

element ResizeBox/GrowControl

diagram |
type | xs:string
source |
    <xs:element name="GrowControl" type="xs:string" default="'GrowInXYMaintainAspect'">
      <xs:annotation>
        <xs:documentation>Specifies how the resize box grows in size.  This must evaluate to one of: GrowInX, GrowInY, GrowInXY, or GrowInXYMaintainAspect (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element ResizeBox/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType SimpleSymbol

diagram |
children | SimpleSymbolDefinition ResourceId RenderingPass ExtendedData1
used by |
element | CompoundSymbolDefinition/SimpleSymbol
source |
    <xs:complexType name="SimpleSymbol">
      <xs:annotation>
        <xs:documentation>Defines a reference to a SimpleSymbolDefinition, either inlined or a library reference.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:choice>
          <xs:element name="SimpleSymbolDefinition" type="SimpleSymbolDefinition">
            <xs:annotation>
              <xs:documentation>An inlined SimpleSymbolDefinition.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ResourceId" type="xs:string">
            <xs:annotation>
              <xs:documentation>A library reference to an existing SimpleSymbolDefinition.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:choice>
        <xs:element name="RenderingPass" type="xs:string" default="0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The optional rendering pass in which this symbol definition draws.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element SimpleSymbol/SimpleSymbolDefinition

diagram |
type | SimpleSymbolDefinition
children | Name Description Graphics ResizeBox PointUsage LineUsage AreaUsage ParameterDefinition ExtendedData1
source |
    <xs:element name="SimpleSymbolDefinition" type="SimpleSymbolDefinition">
      <xs:annotation>
        <xs:documentation>An inlined SimpleSymbolDefinition.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbol/ResourceId

diagram |
type | xs:string
source |
    <xs:element name="ResourceId" type="xs:string">
      <xs:annotation>
        <xs:documentation>A library reference to an existing SimpleSymbolDefinition.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbol/RenderingPass

diagram |
type | xs:string
source |
    <xs:element name="RenderingPass" type="xs:string" default="0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The optional rendering pass in which this symbol definition draws.  If specified this must be greater than or equal to zero.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbol/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType SimpleSymbolDefinition

diagram |
type | extension of SymbolDefinitionBase
children | Name Description Graphics ResizeBox PointUsage LineUsage AreaUsage ParameterDefinition ExtendedData1
used by |
elements | SimpleSymbolDefinition SymbolInstance/SimpleSymbolDefinition SimpleSymbol/SimpleSymbolDefinition
source |
    <xs:complexType name="SimpleSymbolDefinition">
      <xs:annotation>
        <xs:documentation>A symbol definition containing a collection of graphic elements and information on how to use these in the context of different feature geometry types.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="SymbolDefinitionBase">
          <xs:sequence>
            <xs:element name="Graphics" type="Graphics">
              <xs:annotation>
                <xs:documentation>The collection of graphic elements defining this symbol.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ResizeBox" type="ResizeBox" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The optional box used to resize and reposition select graphic elements.  The graphical extent of all elements with ResizeControl set to AddToResizeBox will be added to this box, potentially causing it to grow in size.  Any change in size causes all elements with ResizeControl set to AdjustToResizeBox to be proportionally resized and repositioned.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PointUsage" type="PointUsage" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies how the symbol is used in the context of point features.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineUsage" type="LineUsage" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies how the symbol is used in the context of linear features.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="AreaUsage" type="AreaUsage" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies how the symbol is used in the context of area features.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ParameterDefinition" type="ParameterDefinition">
              <xs:annotation>
                <xs:documentation>The list of parameters used in this symbol.  If a parameter is not listed here this is considered a bug in the symbol definition.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element SimpleSymbolDefinition/Graphics

diagram |
type | Graphics
children | Path Image Text
source |
    <xs:element name="Graphics" type="Graphics">
      <xs:annotation>
        <xs:documentation>The collection of graphic elements defining this symbol.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbolDefinition/ResizeBox

diagram |
type | ResizeBox
children | SizeX SizeY PositionX PositionY GrowControl ExtendedData1
source |
    <xs:element name="ResizeBox" type="ResizeBox" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The optional box used to resize and reposition select graphic elements.  The graphical extent of all elements with ResizeControl set to AddToResizeBox will be added to this box, potentially causing it to grow in size.  Any change in size causes all elements with ResizeControl set to AdjustToResizeBox to be proportionally resized and repositioned.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbolDefinition/PointUsage

diagram |
type | PointUsage
children | AngleControl Angle OriginOffsetX OriginOffsetY ExtendedData1
source |
    <xs:element name="PointUsage" type="PointUsage" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol is used in the context of point features.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbolDefinition/LineUsage

diagram |
type | LineUsage
children | AngleControl UnitsControl VertexControl Angle StartOffset EndOffset Repeat VertexAngleLimit VertexJoin VertexMiterLimit DefaultPath ExtendedData1
source |
    <xs:element name="LineUsage" type="LineUsage" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol is used in the context of linear features.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbolDefinition/AreaUsage

diagram |
type | AreaUsage
children | AngleControl OriginControl ClippingControl Angle OriginX OriginY RepeatX RepeatY BufferWidth ExtendedData1
source |
    <xs:element name="AreaUsage" type="AreaUsage" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies how the symbol is used in the context of area features.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbolDefinition/ParameterDefinition

diagram |
type | ParameterDefinition
children | Parameter ExtendedData1
source |
    <xs:element name="ParameterDefinition" type="ParameterDefinition">
      <xs:annotation>
        <xs:documentation>The list of parameters used in this symbol.  If a parameter is not listed here this is considered a bug in the symbol definition.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SimpleSymbolDefinition/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType SymbolDefinitionBase

diagram |
children | Name Description
used by |
complexTypes | CompoundSymbolDefinition SimpleSymbolDefinition
source |
    <xs:complexType name="SymbolDefinitionBase">
      <xs:annotation>
        <xs:documentation>Base type used with all symbol definitions.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="Name" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the symbol.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Description" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>An optional description of the symbol.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

element SymbolDefinitionBase/Name

diagram |
type | xs:string
source |
    <xs:element name="Name" type="xs:string">
      <xs:annotation>
        <xs:documentation>The name of the symbol.</xs:documentation>
      </xs:annotation>
    </xs:element>

element SymbolDefinitionBase/Description

diagram |
type | xs:string
source |
    <xs:element name="Description" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>An optional description of the symbol.</xs:documentation>
      </xs:annotation>
    </xs:element>

complexType Text

diagram |
type | extension of GraphicBase
children | ResizeControl Content FontName Bold Italic Underlined Overlined ObliqueAngle TrackSpacing Height HeightScalable Angle PositionX PositionY HorizontalAlignment VerticalAlignment Justification LineSpacing TextColor GhostColor Frame Markup ExtendedData1
used by |
element | Graphics/Text
source |
    <xs:complexType name="Text">
      <xs:annotation>
        <xs:documentation>A text string to include in the symbol definition.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="GraphicBase">
          <xs:sequence>
            <xs:element name="Content" type="xs:string">
              <xs:annotation>
                <xs:documentation>The string content for the text.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="FontName" type="xs:string" default="'Arial'">
              <xs:annotation>
                <xs:documentation>The name of the font to use for the text.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Bold" type="xs:string" default="false" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the text should be drawn using a bold font.  This must evaluate to True or False (default).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Italic" type="xs:string" default="false" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the text should be drawn using an italic font.  This must evaluate to True or False (default).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Underlined" type="xs:string" default="false" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the text should be underlined.  This must evaluate to True or False (default).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Overlined" type="xs:string" default="false" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Specifies if the text should be overlined.  This must evaluate to True or False (default).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ObliqueAngle" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>A numeric value between -85.0 and 85.0 representing the angle in degrees forward (for positive) or backwards (for negative) that the text should be obliqued (a la shear or skew transform).  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="TrackSpacing" type="xs:string" default="1.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>A numeric value between 0.75 and 10.0, representing the text "tracking" factor to apply to inter-character spacing, effectively a multiplier of each character's advance width.  Values less than 1.0 condense the text, spacing individual characters closer together than normally dictated by the font, whereas values greater than 1.0 expand the text, spacing characters farther apart.  The outline of individual characters is not altered by this element, only the spacing between them and adjacent characters.  Defaults to 1.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Height" type="xs:string" default="4.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The height of the text, in mm.  If specified this must be greater than zero.  Defaults to 4.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="HeightScalable" type="xs:string" default="true" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Boolean value which specifies whether the font height scales with the symbol.  This behavior is independent of the symbol's size context.  This must evaluate to True (default) or False.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The angle of the text in symbol space, in degrees.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PositionX" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The x-coordinate of the text in symbol space, in mm.  Horizontal alignment of the text box is relative to this coordinate.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="PositionY" type="xs:string" default="0.0" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The y-coordinate of the text in symbol space, in mm.  Vertical alignment of the text box is relative to this coordinate.  Defaults to 0.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="HorizontalAlignment" type="xs:string" default="'Center'" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The horizontal alignment of the text box relative to its position.  This must evaluate to one of: Left, Center (default), or Right.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="VerticalAlignment" type="xs:string" default="'Halfline'" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The vertical alignment of the text box relative to its position.  This must evaluate to one of: Bottom, Baseline, Halfline (default), Capline, or Top.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Justification" type="xs:string" default="'FromAlignment'" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The horizontal justification of individual lines of text in a multi-line text string.  This must evaluate to one of: Left, Center, Right, Justified, or FromAlignment (default).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="LineSpacing" type="xs:string" default="1.05" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The spacing between individual lines of text in a multi-line text string, as a multiple of the font height.  If specified this must be greater than zero.  Defaults to 1.05.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="TextColor" type="xs:string" default="ff000000" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The ARGB color used to draw the text.  Defaults to black (ff000000).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GhostColor" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The ARGB color used to draw the ghosted text.  If this element is missing or empty then no ghosting is drawn.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Frame" type="TextFrame" minOccurs="0">
              <xs:annotation>
                <xs:documentation>If specified, defines the kind of frame drawn around the text.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Markup" type="xs:string" default="'Plain'" minOccurs="0">
              <xs:annotation>
                <xs:documentation>The markup format of the string content.  Defaults to 'Plain'.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>

element Text/Content

diagram |
type | xs:string
source |
    <xs:element name="Content" type="xs:string">
      <xs:annotation>
        <xs:documentation>The string content for the text.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/FontName

diagram |
type | xs:string
source |
    <xs:element name="FontName" type="xs:string" default="'Arial'">
      <xs:annotation>
        <xs:documentation>The name of the font to use for the text.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Bold

diagram |
type | xs:string
source |
    <xs:element name="Bold" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the text should be drawn using a bold font.  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Italic

diagram |
type | xs:string
source |
    <xs:element name="Italic" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the text should be drawn using an italic font.  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Underlined

diagram |
type | xs:string
source |
    <xs:element name="Underlined" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the text should be underlined.  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Overlined

diagram |
type | xs:string
source |
    <xs:element name="Overlined" type="xs:string" default="false" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Specifies if the text should be overlined.  This must evaluate to True or False (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/ObliqueAngle

diagram |
type | xs:string
source |
    <xs:element name="ObliqueAngle" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A numeric value between -85.0 and 85.0 representing the angle in degrees forward (for positive) or backwards (for negative) that the text should be obliqued (a la shear or skew transform).  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/TrackSpacing

diagram |
type | xs:string
source |
    <xs:element name="TrackSpacing" type="xs:string" default="1.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>A numeric value between 0.75 and 10.0, representing the text "tracking" factor to apply to inter-character spacing, effectively a multiplier of each character's advance width.  Values less than 1.0 condense the text, spacing individual characters closer together than normally dictated by the font, whereas values greater than 1.0 expand the text, spacing characters farther apart.  The outline of individual characters is not altered by this element, only the spacing between them and adjacent characters.  Defaults to 1.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Height

diagram |
type | xs:string
source |
    <xs:element name="Height" type="xs:string" default="4.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The height of the text, in mm.  If specified this must be greater than zero.  Defaults to 4.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/HeightScalable

diagram |
type | xs:string
source |
    <xs:element name="HeightScalable" type="xs:string" default="true" minOccurs="0">
      <xs:annotation>
        <xs:documentation>Boolean value which specifies whether the font height scales with the symbol.  This behavior is independent of the symbol's size context.  This must evaluate to True (default) or False.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Angle

diagram |
type | xs:string
source |
    <xs:element name="Angle" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The angle of the text in symbol space, in degrees.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/PositionX

diagram |
type | xs:string
source |
    <xs:element name="PositionX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The x-coordinate of the text in symbol space, in mm.  Horizontal alignment of the text box is relative to this coordinate.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/PositionY

diagram |
type | xs:string
source |
    <xs:element name="PositionY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The y-coordinate of the text in symbol space, in mm.  Vertical alignment of the text box is relative to this coordinate.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/HorizontalAlignment

diagram |
type | xs:string
source |
    <xs:element name="HorizontalAlignment" type="xs:string" default="'Center'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The horizontal alignment of the text box relative to its position.  This must evaluate to one of: Left, Center (default), or Right.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/VerticalAlignment

diagram |
type | xs:string
source |
    <xs:element name="VerticalAlignment" type="xs:string" default="'Halfline'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The vertical alignment of the text box relative to its position.  This must evaluate to one of: Bottom, Baseline, Halfline (default), Capline, or Top.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Justification

diagram |
type | xs:string
source |
    <xs:element name="Justification" type="xs:string" default="'FromAlignment'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The horizontal justification of individual lines of text in a multi-line text string.  This must evaluate to one of: Left, Center, Right, Justified, or FromAlignment (default).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/LineSpacing

diagram |
type | xs:string
source |
    <xs:element name="LineSpacing" type="xs:string" default="1.05" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The spacing between individual lines of text in a multi-line text string, as a multiple of the font height.  If specified this must be greater than zero.  Defaults to 1.05.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/TextColor

diagram |
type | xs:string
source |
    <xs:element name="TextColor" type="xs:string" default="ff000000" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The ARGB color used to draw the text.  Defaults to black (ff000000).</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/GhostColor

diagram |
type | xs:string
source |
    <xs:element name="GhostColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The ARGB color used to draw the ghosted text.  If this element is missing or empty then no ghosting is drawn.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Frame

diagram |
type | TextFrame
children | LineColor FillColor OffsetX OffsetY ExtendedData1
source |
    <xs:element name="Frame" type="TextFrame" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If specified, defines the kind of frame drawn around the text.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/Markup

diagram |
type | xs:string
source |
    <xs:element name="Markup" type="xs:string" default="'Plain'" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The markup format of the string content.  Defaults to 'Plain'.</xs:documentation>
      </xs:annotation>
    </xs:element>

element Text/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

complexType TextFrame

diagram |
children | LineColor FillColor OffsetX OffsetY ExtendedData1
used by |
element | Text/Frame
source |
    <xs:complexType name="TextFrame">
      <xs:annotation>
        <xs:documentation>Defines a frame used with text elements.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:element name="LineColor" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The ARGB color used to draw the text frame border.  If this element is missing or empty then no frame border is drawn.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="FillColor" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The ARGB color used to fill the text frame.  If this element is missing or empty then no fill is drawn.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OffsetX" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The additional horizontal offset of the frame relative to the text box, in mm.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OffsetY" type="xs:string" default="0.0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The additional vertical offset of the frame relative to the text box, in mm.  Defaults to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>

element TextFrame/LineColor

diagram |
type | xs:string
source |
    <xs:element name="LineColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The ARGB color used to draw the text frame border.  If this element is missing or empty then no frame border is drawn.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextFrame/FillColor

diagram |
type | xs:string
source |
    <xs:element name="FillColor" type="xs:string" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The ARGB color used to fill the text frame.  If this element is missing or empty then no fill is drawn.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextFrame/OffsetX

diagram |
type | xs:string
source |
    <xs:element name="OffsetX" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The additional horizontal offset of the frame relative to the text box, in mm.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextFrame/OffsetY

diagram |
type | xs:string
source |
    <xs:element name="OffsetY" type="xs:string" default="0.0" minOccurs="0">
      <xs:annotation>
        <xs:documentation>The additional vertical offset of the frame relative to the text box, in mm.  Defaults to 0.</xs:documentation>
      </xs:annotation>
    </xs:element>

element TextFrame/ExtendedData1

diagram |
type | ExtendedDataType
source |
    <xs:element name="ExtendedData1" type="ExtendedDataType" minOccurs="0"/>

simpleType AngleControl

type | restriction of xs:string
facets |
enumeration | FromAngle
enumeration | FromGeometry
source |
    <xs:simpleType name="AngleControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed AngleControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="FromAngle"/>
        <xs:enumeration value="FromGeometry"/>
      </xs:restriction>
    </xs:simpleType>

simpleType ClippingControl

type | restriction of xs:string
facets |
enumeration | Clip
enumeration | Inside
enumeration | Overlap
source |
    <xs:simpleType name="ClippingControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed ClippingControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Clip"/>
        <xs:enumeration value="Inside"/>
        <xs:enumeration value="Overlap"/>
      </xs:restriction>
    </xs:simpleType>

simpleType DataType

type | restriction of xs:string
used by |
element | Parameter/DataType
facets |
enumeration | String
enumeration | Boolean
enumeration | Integer
enumeration | Real
enumeration | Color
enumeration | Angle
enumeration | FillColor
enumeration | LineColor
enumeration | LineWeight
enumeration | Content
enumeration | Markup
enumeration | FontName
enumeration | Bold
enumeration | Italic
enumeration | Underlined
enumeration | Overlined
enumeration | ObliqueAngle
enumeration | TrackSpacing
enumeration | FontHeight
enumeration | HorizontalAlignment
enumeration | VerticalAlignment
enumeration | Justification
enumeration | LineSpacing
enumeration | TextColor
enumeration | GhostColor
enumeration | FrameLineColor
enumeration | FrameFillColor
enumeration | StartOffset
enumeration | EndOffset
enumeration | RepeatX
enumeration | RepeatY
source |
    <xs:simpleType name="DataType">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed DataType values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="String"/>
        <xs:enumeration value="Boolean"/>
        <xs:enumeration value="Integer"/>
        <xs:enumeration value="Real"/>
        <xs:enumeration value="Color"/>
        <xs:enumeration value="Angle"/>
        <xs:enumeration value="FillColor"/>
        <xs:enumeration value="LineColor"/>
        <xs:enumeration value="LineWeight"/>
        <xs:enumeration value="Content"/>
        <xs:enumeration value="Markup"/>
        <xs:enumeration value="FontName"/>
        <xs:enumeration value="Bold"/>
        <xs:enumeration value="Italic"/>
        <xs:enumeration value="Underlined"/>
        <xs:enumeration value="Overlined"/>
        <xs:enumeration value="ObliqueAngle"/>
        <xs:enumeration value="TrackSpacing"/>
        <xs:enumeration value="FontHeight"/>
        <xs:enumeration value="HorizontalAlignment"/>
        <xs:enumeration value="VerticalAlignment"/>
        <xs:enumeration value="Justification"/>
        <xs:enumeration value="LineSpacing"/>
        <xs:enumeration value="TextColor"/>
        <xs:enumeration value="GhostColor"/>
        <xs:enumeration value="FrameLineColor"/>
        <xs:enumeration value="FrameFillColor"/>
        <xs:enumeration value="StartOffset"/>
        <xs:enumeration value="EndOffset"/>
        <xs:enumeration value="RepeatX"/>
        <xs:enumeration value="RepeatY"/>
      </xs:restriction>
    </xs:simpleType>

simpleType GrowControl

type | restriction of xs:string
facets |
enumeration | GrowInX
enumeration | GrowInY
enumeration | GrowInXY
enumeration | GrowInXYMaintainAspect
source |
    <xs:simpleType name="GrowControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed GrowControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="GrowInX"/>
        <xs:enumeration value="GrowInY"/>
        <xs:enumeration value="GrowInXY"/>
        <xs:enumeration value="GrowInXYMaintainAspect"/>
      </xs:restriction>
    </xs:simpleType>

simpleType HorizontalAlignment

type | restriction of xs:string
facets |
enumeration | Left
enumeration | Center
enumeration | Right
source |
    <xs:simpleType name="HorizontalAlignment">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed HorizontalAlignment values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Left"/>
        <xs:enumeration value="Center"/>
        <xs:enumeration value="Right"/>
      </xs:restriction>
    </xs:simpleType>

simpleType Justification

type | restriction of xs:string
facets |
enumeration | Left
enumeration | Center
enumeration | Right
enumeration | Justified
enumeration | FromAlignment
source |
    <xs:simpleType name="Justification">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed Justification values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Left"/>
        <xs:enumeration value="Center"/>
        <xs:enumeration value="Right"/>
        <xs:enumeration value="Justified"/>
        <xs:enumeration value="FromAlignment"/>
      </xs:restriction>
    </xs:simpleType>

simpleType LineCap

type | restriction of xs:string
facets |
enumeration | None
enumeration | Round
enumeration | Triangle
enumeration | Square
source |
    <xs:simpleType name="LineCap">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed LineCap values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="None"/>
        <xs:enumeration value="Round"/>
        <xs:enumeration value="Triangle"/>
        <xs:enumeration value="Square"/>
      </xs:restriction>
    </xs:simpleType>

simpleType LineJoin

type | restriction of xs:string
facets |
enumeration | None
enumeration | Bevel
enumeration | Round
enumeration | Miter
source |
    <xs:simpleType name="LineJoin">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed LineJoin values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="None"/>
        <xs:enumeration value="Bevel"/>
        <xs:enumeration value="Round"/>
        <xs:enumeration value="Miter"/>
      </xs:restriction>
    </xs:simpleType>

simpleType OriginControl

type | restriction of xs:string
facets |
enumeration | Global
enumeration | Local
enumeration | Centroid
source |
    <xs:simpleType name="OriginControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed OriginControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Global"/>
        <xs:enumeration value="Local"/>
        <xs:enumeration value="Centroid"/>
      </xs:restriction>
    </xs:simpleType>

simpleType ResizeControl

type | restriction of xs:string
facets |
enumeration | ResizeNone
enumeration | AddToResizeBox
enumeration | AdjustToResizeBox
source |
    <xs:simpleType name="ResizeControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed ResizeControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="ResizeNone"/>
        <xs:enumeration value="AddToResizeBox"/>
        <xs:enumeration value="AdjustToResizeBox"/>
      </xs:restriction>
    </xs:simpleType>

simpleType UnitsControl

type | restriction of xs:string
facets |
enumeration | Absolute
enumeration | Parametric
source |
    <xs:simpleType name="UnitsControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed UnitsControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Absolute"/>
        <xs:enumeration value="Parametric"/>
      </xs:restriction>
    </xs:simpleType>

simpleType VertexControl

type | restriction of xs:string
facets |
enumeration | OverlapNone
enumeration | OverlapDirect
enumeration | OverlapWrap
source |
    <xs:simpleType name="VertexControl">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed VertexControl values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="OverlapNone"/>
        <xs:enumeration value="OverlapDirect"/>
        <xs:enumeration value="OverlapWrap"/>
      </xs:restriction>
    </xs:simpleType>

simpleType VertexJoin

type | restriction of xs:string
facets |
enumeration | None
enumeration | Bevel
enumeration | Round
enumeration | Miter
source |
    <xs:simpleType name="VertexJoin">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed VertexJoin values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="None"/>
        <xs:enumeration value="Bevel"/>
        <xs:enumeration value="Round"/>
        <xs:enumeration value="Miter"/>
      </xs:restriction>
    </xs:simpleType>

simpleType VerticalAlignment

type | restriction of xs:string
facets |
enumeration | Bottom
enumeration | Baseline
enumeration | Halfline
enumeration | Capline
enumeration | Top
source |
    <xs:simpleType name="VerticalAlignment">
      <xs:annotation>
        <xs:documentation>Enumerates the allowed VerticalAlignment values.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Bottom"/>
        <xs:enumeration value="Baseline"/>
        <xs:enumeration value="Halfline"/>
        <xs:enumeration value="Capline"/>
        <xs:enumeration value="Top"/>
      </xs:restriction>
    </xs:simpleType>

complexType ExtendedDataType

diagram |
used by |
elements | Override/ExtendedData1 ParameterOverrides/ExtendedData1 SymbolInstance/ExtendedData1 GridLayerDefinitionType/ExtendedData1 ChannelBandType/ExtendedData1 GridColorType/ExtendedData1 GridColorRuleType/ExtendedData1 HillShadeType/ExtendedData1 GridColorStyleType/ExtendedData1 GridSurfaceStyleType/ExtendedData1 GridScaleRangeType/ExtendedData1 ResizeBox/ExtendedData1 PointUsage/ExtendedData1 LineUsage/ExtendedData1 AreaUsage/ExtendedData1 Parameter/ExtendedData1 ParameterDefinition/ExtendedData1 SimpleSymbol/ExtendedData1 SimpleSymbolDefinition/ExtendedData1 CompoundSymbolDefinition/ExtendedData1 Path/ExtendedData1 Image/ExtendedData1 TextFrame/ExtendedData1 Text/ExtendedData1 DrawingLayerDefinitionType/ExtendedData1 VectorLayerDefinitionType/ExtendedData1 VectorScaleRangeType/ExtendedData1 ElevationSettingsType/ExtendedData1 PointTypeStyleType/ExtendedData1 PointRuleType/ExtendedData1 PointSymbolization2DType/ExtendedData1 LineTypeStyleType/ExtendedData1 LineRuleType/ExtendedData1 AreaSymbolizationFillType/ExtendedData1 AreaTypeStyleType/ExtendedData1 AreaRuleType/ExtendedData1 StrokeType/ExtendedData1 FillType/ExtendedData1 TextSymbolType/ExtendedData1 MarkSymbolType/ExtendedData1 NameStringPairType/ExtendedData1 ImageSymbolType/ExtendedData1 FontSymbolType/ExtendedData1 W2DSymbolType/ExtendedData1 BlockSymbolType/ExtendedData1 CompositeTypeStyle/ExtendedData1 CompositeRule/ExtendedData1 CompositeSymbolization/ExtendedData1 ThemeLabel/ExtendedData1
source |
    <xs:complexType name="ExtendedDataType">
      <xs:annotation>
        <xs:documentation>A type allocating space for future, additional, and validatable data.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
        <xs:any processContents="lax" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>