Schema SymbolDefinition-1.1.0.xsd

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 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 |
element | 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 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 | 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
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>