Map Service (MapServer) WSDL

 

 

<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:e="http://www.esri.com/schemas/ArcGIS/10.0" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.0">

  <types>

    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.0" xmlns="http://www.esri.com/schemas/ArcGIS/10.0">

      <xs:element name="GetDocumentInfo">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetDocumentInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="PropertySet" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapCount">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetMapCountResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapName">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Index" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapNameResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetDefaultMapName">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetDefaultMapNameResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetServerInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetServerInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="MapServerInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportMapImage">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="ImageDescription" type="ImageDescription" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportMapImageResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="MapImage" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportScaleBar">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ScaleBar" type="ScaleBar" minOccurs="0" />

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapDisplay" type="ImageDisplay" />

            <xs:element name="BackGroundColor" type="Color" minOccurs="0" />

            <xs:element name="ImageDescription" type="ImageDescription" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportScaleBarResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ImageResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="Find">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapImageDisplay" type="ImageDisplay" />

            <xs:element name="SearchString" type="xs:string" />

            <xs:element name="Contains" type="xs:boolean" />

            <xs:element name="SearchFields" type="xs:string" />

            <xs:element name="FindOption" type="esriFindOption" />

            <xs:element name="LayerIDs" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="FindResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfMapServerFindResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="Identify">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapImageDisplay" type="ImageDisplay" />

            <xs:element name="SearchShape" type="Geometry" />

            <xs:element name="Tolerance" type="xs:int" />

            <xs:element name="IdentifyOption" type="esriIdentifyOption" />

            <xs:element name="LayerIDs" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="IdentifyResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfMapServerIdentifyResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureCount">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureCountResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureIDs">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureIDsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="FIDSet" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureData">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureDataResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="RecordSet" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureCount2">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerDescription" type="LayerDescription" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureCount2Response">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureIDs2">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerDescription" type="LayerDescription" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureIDs2Response">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="FIDSet" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureData2">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerDescription" type="LayerDescription" />

            <xs:element name="QueryFilter" type="QueryFilter" />

            <xs:element name="QueryResultOptions" type="QueryResultOptions" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryFeatureData2Response">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="QueryResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryHyperlinks">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapImageDisplay" type="ImageDisplay" />

            <xs:element name="LayerIDs" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryHyperlinksResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfMapServerHyperlink" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ComputeScale">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapImageDisplay" type="ImageDisplay" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ComputeScaleResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:double" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ComputeDistance">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="FromPoint" type="Point" />

            <xs:element name="ToPoint" type="Point" />

            <xs:element name="Units" type="esriUnits" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ComputeDistanceResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:double" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ToMapPoints">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapImageDisplay" type="ImageDisplay" />

            <xs:element name="ScreenXValues" type="ArrayOfInt" />

            <xs:element name="ScreenYValues" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ToMapPointsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="Multipoint" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="FromMapPoints">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapDescription" type="MapDescription" />

            <xs:element name="MapImageDisplay" type="ImageDisplay" />

            <xs:element name="MapPoints" type="Multipoint" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="FromMapPointsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ScreenXValues" type="ArrayOfInt" />

            <xs:element name="ScreenYValues" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetLegendInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerIDs" type="ArrayOfInt" />

            <xs:element name="LegendPatch" type="MapServerLegendPatch" />

            <xs:element name="ImageType" type="ImageType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetLegendInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfMapServerLegendInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetSQLSyntaxInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetSQLSyntaxInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="SQLSyntaxInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetSupportedImageReturnTypes">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetSupportedImageReturnTypesResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="esriImageReturnType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="IsFixedScaleMap">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="IsFixedScaleMapResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:boolean" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="HasSingleFusedMapCache">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="HasSingleFusedMapCacheResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:boolean" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetTileCacheInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetTileCacheInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="TileCacheInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapTile">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="Level" type="xs:int" />

            <xs:element name="Row" type="xs:int" />

            <xs:element name="Column" type="xs:int" />

            <xs:element name="Format" type="xs:string" minOccurs="0" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapTileResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:base64Binary" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="HasLayerCache">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="HasLayerCacheResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:boolean" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetLayerTile">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

            <xs:element name="Level" type="xs:int" />

            <xs:element name="Row" type="xs:int" />

            <xs:element name="Column" type="xs:int" />

            <xs:element name="Format" type="xs:string" minOccurs="0" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetLayerTileResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:base64Binary" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetVirtualCacheDirectory">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetVirtualCacheDirectoryResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheName">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerID" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheNameResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetTileImageInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetTileImageInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="TileImageInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheControlInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheControlInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="CacheControlInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetServiceConfigurationInfo">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetServiceConfigurationInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="PropertySet" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheDescriptionInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheDescriptionInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="CacheDescriptionInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRowCount">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="MapTableDescription" type="MapTableDescription" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRowCountResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRowIDs">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="MapTableDescription" type="MapTableDescription" />

            <xs:element name="QueryFilter" type="QueryFilter" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRowIDsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryData">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="MapTableDescription" type="MapTableDescription" />

            <xs:element name="QueryFilter" type="QueryFilter" />

            <xs:element name="QueryResultOptions" type="QueryResultOptions" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryDataResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="QueryResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRelatedRecords">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="SourceTableID" type="xs:int" />

            <xs:element name="SourceFIDSet" type="FIDSet" />

            <xs:element name="RelateDescription" type="RelateDescription" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRelatedRecordsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="QueryResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheStorageInfo">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetCacheStorageInfoResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="CacheStorageInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRasterValue">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="SourceTableID" type="xs:int" />

            <xs:element name="RowIDs" type="ArrayOfInt" />

            <xs:element minOccurs="0" name="FieldName" type="xs:string" />

            <xs:element minOccurs="0" name="ImageType" type="ImageType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryRasterValueResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfImageResult" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryAttachmentInfos">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="TableID" type="xs:int" />

            <xs:element name="RowIDs" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryAttachmentInfosResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfAttachmentInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryAttachmentData">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="TableID" type="xs:int" />

            <xs:element name="AttachmentIDs" type="ArrayOfInt" />

            <xs:element name="TransportType" type="esriTransportType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryAttachmentDataResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfAttachmentData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryHTMLPopups">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="TableID" type="xs:int" />

            <xs:element name="RowIDs" type="ArrayOfInt" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="QueryHTMLPopupsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfString" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetDefaultLayerDrawingDescriptions">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="LayerIDs" type="ArrayOfInt" />

            <xs:element name="SymbolOutputOptions" type="ServerSymbolOutputOptions" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetDefaultLayerDrawingDescriptionsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfLayerDrawingDescription" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapTableSubtypeInfos">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="MapName" type="xs:string" />

            <xs:element name="TableIDs" type="ArrayOfInt" minOccurs="0" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMapTableSubtypeInfosResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfMapTableSubtypeInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:simpleType name="esriIdentifyOption">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriIdentifyTopmost" />

          <xs:enumeration value="esriIdentifyAllLayers" />

          <xs:enumeration value="esriIdentifyVisibleLayers" />

          <xs:enumeration value="esriIdentifyTopOneWithHTMLPopup" />

          <xs:enumeration value="esriIdentifyVisibleWithHTMLPopup" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriServerHTMLPopupType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriServerHTMLPopupTypeNone" />

          <xs:enumeration value="esriServerHTMLPopupTypeAsURL" />

          <xs:enumeration value="esriServerHTMLPopupTypeAsHTMLText" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriMapCacheStorageFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriMapCacheStorageModeCompact" />

          <xs:enumeration value="esriMapCacheStorageModeExploded" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriFindOption">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriFindVisibleLayers" />

          <xs:enumeration value="esriFindAllLayers" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="TileCacheInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

          <xs:element minOccurs="0" name="TileOrigin" type="Point">

            <xs:annotation>

              <xs:documentation>The tiling origin.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="TileCols" type="xs:int" />

          <xs:element name="TileRows" type="xs:int" />

          <xs:element name="DPI" type="xs:int">

            <xs:annotation>

              <xs:documentation>The tiling DPI.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="LODInfos" type="ArrayOfLODInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LODInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="LevelID" type="xs:int" />

          <xs:element name="Scale" type="xs:double" />

          <xs:element name="Resolution" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfLODInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="LODInfo" type="LODInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="AreaPatch">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Patch" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfGraphicElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="GraphicElement" type="GraphicElement" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfLayerDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="LayerDescription" type="LayerDescription" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapLayerInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapLayerInfo" type="MapLayerInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerBookmark">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerBookmark" type="MapServerBookmark" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerFindResult">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerFindResult" type="MapServerFindResult" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerHyperlink">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerHyperlink" type="MapServerHyperlink" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerIdentifyResult">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerIdentifyResult" type="MapServerIdentifyResult" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerLegendClass">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerLegendClass" type="MapServerLegendClass" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerLegendGroup">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerLegendGroup" type="MapServerLegendGroup" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerLegendInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerLegendInfo" type="MapServerLegendInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerRelationship">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerRelationship" type="MapServerRelationship" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapServerRow">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapServerRow" type="MapServerRow" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfStandaloneTableInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="StandaloneTableInfo" type="StandaloneTableInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfStandaloneTableDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="StandaloneTableDescription" type="StandaloneTableDescription" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRelateInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="RelateInfo" type="RelateInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRelatedRecordGroup">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="RelatedRecordGroup" type="RelatedRecordGroup" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfMapTableSubtypeInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="MapTableSubtypeInfo" type="MapTableSubtypeInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfSubtypeInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="SubtypeInfo" type="SubtypeInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfFieldDomainInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="FieldDomainInfo" type="FieldDomainInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="CenterAndScale">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapArea">

            <xs:sequence>

              <xs:element minOccurs="0" name="Center" type="Point" />

              <xs:element name="Scale" type="xs:double">

                <xs:annotation>

                  <xs:documentation>The map scale.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DPI" type="xs:double">

                <xs:annotation>

                  <xs:documentation>The device resolution of the image.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DevBottom" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The X cooridnate for bottom right corner point.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DevLeft" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The X coordinate for the upper left corner point.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DevTop" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The Y coordinate for the upper left corner point.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DevRight" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The Y coordinate for the bottom right corner point.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CenterAndSize">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapArea">

            <xs:sequence>

              <xs:element minOccurs="0" name="Center" type="Point" />

              <xs:element name="Height" type="xs:double" />

              <xs:element name="Width" type="xs:double" />

              <xs:element name="Units" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="FeatureExtent">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapArea">

            <xs:sequence>

              <xs:element name="DefaultScale" type="xs:double" />

              <xs:element default="1.0" name="ExpandRatio" type="xs:double" />

              <xs:element minOccurs="0" name="FeatureIDs" type="ArrayOfInt" />

              <xs:element name="LayerID" type="xs:int" />

              <xs:element name="MapName" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ImageDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="ImageType" type="ImageType">

            <xs:annotation>

              <xs:documentation>The type of image to be generated.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="ImageDisplay" type="ImageDisplay">

            <xs:annotation>

              <xs:documentation>The display characteristics of the image to be generated.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ImageDisplay">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ImageHeight" type="xs:int">

            <xs:annotation>

              <xs:documentation>The height of the image in pixels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageWidth" type="xs:int">

            <xs:annotation>

              <xs:documentation>The width of the image in pixels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageDPI" type="xs:double">

            <xs:annotation>

              <xs:documentation>The device resolution of the image (dots per inch).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="TransparentColor" type="Color" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ImageResult">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="ImageData" type="xs:base64Binary">

            <xs:annotation>

              <xs:documentation>Binary data representing the generated image.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageURL" type="xs:string">

            <xs:annotation>

              <xs:documentation>The URL of the generated image.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageHeight" type="xs:int">

            <xs:annotation>

              <xs:documentation>The height of the image in pixels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageWidth" type="xs:int">

            <xs:annotation>

              <xs:documentation>The width of the image in pixels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageDPI" type="xs:double">

            <xs:annotation>

              <xs:documentation>The device resolution of the image specified in the request (dots per inch).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="ImageType" type="xs:string">

            <xs:annotation>

              <xs:documentation>The MIME type of the image data</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriImageFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriImageNone" />

          <xs:enumeration value="esriImageBMP" />

          <xs:enumeration value="esriImageJPG" />

          <xs:enumeration value="esriImageDIB" />

          <xs:enumeration value="esriImageTIFF" />

          <xs:enumeration value="esriImagePNG" />

          <xs:enumeration value="esriImagePNG24" />

          <xs:enumeration value="esriImageEMF" />

          <xs:enumeration value="esriImagePS" />

          <xs:enumeration value="esriImagePDF" />

          <xs:enumeration value="esriImageAI" />

          <xs:enumeration value="esriImageGIF" />

          <xs:enumeration value="esriImageSVG" />

          <xs:enumeration value="esriImagePNG32" />

          <xs:enumeration value="esriImageJPGPNG" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriScaleBarPos">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriScaleBarAbove" />

          <xs:enumeration value="esriScaleBarBeforeLabels" />

          <xs:enumeration value="esriScaleBarAfterLabels" />

          <xs:enumeration value="esriScaleBarBeforeBar" />

          <xs:enumeration value="esriScaleBarAfterBar" />

          <xs:enumeration value="esriScaleBarBelow" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriVertPosEnum">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriAbove" />

          <xs:enumeration value="esriTop" />

          <xs:enumeration value="esriOn" />

          <xs:enumeration value="esriBottom" />

          <xs:enumeration value="esriBelow" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriScaleBarFrequency">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriScaleBarNone" />

          <xs:enumeration value="esriScaleBarOne" />

          <xs:enumeration value="esriScaleBarMajorDivisions" />

          <xs:enumeration value="esriScaleBarDivisions" />

          <xs:enumeration value="esriScaleBarDivisionsAndFirstMidpoint" />

          <xs:enumeration value="esriScaleBarDivisionsAndFirstSubdivisions" />

          <xs:enumeration value="esriScaleBarDivisionsAndSubdivisions" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriScaleBarResizeHint">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriScaleBarFixed" />

          <xs:enumeration value="esriScaleBarAutoDivision" />

          <xs:enumeration value="esriScaleBarAutoDivisions" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriImageReturnType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriImageReturnURL" />

          <xs:enumeration value="esriImageReturnMimeData" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="ImageType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ImageFormat" type="esriImageFormat">

            <xs:annotation>

              <xs:documentation>The image format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageReturnType" type="esriImageReturnType">

            <xs:annotation>

              <xs:documentation>The return type.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LayerDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapTableDescription">

            <xs:sequence>

              <xs:element name="LayerID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The layer ID. This is a unique ID for the layer, and is used to identify the layer in a number of method calls.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Visible" type="xs:boolean" />

              <xs:element name="ShowLabels" type="xs:boolean" />

              <xs:element name="ScaleSymbols" type="xs:boolean" />

              <xs:element minOccurs="0" name="SelectionFeatures" type="ArrayOfInt" />

              <xs:element minOccurs="0" name="SelectionColor" type="Color" />

              <xs:element minOccurs="0" name="SelectionSymbol" type="Symbol" />

              <xs:element name="SetSelectionSymbol" type="xs:boolean" />

              <xs:element name="SelectionBufferDistance" type="xs:double" />

              <xs:element name="ShowSelectionBuffer" type="xs:boolean" />

              <xs:element name="DefinitionExpression" type="xs:string" />

              <xs:element minOccurs="0" name="SourceID" type="xs:string" />

              <xs:element minOccurs="0" name="SelectionBufferSymbol" type="FillSymbol" />

              <xs:element minOccurs="0" name="LayerResultOptions" type="LayerResultOptions" />

              <xs:element minOccurs="0" name="UseTime" type="xs:boolean" />

              <xs:element minOccurs="0" name="TimeDataCumulative" type="xs:boolean" />

              <xs:element minOccurs="0" name="TimeOffset" type="xs:double" />

              <xs:element minOccurs="0" name="TimeOffsetUnits" type="esriTimeUnits" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LayerResultOptions">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" default="true" name="IncludeGeometry" type="xs:boolean" />

          <xs:element minOccurs="0" name="GeometryResultOptions" type="GeometryResultOptions" />

          <xs:element minOccurs="0" default="false" name="ReturnFieldNamesInResults" type="xs:boolean" />

          <xs:element minOccurs="0" default="true" name="FormatValuesInResults" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LegendClass">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Symbol" type="Symbol" />

          <xs:element name="Label" type="xs:string" />

          <xs:element name="Description" type="xs:string" />

          <xs:element minOccurs="0" name="LegendClassFormat" type="LegendClassFormat" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LegendClassFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="LabelSymbol" type="Symbol" />

          <xs:element minOccurs="0" name="DescriptionSymbol" type="Symbol" />

          <xs:element minOccurs="0" name="LinePatch" type="LinePatch" />

          <xs:element minOccurs="0" name="AreaPatch" type="AreaPatch" />

          <xs:element name="PatchWidth" type="xs:double" />

          <xs:element name="PatchHeight" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LinePatch">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Patch" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MapArea" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Extent" type="Envelope" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element minOccurs="0" name="MapArea" type="MapArea" />

          <xs:element minOccurs="0" name="LayerDescriptions" type="ArrayOfLayerDescription" />

          <xs:element name="Rotation" type="xs:double">

            <xs:annotation>

              <xs:documentation>The angle/rotation of the map (data frame) in degrees, measured anti-clockwise.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

          <xs:element minOccurs="0" name="TransparentColor" type="Color" />

          <xs:element minOccurs="0" name="SelectionColor" type="Color" />

          <xs:element minOccurs="0" name="BackgroundSymbol" type="FillSymbol" />

          <xs:element minOccurs="0" name="CustomGraphics" type="ArrayOfGraphicElement" />

          <xs:element minOccurs="0" name="GeoTransformation" type="GeoTransformation" />

          <xs:element minOccurs="0" name="TimeReference" type="TimeReference" />

          <xs:element minOccurs="0" name="TimeValue" type="TimeValue" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapExtent">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapArea" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MapImage">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="ImageData" type="xs:base64Binary">

            <xs:annotation>

              <xs:documentation>Binary data representing the generated image.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageURL" type="xs:string">

            <xs:annotation>

              <xs:documentation>The URL of the generated image.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Extent" type="Envelope">

            <xs:annotation>

              <xs:documentation>The extent of the map frame on the page.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="VisibleLayerIDs" type="ArrayOfInt">

            <xs:annotation>

              <xs:documentation>Array of the visible layers drawn for the generated map scale.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="MapScale" type="xs:double" />

          <xs:element name="ImageHeight" type="xs:int">

            <xs:annotation>

              <xs:documentation>The height of the image in pixels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageWidth" type="xs:int">

            <xs:annotation>

              <xs:documentation>The width of the image in pixels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageDPI" type="xs:double">

            <xs:annotation>

              <xs:documentation>The device resolution of the image specified in the request (dots per inch).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="ImageType" type="xs:string">

            <xs:annotation>

              <xs:documentation>The MIME type of the image data.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapLayerInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapTableInfo">

            <xs:sequence>

              <xs:element name="LayerID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The layer identifier. This ID is used throughout to uniquely identify the layer for all requests.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Name" type="xs:string" />

              <xs:element name="Description" type="xs:string" />

              <xs:element name="LayerType" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The layer type.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SourceDescription" type="xs:string" />

              <xs:element name="HasLabels" type="xs:boolean" />

              <xs:element name="CanSelect" type="xs:boolean" />

              <xs:element name="CanScaleSymbols" type="xs:boolean" />

              <xs:element name="MinScale" type="xs:double" />

              <xs:element name="MaxScale" type="xs:double" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element name="HasHyperlinks" type="xs:boolean" />

              <xs:element name="HasAttributes" type="xs:boolean" />

              <xs:element name="CanIdentify" type="xs:boolean" />

              <xs:element name="CanFind" type="xs:boolean" />

              <xs:element name="IsFeatureLayer" type="xs:boolean" />

              <xs:element minOccurs="0" name="Fields" type="Fields" />

              <xs:element name="DisplayField" type="xs:string" />

              <xs:element name="IDField" type="xs:string" />

              <xs:element name="IsComposite" type="xs:boolean" />

              <xs:element minOccurs="0" name="SubLayerIDs" type="ArrayOfInt">

                <xs:annotation>

                  <xs:documentation>The list identifying the sublayers if the layer is a composite layer.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ParentLayerID" type="xs:int" />

              <xs:element minOccurs="0" name="FieldAliases" type="ArrayOfString" />

              <xs:element name="CopyrightText" type="xs:string" />

              <xs:element minOccurs="0" name="RelateInfos" type="ArrayOfRelateInfo" />

              <xs:element minOccurs="0" name="SupportsTime" type="xs:boolean" />

              <xs:element minOccurs="0" name="StartTimeFieldName" type="xs:string" />

              <xs:element minOccurs="0" name="EndTimeFieldName" type="xs:string" />

              <xs:element minOccurs="0" name="TimeValueFormat" type="xs:string" />

              <xs:element minOccurs="0" name="TrackIDFieldName" type="xs:string" />

              <xs:element minOccurs="0" name="TimeReference" type="TimeReference" />

              <xs:element minOccurs="0" name="FullTimeExtent" type="TimeExtent" />

              <xs:element minOccurs="0" default="0.0" name="TimeInterval" type="xs:double" />

              <xs:element minOccurs="0" name="TimeIntervalUnits" type="esriTimeUnits" />

              <xs:element minOccurs="0" name="HasAttachments" type="xs:boolean" />

              <xs:element minOccurs="0" name="HTMLPopupType" type="esriServerHTMLPopupType" />

              <xs:element minOccurs="0" name="HasLayerDrawingDescription" type="xs:boolean" />

              <xs:element minOccurs="0" name="HasSubtype" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MapServerBookmark">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapArea">

            <xs:sequence>

              <xs:element name="Name" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MapServerFindResult">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Value" type="xs:string" />

          <xs:element name="LayerID" type="xs:int" />

          <xs:element name="FeatureID" type="xs:int">

            <xs:annotation>

              <xs:documentation>The ID of the found feature.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FieldName" type="xs:string" />

          <xs:element minOccurs="0" name="Shape" type="Geometry">

            <xs:annotation>

              <xs:documentation>The geometry of the found feature.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Properties" type="PropertySet">

            <xs:annotation>

              <xs:documentation>A set of name-value pairs for the found features's field names and values.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerHyperlink">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Location" type="Geometry" />

          <xs:element name="URL" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerIdentifyResult">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="LayerID" type="xs:int" />

          <xs:element name="Name" type="xs:string" />

          <xs:element minOccurs="0" name="Properties" type="PropertySet" />

          <xs:element minOccurs="0" name="Shape" type="Geometry" />

          <xs:element minOccurs="0" name="Relationships" type="ArrayOfMapServerRelationship">

            <xs:annotation>

              <xs:documentation>The related rows (relationships) of the identified object.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="HTMLPopup" type="xs:string" />

          <xs:element minOccurs="0" name="FeatureID" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element name="Description" type="xs:string" />

          <xs:element minOccurs="0" name="FullExtent" type="Envelope" />

          <xs:element minOccurs="0" name="Extent" type="Envelope" />

          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">

            <xs:annotation>

              <xs:documentation>The spatial reference of the map (data frame).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="MapLayerInfos" type="ArrayOfMapLayerInfo" />

          <xs:element minOccurs="0" name="BackgroundColor" type="Color" />

          <xs:element minOccurs="0" name="Bookmarks" type="ArrayOfMapServerBookmark" />

          <xs:element minOccurs="0" name="DefaultMapDescription" type="MapDescription" />

          <xs:element name="Units" type="esriUnits">

            <xs:annotation>

              <xs:documentation>The units for the map (data frame).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SupportedImageReturnTypes" type="esriImageReturnType" />

          <xs:element minOccurs="0" name="BackgroundSymbol" type="FillSymbol" />

          <xs:element name="CopyrightText" type="xs:string" />

          <xs:element minOccurs="0" name="StandaloneTableInfos" type="ArrayOfStandaloneTableInfo" />

          <xs:element minOccurs="0" name="StandaloneTableDescriptions" type="ArrayOfStandaloneTableDescription" />

          <xs:element minOccurs="0" name="FullTimeExtent" type="TimeExtent" />

          <xs:element minOccurs="0" name="DefaultTimeStepInterval" type="xs:double" />

          <xs:element minOccurs="0" name="DefaultTimeStepIntervalUnits" type="esriTimeUnits" />

          <xs:element minOccurs="0" name="DefaultTimeWindow" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerLegendClass">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Label" type="xs:string" />

          <xs:element name="Description" type="xs:string" />

          <xs:element minOccurs="0" name="SymbolImage" type="ImageResult" />

          <xs:element minOccurs="0" name="TransparentColor" type="Color" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerLegendGroup">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Heading" type="xs:string" />

          <xs:element minOccurs="0" name="LegendClasses" type="ArrayOfMapServerLegendClass">

            <xs:annotation>

              <xs:documentation>A collection of legend class objects.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerLegendInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="LayerID" type="xs:int" />

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>The layer name.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="LegendGroups" type="ArrayOfMapServerLegendGroup" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerLegendPatch">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Width" type="xs:double">

            <xs:annotation>

              <xs:documentation>The patch width (in points).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Height" type="xs:double">

            <xs:annotation>

              <xs:documentation>The patch width (in points).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ImageDPI" type="xs:double">

            <xs:annotation>

              <xs:documentation>The patch resolution (dots per inch).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="LinePatch" type="LinePatch" />

          <xs:element minOccurs="0" name="AreaPatch" type="AreaPatch" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerRelationship">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element minOccurs="0" name="Rows" type="ArrayOfMapServerRow" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerRow">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element minOccurs="0" name="Properties" type="PropertySet">

            <xs:annotation>

              <xs:documentation>A set of name-value pairs for the row's field names and values.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Relationships" type="ArrayOfMapServerRelationship">

            <xs:annotation>

              <xs:documentation>The related rows (relationships).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FeatureID" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ScaleBar" abstract="true">

        <xs:annotation>

          <xs:documentation>A map surround for displaying a scale bar.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="BarHeight" type="xs:double" />

          <xs:element minOccurs="0" name="Division" type="xs:double" />

          <xs:element minOccurs="0" name="Divisions" type="xs:short" />

          <xs:element minOccurs="0" name="DivisionsBeforeZero" type="xs:short" />

          <xs:element minOccurs="0" name="Subdivisions" type="xs:short" />

          <xs:element minOccurs="0" name="Units" type="esriUnits" />

          <xs:element minOccurs="0" name="UnitLabel" type="xs:string" />

          <xs:element minOccurs="0" name="UnitLabelPosition" type="esriScaleBarPos" />

          <xs:element minOccurs="0" name="UnitLabelGap" type="xs:double" />

          <xs:element minOccurs="0" name="UnitLabelSymbol" type="TextSymbol" />

          <xs:element minOccurs="0" name="LabelFrequency" type="esriScaleBarFrequency" />

          <xs:element minOccurs="0" name="LabelPosition" type="esriVertPosEnum" />

          <xs:element minOccurs="0" name="LabelGap" type="xs:double" />

          <xs:element minOccurs="0" name="LabelSymbol" type="TextSymbol" />

          <xs:element minOccurs="0" name="NumberFormat" type="NumericFormat" />

          <xs:element minOccurs="0" name="ResizeHint" type="esriScaleBarResizeHint" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="AlternatingScaleBar">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ScaleBar">

            <xs:sequence>

              <xs:element minOccurs="0" name="FillSymbol1" type="FillSymbol" />

              <xs:element minOccurs="0" name="FillSymbol2" type="FillSymbol" />

              <xs:element minOccurs="0" name="DivisionMarkSymbol" type="LineSymbol" />

              <xs:element minOccurs="0" name="SubdivisionMarkSymbol" type="LineSymbol" />

              <xs:element minOccurs="0" name="DivisionMarkHeight" type="xs:double" />

              <xs:element minOccurs="0" name="SubdivisionMarkHeight" type="xs:double" />

              <xs:element minOccurs="0" name="MarkPosition" type="esriVertPosEnum" />

              <xs:element minOccurs="0" name="MarkFrequency" type="esriScaleBarFrequency" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="SingleDivisionScaleBar">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ScaleBar">

            <xs:sequence>

              <xs:element minOccurs="0" name="FillSymbol" type="FillSymbol" />

              <xs:element minOccurs="0" name="DivisionMarkSymbol" type="LineSymbol" />

              <xs:element minOccurs="0" name="SubdivisionMarkSymbol" type="LineSymbol" />

              <xs:element minOccurs="0" name="DivisionMarkHeight" type="xs:double" />

              <xs:element minOccurs="0" name="SubdivisionMarkHeight" type="xs:double" />

              <xs:element minOccurs="0" name="MarkPosition" type="esriVertPosEnum" />

              <xs:element minOccurs="0" name="MarkFrequency" type="esriScaleBarFrequency" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="SQLSyntaxInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="FunctionNames" type="PropertySet" />

          <xs:element minOccurs="0" name="SpecialCharacters" type="PropertySet" />

          <xs:element minOccurs="0" name="SupportedPredicates" type="ArrayOfString" />

          <xs:element minOccurs="0" name="SupportedClauses" type="ArrayOfString" />

          <xs:element name="IdentifierCase" type="xs:boolean" />

          <xs:element name="DelimitedIdentifierCase" type="xs:boolean" />

          <xs:element name="StringComparisonCase" type="xs:boolean" />

          <xs:element minOccurs="0" name="Keywords" type="ArrayOfString" />

          <xs:element name="InvalidCharacters" type="xs:string" />

          <xs:element name="InvalidStartingCharacters" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Shadow" abstract="true">

        <xs:annotation>

          <xs:documentation>Frame drop shadows.</xs:documentation>

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="Background" abstract="true">

        <xs:annotation>

          <xs:documentation>Frame Background.</xs:documentation>

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="SymbolBackground">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Background">

            <xs:sequence>

              <xs:element name="HorizontalGap" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Horizontal offset or gap between the decoration and the subject in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="CornerRounding" type="xs:short" />

              <xs:element name="VerticalGap" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Vertical offset or gap between the decoration and the subject in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Symbol" type="FillSymbol">

                <xs:annotation>

                  <xs:documentation>Symbol used to draw the background.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Border" abstract="true">

        <xs:annotation>

          <xs:documentation>Frame border used by this element.</xs:documentation>

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="SymbolBorder">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Border">

            <xs:sequence>

              <xs:element name="HorizontalGap" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Horizontal offset or gap between the decoration and the subject in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="CornerRounding" type="xs:short" />

              <xs:element name="VerticalGap" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Vertical offset or gap between the decoration and the subject in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Symbol" type="LineSymbol">

                <xs:annotation>

                  <xs:documentation>Symbol used to draw the border.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="SymbolShadow">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Shadow">

            <xs:sequence>

              <xs:element minOccurs="0" name="Symbol" type="LineSymbol">

                <xs:annotation>

                  <xs:documentation>Symbol used to draw the shadow.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="CornerRounding" type="xs:short" />

              <xs:element name="HorizontalOffset" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Horizontal offset or gap between the decoration and the subject in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="VerticalOffset" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Vertical offset or gap between the decoration and the subject in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Element" abstract="true">

        <xs:annotation>

          <xs:documentation>Element.</xs:documentation>

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="GraphicElement" abstract="true">

        <xs:annotation>

          <xs:documentation>Graphic Element Obejct.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Element">

            <xs:sequence />

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LineElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

              <xs:element name="Line" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a PolyLine.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CircleElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element name="Rectangle" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon or an Envelope.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EllipseElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element name="Rectangle" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon or an Envelope.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="GroupElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Element">

            <xs:sequence>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element name="Elements" type="ArrayOfGraphicElement" />

              <xs:element minOccurs="0" name="Rectangle" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />

              <xs:element minOccurs="0" name="Border" type="Border" />

              <xs:element minOccurs="0" name="Background" type="Background" />

              <xs:element minOccurs="0" name="DraftMode" type="xs:boolean" />

              <xs:element minOccurs="0" name="Shadow" type="Shadow" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MarkerElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

              <xs:element name="Point" type="Point">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a Point.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ParagraphTextElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Text" type="xs:string" />

              <xs:element minOccurs="0" name="Scale" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Should have been boolean type. Indicates if the text scales with the map.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

              <xs:element name="TextGeometry" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a .</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FrameBorder" type="Border">

                <xs:annotation>

                  <xs:documentation>Frame border used by this element.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FrameBackground" type="Background">

                <xs:annotation>

                  <xs:documentation>Frame background used by this element.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FrameShadow" type="Shadow">

                <xs:annotation>

                  <xs:documentation>"Frame shadow used by this element.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ColumnGap" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Gap between columns in points.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ColumnCount" type="xs:int">

                <xs:annotation>

                  <xs:documentation>Number of columns.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Margin" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Value for the margin.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolygonElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

              <xs:element name="Polygon" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the bounds has a fixed aspect ratio.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RectangleElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element name="Rectangle" type="Geometry">

                <xs:annotation>

                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the bounds has a fixed aspect ratio.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TextElement">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="GraphicElement">

            <xs:sequence>

              <xs:element minOccurs="0" name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Type" type="xs:string" />

              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />

              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />

              <xs:element minOccurs="0" name="Text" type="xs:string" />

              <xs:element minOccurs="0" name="Scale" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the text scales with the map.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Symbol" type="Symbol" />

              <xs:element name="TextGeometry" type="Geometry" />

              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Patch">

        <xs:annotation>

          <xs:documentation>legend patch.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Name" type="xs:string" />

          <xs:element minOccurs="0" name="PreserveAspectRatio" type="xs:boolean" />

          <xs:element minOccurs="0" name="Geometry" type="Geometry">

            <xs:annotation>

              <xs:documentation>Patch geometry sized to fit the specified bounds.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriRotationType">

        <xs:annotation>

          <xs:documentation>Marker symbol rotation options.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRotateSymbolGeographic">

            <xs:annotation>

              <xs:documentation>Clockwise rotation with 0 at the positive y-axis.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRotateSymbolArithmetic">

            <xs:annotation>

              <xs:documentation>Counter clockwise rotation with 0 at the positive x-axis.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriNormalizationType">

        <xs:annotation>

          <xs:documentation>Various methods to normalize Data.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriNormalizeByField">

            <xs:annotation>

              <xs:documentation>Normalize by field.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNormalizeByLog">

            <xs:annotation>

              <xs:documentation>Normalize by Log.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNormalizeByPercentOfTotal">

            <xs:annotation>

              <xs:documentation>Normalize by percent of total.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNormalizeByArea">

            <xs:annotation>

              <xs:documentation>Normalize by area.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNormalizeByNothing">

            <xs:annotation>

              <xs:documentation>Do not Normalize.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="FeatureRenderer" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="UniqueValueInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Value" type="xs:string" />

          <xs:element minOccurs="0" name="Label" type="xs:string" />

          <xs:element minOccurs="0" name="Description" type="xs:string" />

          <xs:element minOccurs="0" name="Symbol" type="Symbol" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ClassBreakInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ClassMaximumValue" type="xs:double" />

          <xs:element minOccurs="0" name="Label" type="xs:string" />

          <xs:element minOccurs="0" name="Description" type="xs:string" />

          <xs:element name="Symbol" type="Symbol" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfClassBreakInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassBreakInfo" type="ClassBreakInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfUniqueValueInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="UniqueValueInfo" type="UniqueValueInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="SimpleRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FeatureRenderer">

            <xs:sequence>

              <xs:element name="Symbol" type="Symbol" />

              <xs:element minOccurs="0" name="Label" type="xs:string" />

              <xs:element minOccurs="0" name="Description" type="xs:string" />

              <xs:element minOccurs="0" name="RotationField" type="xs:string" />

              <xs:element minOccurs="0" name="RotationType" type="esriRotationType" />

              <xs:element minOccurs="0" name="TransparencyField" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="UniqueValueRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FeatureRenderer">

            <xs:sequence>

              <xs:element name="Field1" type="xs:string">

                <xs:annotation>

                  <xs:documentation>

                The first field that contains the values to symbolize.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Field2" type="xs:string">

                <xs:annotation>

                  <xs:documentation>

                The second value that will be used to create all unique combinations of unique values with the first value field.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Field3" type="xs:string">

                <xs:annotation>

                  <xs:documentation>

                The third value that will be used to create all unique combinations of unique values with the two value fields you choose.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FieldDelimiter" type="xs:string" />

              <xs:element minOccurs="0" name="DefaultSymbol" type="Symbol" />

              <xs:element minOccurs="0" name="DefaultLabel" type="xs:string" />

              <xs:element minOccurs="0" name="UniqueValueInfos" type="ArrayOfUniqueValueInfo">

                <xs:annotation>

                  <xs:documentation>

                A collection of UniqueValueInfo objects.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="RotationField" type="xs:string" />

              <xs:element minOccurs="0" name="RotationType" type="esriRotationType" />

              <xs:element minOccurs="0" name="TransparencyField" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ClassBreaksRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FeatureRenderer">

            <xs:sequence>

              <xs:element name="Field" type="xs:string" />

              <xs:element name="MinimumValue" type="xs:double">

                <xs:annotation>

                  <xs:documentation>

                Minimum break, i.e. the lower bound of the first class.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ClassBreakInfos" type="ArrayOfClassBreakInfo">

                <xs:annotation>

                  <xs:documentation>

                A collection of UniqueValueInfo objects.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="BackgroundSymbol" type="FillSymbol" />

              <xs:element minOccurs="0" name="NormalizationField" type="xs:string" />

              <xs:element minOccurs="0" name="NormalizationType" type="esriNormalizationType" />

              <xs:element minOccurs="0" name="NormalizationTotal" type="xs:double" />

              <xs:element minOccurs="0" name="RotationField" type="xs:string" />

              <xs:element minOccurs="0" name="RotationType" type="esriRotationType" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LabelingDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="LabelClassDescriptions" type="ArrayOfLabelClassDescription" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriServerPointLabelPlacementType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriServerPointLabelPlacementAboveCenter" />

          <xs:enumeration value="esriServerPointLabelPlacementAboveLeft" />

          <xs:enumeration value="esriServerPointLabelPlacementAboveRight" />

          <xs:enumeration value="esriServerPointLabelPlacementBelowCenter" />

          <xs:enumeration value="esriServerPointLabelPlacementBelowLeft" />

          <xs:enumeration value="esriServerPointLabelPlacementBelowRight" />

          <xs:enumeration value="esriServerPointLabelPlacementCenterCenter" />

          <xs:enumeration value="esriServerPointLabelPlacementCenterLeft" />

          <xs:enumeration value="esriServerPointLabelPlacementCenterRight" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriServerLineLabelPlacementType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriServerLinePlacementAboveAfter" />

          <xs:enumeration value="esriServerLinePlacementAboveAlong" />

          <xs:enumeration value="esriServerLinePlacementAboveBefore" />

          <xs:enumeration value="esriServerLinePlacementAboveStart" />

          <xs:enumeration value="esriServerLinePlacementAboveEnd" />

          <xs:enumeration value="esriServerLinePlacementBelowAfter" />

          <xs:enumeration value="esriServerLinePlacementBelowAlong" />

          <xs:enumeration value="esriServerLinePlacementBelowBefore" />

          <xs:enumeration value="esriServerLinePlacementBelowStart" />

          <xs:enumeration value="esriServerLinePlacementBelowEnd" />

          <xs:enumeration value="esriServerLinePlacementCenterAfter" />

          <xs:enumeration value="esriServerLinePlacementCenterAlong" />

          <xs:enumeration value="esriServerLinePlacementCenterBefore" />

          <xs:enumeration value="esriServerLinePlacementCenterStart" />

          <xs:enumeration value="esriServerLinePlacementCenterEnd" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriServerPolygonLabelPlacementType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriServerPolygonPlacementAlwaysHorizontal" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="LabelPlacementDescription" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="PointLabelPlacementDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="LabelPlacementDescription">

            <xs:sequence>

              <xs:element name="Type" type="esriServerPointLabelPlacementType" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LineLabelPlacementDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="LabelPlacementDescription">

            <xs:sequence>

              <xs:element name="Type" type="esriServerLineLabelPlacementType" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolygonLabelPlacementDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="LabelPlacementDescription">

            <xs:sequence>

              <xs:element name="Type" type="esriServerPolygonLabelPlacementType" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LabelClassDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="LabelPlacementDescription" type="LabelPlacementDescription" />

          <xs:element minOccurs="0" name="LabelExpression" type="xs:string" />

          <xs:element minOccurs="0" name="Symbol" type="SimpleTextSymbol" />

          <xs:element minOccurs="0" name="UseCodedValue" type="xs:boolean" />

          <xs:element minOccurs="0" name="MaximumScale" type="xs:double" />

          <xs:element minOccurs="0" name="MinimumScale" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfLabelClassDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="LabelClassDescription" type="LabelClassDescription" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfLayerDrawingDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="LayerDrawingDescription" type="LayerDrawingDescription" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LayerDrawingDescription" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="FeatureLayerDrawingDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="LayerDrawingDescription">

            <xs:sequence>

              <xs:element minOccurs="0" name="FeatureRenderer" type="FeatureRenderer" />

              <xs:element minOccurs="0" name="ScaleSymbols" type="xs:boolean" />

              <xs:element minOccurs="0" name="Transparency" type="xs:short" />

              <xs:element minOccurs="0" name="Brightness" type="xs:short" />

              <xs:element minOccurs="0" name="Contrast" type="xs:short" />

              <xs:element minOccurs="0" name="LabelingDescription" type="LabelingDescription" />

              <xs:element minOccurs="0" name="SourceLayerID" type="xs:int" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfLegendClass">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="LegendClass" type="LegendClass" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="LegendGroup">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Visible" type="xs:boolean" />

          <xs:element name="Editable" type="xs:boolean" />

          <xs:element name="Heading" type="xs:string" />

          <xs:element minOccurs="0" name="LegendClasses" type="ArrayOfLegendClass" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfLegendGroup">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="LegendGroup" type="LegendGroup" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TileImageInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="CacheTileFormat" type="xs:string">

            <xs:annotation>

              <xs:documentation>The cache tile format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="CompressionQuality" type="xs:int">

            <xs:annotation>

              <xs:documentation>The cache tile image compression quality.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Antialiasing" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="CacheStorageInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="StorageFormat" type="esriMapCacheStorageFormat">

            <xs:annotation>

              <xs:documentation>The tile storage format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="PacketSize" type="xs:int">

            <xs:annotation>

              <xs:documentation>The cache tile packet size.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ImageQueryFilter">

        <xs:annotation>

          <xs:documentation>ESRI Image Query Filter Object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="TimeQueryFilter">

            <xs:sequence>

              <xs:element name="PixelSize" type="Point" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterLayerDrawingDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="LayerDrawingDescription">

            <xs:sequence>

              <xs:element minOccurs="0" name="RasterRenderer" type="RasterRenderer" />

              <xs:element minOccurs="0" name="Transparency" type="xs:short" />

              <xs:element minOccurs="0" name="Brightness" type="xs:short" />

              <xs:element minOccurs="0" name="Contrast" type="xs:short" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterRenderer" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Indexed" type="xs:boolean" />

          <xs:element minOccurs="0" name="Brightness" type="xs:int" />

          <xs:element minOccurs="0" name="Contrast" type="xs:int" />

          <xs:element minOccurs="0" name="ResamplingType" type="xs:string" />

          <xs:element minOccurs="0" name="NoDataColor" type="Color" />

          <xs:element minOccurs="0" name="NoDataValue" type="ArrayOfDouble" />

          <xs:element minOccurs="0" name="AlphaBandIndex" type="xs:int" />

          <xs:element minOccurs="0" name="UseAlphaBand" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RasterUniqueValueRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="RasterRenderer">

            <xs:sequence>

              <xs:element minOccurs="0" name="ValueField" type="xs:string" />

              <xs:element minOccurs="0" name="ClassField" type="xs:string" />

              <xs:element minOccurs="0" name="ColorSchema" type="xs:string" />

              <xs:element minOccurs="0" name="UseDefaultSymbol" type="xs:boolean" />

              <xs:element minOccurs="0" name="DefaultSymbol" type="Symbol" />

              <xs:element minOccurs="0" name="DefaultLabel" type="xs:string" />

              <xs:element minOccurs="0" name="LegendGroupsCount" type="xs:int" />

              <xs:element minOccurs="0" name="LegendGroups" type="ArrayOfLegendGroup" />

              <xs:element minOccurs="0" name="ClassValuesCount" type="xs:int" />

              <xs:element minOccurs="0" name="ClassesInLegend" type="ArrayOfInt" />

              <xs:element minOccurs="0" name="ClassesInLegendSize" type="ArrayOfInt" />

              <xs:element minOccurs="0" name="UniqueValueVariants" type="ArrayOfValue" />

              <xs:element minOccurs="0" name="Global" type="xs:boolean" />

              <xs:element minOccurs="0" name="UniqueValues" type="RasterUniqueValues" />

              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterRGBRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="RasterRenderer">

            <xs:sequence>

              <xs:element minOccurs="0" name="LayerIndex1" type="xs:int" />

              <xs:element minOccurs="0" name="LayerIndex2" type="xs:int" />

              <xs:element minOccurs="0" name="LayerIndex3" type="xs:int" />

              <xs:element minOccurs="0" name="UseRGBBand" type="xs:unsignedByte" />

              <xs:element minOccurs="0" name="StretchType" type="xs:string" />

              <xs:element minOccurs="0" name="StandardDeviations" type="xs:double" />

              <xs:element minOccurs="0" name="IsInvert" type="xs:boolean" />

              <xs:element minOccurs="0" name="DisplayBkValue" type="xs:boolean" />

              <xs:element minOccurs="0" name="BlackValue" type="ArrayOfDouble" />

              <xs:element minOccurs="0" name="IsLegendExpand" type="xs:boolean" />

              <xs:element minOccurs="0" name="BkColor" type="Color" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterStretchRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="RasterRenderer">

            <xs:sequence>

              <xs:element minOccurs="0" name="ColorSchema" type="xs:string" />

              <xs:element minOccurs="0" name="LayerIndex1" type="xs:int" />

              <xs:element minOccurs="0" name="StretchType" type="xs:string" />

              <xs:element minOccurs="0" name="StandardDeviations" type="xs:double" />

              <xs:element minOccurs="0" name="IsInvert" type="xs:boolean" />

              <xs:element minOccurs="0" name="BlackValue" type="xs:double" />

              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp" />

              <xs:element minOccurs="0" name="BkColor" type="Color" />

              <xs:element minOccurs="0" name="LegendGroup" type="LegendGroup" />

              <xs:element minOccurs="0" name="DisplayBkValue" type="xs:boolean" />

              <xs:element minOccurs="0" name="InitCustomMinMax" type="xs:boolean" />

              <xs:element minOccurs="0" name="UseCustomMinMax" type="xs:boolean" />

              <xs:element minOccurs="0" name="CustomMin" type="xs:double" />

              <xs:element minOccurs="0" name="CustomMax" type="xs:double" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterClassifyRenderer">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="RasterRenderer">

            <xs:sequence>

              <xs:element minOccurs="0" name="ClassField" type="xs:string" />

              <xs:element minOccurs="0" name="NormField" type="xs:string" />

              <xs:element minOccurs="0" name="ClassificationComponent" type="xs:boolean" />

              <xs:element minOccurs="0" name="Guid" type="xs:string" />

              <xs:element minOccurs="0" name="ColorSchema" type="xs:string" />

              <xs:element minOccurs="0" name="LegendGroupsCount" type="xs:int" />

              <xs:element minOccurs="0" name="LegendGroups" type="ArrayOfLegendGroup" />

              <xs:element minOccurs="0" name="BreakSize" type="xs:int" />

              <xs:element minOccurs="0" name="ArrayOfBreak" type="ArrayOfDouble" />

              <xs:element minOccurs="0" name="Ascending" type="xs:boolean" />

              <xs:element minOccurs="0" name="NumberFormat" type="NumericFormat" />

              <xs:element minOccurs="0" name="ShowClassGaps" type="xs:boolean" />

              <xs:element minOccurs="0" name="DeviationInterval" type="xs:double" />

              <xs:element minOccurs="0" name="ExlusionValues" type="xs:anyType" />

              <xs:element minOccurs="0" name="ExclusionRanges" type="xs:anyType" />

              <xs:element minOccurs="0" name="ExclusionShowClass" type="xs:boolean" />

              <xs:element minOccurs="0" name="ExclusionLegendClass" type="LegendClass" />

              <xs:element minOccurs="0" name="UniqueValues" type="RasterUniqueValues" />

              <xs:element minOccurs="0" name="UseHillShader" type="xs:boolean" />

              <xs:element minOccurs="0" name="ZScale" type="xs:double" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LayerCacheInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="LayerID" type="xs:int" />

          <xs:element name="HasCache" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfLayerCacheInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="LayerCacheInfo" type="LayerCacheInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="CacheDescriptionInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="TileCacheInfo" type="TileCacheInfo" />

          <xs:element name="TileImageInfo" type="TileImageInfo" />

          <xs:element name="LayerCacheInfos" type="ArrayOfLayerCacheInfo" />

          <xs:element name="CacheControlInfo" type="CacheControlInfo" />

          <xs:element name="ServiceType" type="esriCachedMapServiceType" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="CacheControlInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ClientCachingAllowed" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriCachedMapServiceType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSingleFusedMapCache" />

          <xs:enumeration value="esriIndividualLayerCaches" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriQueryResultFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriQueryResultRecordSetAsObject" />

          <xs:enumeration value="esriQueryResultJsonAsMime" />

          <xs:enumeration value="esriQueryResultJsonAsURL" />

          <xs:enumeration value="esriQueryResultAmfAsMime" />

          <xs:enumeration value="esriQueryResultAmfAsURL" />

          <xs:enumeration value="esriQueryResultKMLAsMime" />

          <xs:enumeration value="esriQueryResultKMLAsURL" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="QueryResultOptions">

        <xs:annotation>

          <xs:documentation>Query Result Options</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Format" type="esriQueryResultFormat">

            <xs:annotation>

              <xs:documentation>The query result format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FormatProperties" type="PropertySet">

            <xs:annotation>

              <xs:documentation>Format properties specific to result format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="GeoTransformation" type="GeoTransformation">

            <xs:annotation>

              <xs:documentation>Geographic Transformation.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="QueryResult">

        <xs:annotation>

          <xs:documentation>Query Result</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="MimeData" type="xs:base64Binary">

            <xs:annotation>

              <xs:documentation>Binary data representing the generated result in the requested format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="URL" type="xs:string">

            <xs:annotation>

              <xs:documentation>The URL of the generated query result in the requested format.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Object" type="xs:anyType">

            <xs:annotation>

              <xs:documentation>The Object representing generated query result in the requested format.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapTableInfo" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="MapTableDescription" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:complexType name="StandaloneTableInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapTableInfo">

            <xs:sequence>

              <xs:element name="ID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The table identifier. This ID is used throughout to uniquely identify the layer for all requests.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Name" type="xs:string" />

              <xs:element minOccurs="0" name="Fields" type="Fields" />

              <xs:element minOccurs="0" name="RelateInfos" type="ArrayOfRelateInfo" />

              <xs:element minOccurs="0" name="SupportsTime" type="xs:boolean" />

              <xs:element minOccurs="0" name="StartTimeFieldName" type="xs:string" />

              <xs:element minOccurs="0" name="EndTimeFieldName" type="xs:string" />

              <xs:element minOccurs="0" name="TimeValueFormat" type="xs:string" />

              <xs:element minOccurs="0" name="TrackIDFieldName" type="xs:string" />

              <xs:element minOccurs="0" name="TimeReference" type="TimeReference" />

              <xs:element minOccurs="0" name="FullTimeExtent" type="TimeExtent" />

              <xs:element minOccurs="0" default="0.0" name="TimeInterval" type="xs:double" />

              <xs:element minOccurs="0" name="TimeIntervalUnits" type="esriTimeUnits" />

              <xs:element minOccurs="0" name="HasAttachments" type="xs:boolean" />

              <xs:element minOccurs="0" name="DisplayField" type="xs:string" />

              <xs:element minOccurs="0" name="Description" type="xs:string" />

              <xs:element minOccurs="0" name="IDField" type="xs:string" />

              <xs:element minOccurs="0" name="HasSubtype" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="StandaloneTableDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MapTableDescription">

            <xs:sequence>

              <xs:element name="ID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The table ID. This is a unique ID for the table, and is used to identify the table in a number of method calls.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DefinitionExpression" type="xs:string" />

              <xs:element minOccurs="0" name="SourceID" type="xs:string" />

              <xs:element minOccurs="0" name="UseTime" type="xs:boolean" />

              <xs:element minOccurs="0" name="TimeDataCumulative" type="xs:boolean" />

              <xs:element minOccurs="0" name="TimeOffset" type="xs:double" />

              <xs:element minOccurs="0" name="TimeOffsetUnits" type="esriTimeUnits" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RelateInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element name="RelationshipID" type="xs:int" />

          <xs:element name="RelatedTableID" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriRelateResultFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelateResultRelatedRecordSetAsObject" />

          <xs:enumeration value="esriRelateResultJsonAsMime" />

          <xs:enumeration value="esriRelateResultJsonAsURL" />

          <xs:enumeration value="esriRelateResultAmfAsMime" />

          <xs:enumeration value="esriRelateResultAmfAsURL" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="RelateDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="RelationshipID" type="xs:int" />

          <xs:element minOccurs="0" name="RelatedTableDefinitionExpression" type="xs:string" />

          <xs:element minOccurs="0" name="RelatedTableFields" type="xs:string" />

          <xs:element minOccurs="0" name="OutputSpatialReference" type="SpatialReference" />

          <xs:element minOccurs="0" name="GeoTransformation" type="GeoTransformation" />

          <xs:element minOccurs="0" default="true" name="IncludeGeometry" type="xs:boolean" />

          <xs:element minOccurs="0" name="GeometryResultOptions" type="GeometryResultOptions" />

          <xs:element name="ResultFormat" type="esriRelateResultFormat" />

          <xs:element minOccurs="0" name="OutputTimeReference" type="TimeReference" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapServerForceDeriveFromAnyType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="RelatedRecordSet" type="RelatedRecordSet" />

          <xs:element name="FieldDomainInfo" type="FieldDomainInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RelatedRecordSet">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="RelatedRecordFields" type="Fields" />

          <xs:element name="RelatedRecordGroups" type="ArrayOfRelatedRecordGroup" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RelatedRecordGroup">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="SourceRowID" type="xs:int" />

          <xs:element name="Records" type="ArrayOfRecord" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MapTableSubtypeInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="TableID" type="xs:int" />

          <xs:element name="SubtypeFieldName" type="xs:string" />

          <xs:element name="SubtypeInfos" type="ArrayOfSubtypeInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="SubtypeInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="SubtypeCode" type="xs:int" />

          <xs:element name="SubtypeName" type="xs:string" />

          <xs:element name="FieldDomainInfos" type="ArrayOfFieldDomainInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="FieldDomainInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="FieldName" type="xs:string" />

          <xs:element minOccurs="0" name="Domain" type="Domain" />

          <xs:element minOccurs="0" default="false" name="IsInherited" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriTimeRelation">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTimeRelationOverlaps" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="TimeQueryFilter">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialFilter">

            <xs:sequence>

              <xs:element name="TimeValue" type="TimeValue" />

              <xs:element name="OutputTimeReference" type="TimeReference" />

              <xs:element name="TimeRelation" type="esriTimeRelation" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriServerPictureOutputType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriServerPictureOutputAsPNG" />

          <xs:enumeration value="esriServerPictureOutputAsPNGInMime" />

          <xs:enumeration value="esriServerPictureOutputAsIPicture" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="ServerSymbolOutputOptions">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="PictureOutputType" type="esriServerPictureOutputType" />

          <xs:element minOccurs="0" default="true" name="ConvertLabelExpressions" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfImageResult">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageResult" type="ImageResult" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Color" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="UseWindowsDithering" type="xs:boolean" />

          <xs:element minOccurs="0" name="AlphaValue" type="xs:unsignedByte">

            <xs:annotation>

              <xs:documentation>The Alpha Blending value. (0 for transparent, 255 for opaque).</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GrayColor">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Color">

            <xs:sequence>

              <xs:element name="GrayLevel" type="xs:unsignedByte" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RgbColor">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Color">

            <xs:sequence>

              <xs:element name="Red" type="xs:unsignedByte" />

              <xs:element name="Green" type="xs:unsignedByte" />

              <xs:element name="Blue" type="xs:unsignedByte" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CmykColor">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Color">

            <xs:sequence>

              <xs:element name="Cyan" type="xs:unsignedByte" />

              <xs:element name="Magenta" type="xs:unsignedByte" />

              <xs:element name="Yellow" type="xs:unsignedByte" />

              <xs:element name="Black" type="xs:unsignedByte" />

              <xs:element name="Overprint" type="xs:boolean" />

              <xs:element name="IsSpot" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the color is a spot color.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SpotDescription" type="xs:string" />

              <xs:element name="SpotPercent" type="xs:short">

                <xs:annotation>

                  <xs:documentation>The saturation of the spot plate.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="HlsColor">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Color">

            <xs:sequence>

              <xs:element name="Hue" type="xs:short" />

              <xs:element name="Lightness" type="xs:unsignedByte" />

              <xs:element name="Saturation" type="xs:unsignedByte" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="HsvColor">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Color">

            <xs:sequence>

              <xs:element name="Hue" type="xs:short" />

              <xs:element name="Saturation" type="xs:unsignedByte" />

              <xs:element name="Value" type="xs:unsignedByte" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Symbol" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence />

      </xs:complexType>

      <xs:simpleType name="esriSimpleFillStyle">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSFSSolid" />

          <xs:enumeration value="esriSFSNull" />

          <xs:enumeration value="esriSFSHorizontal" />

          <xs:enumeration value="esriSFSVertical" />

          <xs:enumeration value="esriSFSForwardDiagonal" />

          <xs:enumeration value="esriSFSBackwardDiagonal" />

          <xs:enumeration value="esriSFSCross" />

          <xs:enumeration value="esriSFSDiagonalCross" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriSimpleLineStyle">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSLSSolid" />

          <xs:enumeration value="esriSLSDash" />

          <xs:enumeration value="esriSLSDot" />

          <xs:enumeration value="esriSLSDashDot" />

          <xs:enumeration value="esriSLSDashDotDot" />

          <xs:enumeration value="esriSLSNull" />

          <xs:enumeration value="esriSLSInsideFrame" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriSimpleMarkerStyle">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSMSCircle" />

          <xs:enumeration value="esriSMSSquare" />

          <xs:enumeration value="esriSMSCross" />

          <xs:enumeration value="esriSMSX" />

          <xs:enumeration value="esriSMSDiamond" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTextHorizontalAlignment">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTHALeft" />

          <xs:enumeration value="esriTHACenter" />

          <xs:enumeration value="esriTHARight" />

          <xs:enumeration value="esriTHAFull" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTextVerticalAlignment">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTVATop" />

          <xs:enumeration value="esriTVACenter" />

          <xs:enumeration value="esriTVABaseline" />

          <xs:enumeration value="esriTVABottom" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTextPosition">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTPNormal" />

          <xs:enumeration value="esriTPSuperscript" />

          <xs:enumeration value="esriTPSubscript" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTextCase">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTCNormal" />

          <xs:enumeration value="esriTCLowercase" />

          <xs:enumeration value="esriTCAllCaps" />

          <xs:enumeration value="esriTCSmallCaps" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTextDirection">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTDHorizontal" />

          <xs:enumeration value="esriTDAngle" />

          <xs:enumeration value="esriTDVertical" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriMaskStyle">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriMSNone" />

          <xs:enumeration value="esriMSHalo" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="SimpleFillSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FillSymbol">

            <xs:sequence>

              <xs:element name="Style" type="esriSimpleFillStyle" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="SimpleLineSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="LineSymbol">

            <xs:sequence>

              <xs:element name="Style" type="esriSimpleLineStyle" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="SimpleMarkerSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MarkerSymbol">

            <xs:sequence>

              <xs:element name="Outline" type="xs:boolean" />

              <xs:element name="OutlineSize" type="xs:double" />

              <xs:element name="OutlineColor" type="Color" />

              <xs:element name="Style" type="esriSimpleMarkerStyle" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriFontStyle">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="normal" />

          <xs:enumeration value="italic" />

          <xs:enumeration value="oblique" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriFontWeight">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="normal" />

          <xs:enumeration value="bold" />

          <xs:enumeration value="bolder" />

          <xs:enumeration value="lighter" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriFontDecoration">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="none" />

          <xs:enumeration value="underline" />

          <xs:enumeration value="line-through" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriSimpleTextVerticalAlignment">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="top" />

          <xs:enumeration value="middle" />

          <xs:enumeration value="baseline" />

          <xs:enumeration value="bottom" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriSimpleTextHorizontalAlignment">

        <xs:annotation>

          <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:restriction>

      </xs:simpleType>

      <xs:complexType name="SimpleTextSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Symbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="Color" type="Color">

                <xs:annotation>

                  <xs:documentation>Text color."</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="BackgroundColor" type="Color" />

              <xs:element minOccurs="0" name="OutlineColor" type="Color" />

              <xs:element minOccurs="0" name="VerticalAlignment" type="esriSimpleTextVerticalAlignment">

                <xs:annotation>

                  <xs:documentation>Vertical alignment style.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HorizontalAlignment" type="esriSimpleTextHorizontalAlignment">

                <xs:annotation>

                  <xs:documentation>Horizontal alignment style.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" default="false" name="RightToLeft" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the text is drawn from right to left.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" default="0.0" name="Angle" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Text baseline angle.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" default="0.0" name="XOffset" type="xs:double" />

              <xs:element minOccurs="0" default="0.0" name="YOffset" type="xs:double" />

              <xs:element minOccurs="0" name="Size" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Text size.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontFamilyName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the font family.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontStyle" type="esriFontStyle">

                <xs:annotation>

                  <xs:documentation>The font style.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontWeight" type="esriFontWeight">

                <xs:annotation>

                  <xs:documentation>

                The boldness or weight of the font.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontDecoration" type="esriFontDecoration" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TextSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Symbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="Color" type="Color">

                <xs:annotation>

                  <xs:documentation>Text color."</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="BreakCharIndex" type="xs:int">

                <xs:annotation>

                  <xs:documentation>Character to be interpreted as text line end.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="VerticalAlignment" type="esriTextVerticalAlignment">

                <xs:annotation>

                  <xs:documentation>Vertical alignment style.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="HorizontalAlignment" type="esriTextHorizontalAlignment">

                <xs:annotation>

                  <xs:documentation>Horizontal alignment style.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Clip" type="xs:boolean" />

              <xs:element name="RightToLeft" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the text is drawn from right to left.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Angle" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Text baseline angle.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="XOffset" type="xs:double" />

              <xs:element name="YOffset" type="xs:double" />

              <xs:element minOccurs="0" name="ShadowColor" type="Color" />

              <xs:element name="ShadowXOffset" type="xs:double" />

              <xs:element name="ShadowYOffset" type="xs:double" />

              <xs:element name="TextPosition" type="esriTextPosition">

                <xs:annotation>

                  <xs:documentation>The text position.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="TextCase" type="esriTextCase">

                <xs:annotation>

                  <xs:documentation>The text case.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="CharacterSpacing" type="xs:double" />

              <xs:element default="100.0" name="CharacterWidth" type="xs:double" />

              <xs:element default="100.0" name="WordSpacing" type="xs:double" />

              <xs:element name="Kerning" type="xs:boolean" />

              <xs:element name="Leading" type="xs:double" />

              <xs:element name="TextDirection" type="esriTextDirection">

                <xs:annotation>

                  <xs:documentation>The text direction.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="FlipAngle" type="xs:double" />

              <xs:element name="TypeSetting" type="xs:boolean" />

              <xs:element minOccurs="0" name="TextPathClass" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Path of text baseline.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FillSymbol" type="Symbol" />

              <xs:element name="Text" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Text to draw.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Size" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Text size.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="MaskStyle" type="esriMaskStyle" />

              <xs:element name="MaskSize" type="xs:double" />

              <xs:element minOccurs="0" name="MaskSymbol" type="Symbol" />

              <xs:element minOccurs="0" name="FontName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the font family.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontItalic" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates whether the font is italicized.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontUnderline" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates whether the font is underlined.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontStrikethrough" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>

                Indicates whether the font is strikethrough.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontWeight" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                The boldness or weight of the font.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontCharset" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                The character set used in the font, such as ANSI_CHARSET, DEFAULT_CHARSET, or SYMBOL_CHARSET.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontSizeHi" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                Point size of the font expressed in a 64-bit CY variable whose upper 32-bits contains the integer point size.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontSizeLo" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                Point size of the font expressed in a 64-bit CY variable whose lower 32-bits contains the fractional point size.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="TextParserClass" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Text Parser Class ID</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CharacterMarkerSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="CartographicMarkerSymbol">

            <xs:sequence>

              <xs:element name="CharacterIndex" type="xs:int" />

              <xs:element minOccurs="0" name="FontName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>

                The name of the font family.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontItalic" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>

                Indicates whether the font is italicized.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontUnderline" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>

                Indicates whether the font is underlined.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontStrikethrough" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>

                Indicates whether the font is strikethrough.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontWeight" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                The boldness or weight of the font.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontCharset" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                The character set used in the font, such as ANSI_CHARSET, DEFAULT_CHARSET, or SYMBOL_CHARSET.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontSizeHi" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                Point size of the font expressed in a 64-bit CY variable whose upper 32-bits contains the integer point size.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FontSizeLo" type="xs:int">

                <xs:annotation>

                  <xs:documentation>

                Point size of the font expressed in a 64-bit CY variable whose lower 32-bits contains the fractional point size.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PictureMarkerSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="CartographicMarkerSymbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="BgColor" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Background color of the picture for 1 bit images.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="BitmapTransColor" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Color within bitmap indicating transparency.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Picture" type="xs:base64Binary" />

              <xs:element minOccurs="0" name="PictureUri" type="xs:string" />

              <xs:element minOccurs="0" name="Width" type="xs:double" />

              <xs:element minOccurs="0" name="FgColor" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Foreground color of the picture for 1 bit images.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Swap1BitColor" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>

                Indicates if foreground and background colors are swapped on 1 Bit Images Only.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PictureFillSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FillSymbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="Picture" type="xs:base64Binary" />

              <xs:element minOccurs="0" name="PictureUri" type="xs:string" />

              <xs:element minOccurs="0" name="Width" type="xs:double" />

              <xs:element minOccurs="0" name="Height" type="xs:double" />

              <xs:element minOccurs="0" name="BgColor" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Fill background color.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="FgColor" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Fill foreground color.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="BitmapTransColor" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Color within bitmap indicating transparency.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="XSeparation" type="xs:double" />

              <xs:element minOccurs="0" name="YSeparation" type="xs:double" />

              <xs:element minOccurs="0" name="Swap1BitColor" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>

                Indicates if the foreground and background colors are swapped on 1 Bit Images Only.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Angle" type="xs:double" />

              <xs:element minOccurs="0" name="XOffset" type="xs:double" />

              <xs:element minOccurs="0" name="YOffset" type="xs:double" />

              <xs:element minOccurs="0" default="1.0" name="XScale" type="xs:double" />

              <xs:element minOccurs="0" default="1.0" name="YScale" type="xs:double" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="FillSymbol" abstract="true">

        <xs:annotation>

          <xs:documentation>

        Fill Sybmol Properties.

      </xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Symbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="Color" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Fill color.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Outline" type="LineSymbol">

                <xs:annotation>

                  <xs:documentation>

                Line symbol of fill outline.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="LineSymbol" abstract="true">

        <xs:annotation>

          <xs:documentation>

        Line Symbol properties.

      </xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Symbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="Color" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Line symbol color.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Width" type="xs:double">

                <xs:annotation>

                  <xs:documentation>

                Line symbol width.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MarkerSymbol" abstract="true">

        <xs:annotation>

          <xs:documentation>

        Marker Symbol Properties.

      </xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Symbol">

            <xs:sequence>

              <xs:element name="Angle" type="xs:double">

                <xs:annotation>

                  <xs:documentation>

                Marker symbol angle.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Color" type="Color">

                <xs:annotation>

                  <xs:documentation>

                Marker symbol color.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Size" type="xs:double">

                <xs:annotation>

                  <xs:documentation>

                Marker symbol size.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="XOffset" type="xs:double">

                <xs:annotation>

                  <xs:documentation>

                Symbol X-axis offset from point location.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="YOffset" type="xs:double">

                <xs:annotation>

                  <xs:documentation>

                Symbol Y-axis offset from point location.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CartographicMarkerSymbol" abstract="true">

        <xs:annotation>

          <xs:documentation>

        Cartographic marker symbol properties.

      </xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MarkerSymbol">

            <xs:sequence>

              <xs:element default="1.0" name="XScale" type="xs:double" />

              <xs:element default="1.0" name="YScale" type="xs:double" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="XMLBinarySymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Symbol">

            <xs:sequence>

              <xs:element name="Data" type="XMLPersistedObject" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="XMLBinaryFillSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FillSymbol">

            <xs:sequence>

              <xs:element name="Data" type="XMLPersistedObject" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfColor">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Color" type="Color" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ColorRamp" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Name" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfColorRamp">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="ColorRamp" type="ColorRamp" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="AlgorithmicColorRamp">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ColorRamp">

            <xs:sequence>

              <xs:element minOccurs="0" name="Algorithm" type="xs:string" />

              <xs:element minOccurs="0" name="FromColor" type="HsvColor" />

              <xs:element minOccurs="0" name="ToColor" type="HsvColor" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RandomColorRamp">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ColorRamp">

            <xs:sequence>

              <xs:element minOccurs="0" name="NumColors" type="xs:int" />

              <xs:element minOccurs="0" name="UseSeed" type="xs:boolean" />

              <xs:element minOccurs="0" name="Seed" type="xs:int" />

              <xs:element minOccurs="0" name="MinValue" type="xs:short" />

              <xs:element minOccurs="0" name="MaxValue" type="xs:short" />

              <xs:element minOccurs="0" name="MinSaturation" type="xs:short" />

              <xs:element minOccurs="0" name="MaxSaturation" type="xs:short" />

              <xs:element minOccurs="0" name="StartHue" type="xs:short" />

              <xs:element minOccurs="0" name="EndHue" type="xs:short" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PresetColorRamp">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ColorRamp">

            <xs:sequence>

              <xs:element minOccurs="0" name="NumColors" type="xs:int" />

              <xs:element minOccurs="0" name="PresetSize" type="xs:int" />

              <xs:element minOccurs="0" name="Colors" type="ArrayOfColor" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultiPartColorRamp">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ColorRamp">

            <xs:sequence>

              <xs:element minOccurs="0" name="NumColorRamps" type="xs:int" />

              <xs:element minOccurs="0" name="ColorRamps" type="ArrayOfColorRamp" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterUniqueValues">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="UniqueValuesSize" type="xs:int" />

          <xs:element minOccurs="0" name="Values" type="ArrayOfValue" />

          <xs:element minOccurs="0" name="Counts" type="ArrayOfInt" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="PropertySetProperty">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Key" type="xs:string" />

          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:anyType" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfPropertySetProperty">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertySetProperty" type="PropertySetProperty" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="PropertySet">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="PropertyArray" type="ArrayOfPropertySetProperty" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="XMLPersistedObject">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Bytes" type="xs:base64Binary" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NumericFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="RoundingOption" type="esriRoundingOptionEnum" />

          <xs:element minOccurs="0" name="RoundingValue" type="xs:int" />

          <xs:element minOccurs="0" name="AlignmentOption" type="esriNumericAlignmentEnum" />

          <xs:element minOccurs="0" name="AlignmentWidth" type="xs:int" />

          <xs:element minOccurs="0" name="UseSeparator" type="xs:boolean" />

          <xs:element minOccurs="0" name="ZeroPad" type="xs:boolean" />

          <xs:element minOccurs="0" name="ShowPlus" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfInt">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Int" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfString">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="String" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfDouble">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Double" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriUnits">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriUnknownUnits" />

          <xs:enumeration value="esriInches" />

          <xs:enumeration value="esriPoints" />

          <xs:enumeration value="esriFeet" />

          <xs:enumeration value="esriYards" />

          <xs:enumeration value="esriMiles" />

          <xs:enumeration value="esriNauticalMiles" />

          <xs:enumeration value="esriMillimeters" />

          <xs:enumeration value="esriCentimeters" />

          <xs:enumeration value="esriMeters" />

          <xs:enumeration value="esriKilometers" />

          <xs:enumeration value="esriDecimalDegrees" />

          <xs:enumeration value="esriDecimeters" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRoundingOptionEnum">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRoundNumberOfDecimals" />

          <xs:enumeration value="esriRoundNumberOfSignificantDigits" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriNumericAlignmentEnum">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriAlignRight" />

          <xs:enumeration value="esriAlignLeft" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTimeUnits">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTimeUnitsUnknown" />

          <xs:enumeration value="esriTimeUnitsMilliseconds" />

          <xs:enumeration value="esriTimeUnitsSeconds" />

          <xs:enumeration value="esriTimeUnitsMinutes" />

          <xs:enumeration value="esriTimeUnitsHours" />

          <xs:enumeration value="esriTimeUnitsDays" />

          <xs:enumeration value="esriTimeUnitsWeeks" />

          <xs:enumeration value="esriTimeUnitsMonths" />

          <xs:enumeration value="esriTimeUnitsYears" />

          <xs:enumeration value="esriTimeUnitsDecades" />

          <xs:enumeration value="esriTimeUnitsCenturies" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriTransportType">

        <xs:annotation>

          <xs:documentation>

        Generic service data transfer format

      </xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTransportTypeEmbedded" />

          <xs:enumeration value="esriTransportTypeUrl" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="TimeReference">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="TimeZoneNameID" type="xs:string" />

          <xs:element minOccurs="0" name="RespectsDaylightSavingTime" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TimeValue">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="TimeReference" type="TimeReference" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TimeInstant">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="TimeValue">

            <xs:sequence>

              <xs:element name="Time" type="xs:dateTime" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TimeExtent">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="TimeValue">

            <xs:sequence>

              <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />

              <xs:element minOccurs="0" name="EndTime" type="xs:dateTime" />

              <xs:element minOccurs="0" default="false" name="Empty" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriGeometryType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriGeometryPoint" />

          <xs:enumeration value="esriGeometryMultipoint" />

          <xs:enumeration value="esriGeometryPolyline" />

          <xs:enumeration value="esriGeometryPolygon" />

          <xs:enumeration value="esriGeometryMultiPatch" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="GeoTransformation">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="WKT" type="xs:string" />

          <xs:element minOccurs="0" name="WKID" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="SpatialReference" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="WKT" type="xs:string" />

          <xs:element minOccurs="0" name="XOrigin" type="xs:double" />

          <xs:element minOccurs="0" name="YOrigin" type="xs:double" />

          <xs:element minOccurs="0" name="XYScale" type="xs:double" />

          <xs:element minOccurs="0" name="ZOrigin" type="xs:double" />

          <xs:element minOccurs="0" name="ZScale" type="xs:double" />

          <xs:element minOccurs="0" name="MOrigin" type="xs:double" />

          <xs:element minOccurs="0" name="MScale" type="xs:double" />

          <xs:element minOccurs="0" name="XYTolerance" type="xs:double" />

          <xs:element minOccurs="0" name="ZTolerance" type="xs:double" />

          <xs:element minOccurs="0" name="MTolerance" type="xs:double" />

          <xs:element minOccurs="0" name="HighPrecision" type="xs:boolean" />

          <xs:element minOccurs="0" name="LeftLongitude" type="xs:double" />

          <xs:element minOccurs="0" name="WKID" type="xs:int" />

          <xs:element minOccurs="0" name="VCSWKID" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ProjectedCoordinateSystem">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialReference" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="GeographicCoordinateSystem">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialReference" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="UnknownCoordinateSystem">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialReference" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Geometry">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

      </xs:complexType>

      <xs:complexType name="Curve" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Segment" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Curve">

            <xs:sequence>

              <xs:element name="FromPoint" type="Point" />

              <xs:element name="ToPoint" type="Point" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Polycurve" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Curve" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Envelope" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EnvelopeN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Envelope">

            <xs:sequence>

              <xs:element name="XMin" type="xs:double" />

              <xs:element name="YMin" type="xs:double" />

              <xs:element name="XMax" type="xs:double" />

              <xs:element name="YMax" type="xs:double" />

              <xs:element minOccurs="0" name="ZMin" type="xs:double" />

              <xs:element minOccurs="0" name="ZMax" type="xs:double" />

              <xs:element minOccurs="0" name="MMin" type="xs:double" />

              <xs:element minOccurs="0" name="MMax" type="xs:double" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EnvelopeB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Envelope">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Point" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PointN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Point">

            <xs:sequence>

              <xs:element name="X" type="xs:double" />

              <xs:element name="Y" type="xs:double" />

              <xs:element minOccurs="0" name="M" type="xs:double" />

              <xs:element minOccurs="0" name="Z" type="xs:double" />

              <xs:element minOccurs="0" name="ID" type="xs:int" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PointB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Point">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Multipoint" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultipointB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Multipoint">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultipointN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Multipoint">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Line">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EllipticArc">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment">

            <xs:sequence>

              <xs:element name="EllipseStd" type="xs:boolean" />

              <xs:element name="CenterPoint" type="Point" />

              <xs:element name="Rotation" type="xs:double" />

              <xs:element name="MinorMajorRatio" type="xs:double" />

              <xs:element name="IsCounterClockwise" type="xs:boolean" />

              <xs:element name="IsMinor" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CircularArc">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment">

            <xs:sequence>

              <xs:element name="CenterPoint" type="Point" />

              <xs:element minOccurs="0" name="FromAngle" type="xs:double" />

              <xs:element minOccurs="0" name="ToAngle" type="xs:double" />

              <xs:element name="IsCounterClockwise" type="xs:boolean" />

              <xs:element name="IsMinor" type="xs:boolean" />

              <xs:element name="IsLine" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="BezierCurve">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment">

            <xs:sequence>

              <xs:element name="Degree" type="xs:int" />

              <xs:element name="ControlPointArray" type="ArrayOfPoint" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Path">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Curve">

            <xs:sequence>

              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />

              <xs:element minOccurs="0" name="SegmentArray" type="ArrayOfSegment" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Ring">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Path" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Polygon" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polycurve" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolygonN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polygon">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element name="RingArray" type="ArrayOfRing" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolygonB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polygon">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Polyline" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polycurve" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolylineN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polyline">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element name="PathArray" type="ArrayOfPath" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolylineB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polyline">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfPoint">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Point" type="Point" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfPath">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Path" type="Path" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRing">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Ring" type="Ring" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfSegment">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Segment" type="Segment" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MultiPatch" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultiPatchB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MultiPatch">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultiPatchN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MultiPatch">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element name="Extent" type="Envelope" />

              <xs:element name="SurfacePatchArray" type="ArrayOfSurfacePatch" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfSurfacePatch">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="SurfacePatch" type="Geometry" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TriangleFan">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry">

            <xs:sequence>

              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TriangleStrip">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry">

            <xs:sequence>

              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriFieldType">

        <xs:annotation>

          <xs:documentation>Field Types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriFieldTypeInteger">

            <xs:annotation>

              <xs:documentation>Long Integer.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeSmallInteger">

            <xs:annotation>

              <xs:documentation>Integer.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeDouble">

            <xs:annotation>

              <xs:documentation>Double-precision floating-point number.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeSingle">

            <xs:annotation>

              <xs:documentation>Single-precision floating-point number.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeString">

            <xs:annotation>

              <xs:documentation>Character string.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeDate">

            <xs:annotation>

              <xs:documentation>Date.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeGeometry">

            <xs:annotation>

              <xs:documentation>Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeOID">

            <xs:annotation>

              <xs:documentation>Long Integer representing an object identifier.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeBlob">

            <xs:annotation>

              <xs:documentation>Binary Large Object.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeGlobalID">

            <xs:annotation>

              <xs:documentation>ESRI Global ID.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeRaster">

            <xs:annotation>

              <xs:documentation>Raster.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeGUID">

            <xs:annotation>

              <xs:documentation>Globally Unique Identifier.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFieldTypeXML">

            <xs:annotation>

              <xs:documentation>XML Document</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="GeometryDef">

        <xs:annotation>

          <xs:documentation>ESRI Geometry Definition Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="AvgNumPoints" type="xs:int">

            <xs:annotation>

              <xs:documentation>Estimated average number of points per feature.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="GeometryType" type="esriGeometryType">

            <xs:annotation>

              <xs:documentation>The enumerated geometry type.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="HasM" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the feature class has measure (M) values.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="HasZ" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the featureClass has Z values.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SpatialReference" type="SpatialReference">

            <xs:annotation>

              <xs:documentation>The spatial reference for the dataset.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="GridSize0" type="xs:double" />

          <xs:element minOccurs="0" name="GridSize1" type="xs:double" />

          <xs:element minOccurs="0" name="GridSize2" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriMergePolicyType">

        <xs:annotation>

          <xs:documentation>Merge policy types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriMPTSumValues">

            <xs:annotation>

              <xs:documentation>Sum the values merge policy.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriMPTAreaWeighted">

            <xs:annotation>

              <xs:documentation>Area weighted merge policy.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriMPTDefaultValue">

            <xs:annotation>

              <xs:documentation>Default value merge policy.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriSplitPolicyType">

        <xs:annotation>

          <xs:documentation>Split policy types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSPTGeometryRatio">

            <xs:annotation>

              <xs:documentation>Geometry-ratioed split policy.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSPTDuplicate">

            <xs:annotation>

              <xs:documentation>Duplicate split policy.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSPTDefaultValue">

            <xs:annotation>

              <xs:documentation>Default value split policy.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="Domain" abstract="true">

        <xs:annotation>

          <xs:documentation>

        Domain Properties control and their merge split policies control.

      </xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="DomainName" type="xs:string">

            <xs:annotation>

              <xs:documentation>

            The ID of the domain.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FieldType" type="esriFieldType">

            <xs:annotation>

              <xs:documentation>The field type of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="MergePolicy" type="esriMergePolicyType">

            <xs:annotation>

              <xs:documentation>The merge policy.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SplitPolicy" type="esriSplitPolicyType">

            <xs:annotation>

              <xs:documentation>The split policy.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Description" type="xs:string">

            <xs:annotation>

              <xs:documentation>The description of the domain.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Owner" type="xs:string">

            <xs:annotation>

              <xs:documentation>The owner of the domain.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Field">

        <xs:annotation>

          <xs:documentation>ESRI Field Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Type" type="esriFieldType">

            <xs:annotation>

              <xs:documentation>The type of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="IsNullable" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the field can contain null values.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Length" type="xs:int">

            <xs:annotation>

              <xs:documentation>The maximum length, in bytes, for values described by the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Precision" type="xs:int">

            <xs:annotation>

              <xs:documentation>The precision for field values.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Scale" type="xs:int">

            <xs:annotation>

              <xs:documentation>The scale for field values.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Required" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the field is required.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" default="true" name="Editable" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the field is editable.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="DomainFixed" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the field's domain is fixed.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="GeometryDef" type="GeometryDef">

            <xs:annotation>

              <xs:documentation>The geometry definition for the field if IsGeometry is TRUE.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="AliasName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The alias name of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="ModelName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The model name of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="DefaultValue" type="xs:anyType">

            <xs:annotation>

              <xs:documentation>The default value of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Domain" type="Domain">

            <xs:annotation>

              <xs:documentation>The default domain of the field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="RasterDef" type="RasterDef">

            <xs:annotation>

              <xs:documentation>The raster column definition.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfField">

        <xs:annotation>

          <xs:documentation>ESRI FieldArray object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Field" type="Field" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Fields">

        <xs:annotation>

          <xs:documentation>ESRI Fields Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="FieldArray" type="ArrayOfField" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfValue">

        <xs:annotation>

          <xs:documentation>ESRI Value Array Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Value" nillable="true" type="xs:anyType" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Record">

        <xs:annotation>

          <xs:documentation>ESRI Record Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Values" type="ArrayOfValue" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRecord">

        <xs:annotation>

          <xs:documentation>ESRI RecordArray object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Record" type="Record" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RecordSet">

        <xs:annotation>

          <xs:documentation>ESRI RecordSet Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Fields" type="Fields">

            <xs:annotation>

              <xs:documentation>returns the fields for the recordset</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Records" type="ArrayOfRecord" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriSearchOrder">

        <xs:annotation>

          <xs:documentation>Spatial Filter Search Order.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSearchOrderSpatial">

            <xs:annotation>

              <xs:documentation>Spatial query is applied first.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSearchOrderAttribute">

            <xs:annotation>

              <xs:documentation>Attribute query is applied first.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriSpatialRelEnum">

        <xs:annotation>

          <xs:documentation>Queryable Spatial Relationships.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriSpatialRelUndefined">

            <xs:annotation>

              <xs:documentation>No Defined Spatial Relationship.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelIntersects">

            <xs:annotation>

              <xs:documentation>Query Geometry Intersects Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelEnvelopeIntersects">

            <xs:annotation>

              <xs:documentation>Envelope of Query Geometry Intersects Envelope of Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelIndexIntersects">

            <xs:annotation>

              <xs:documentation>Query Geometry Intersects Index entry for Target Geometry (Primary Index Filter).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelTouches">

            <xs:annotation>

              <xs:documentation>Query Geometry Touches Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelOverlaps">

            <xs:annotation>

              <xs:documentation>Query Geometry Overlaps Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelCrosses">

            <xs:annotation>

              <xs:documentation>Query Geometry Crosses Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelWithin">

            <xs:annotation>

              <xs:documentation>Query Geometry is Within Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelContains">

            <xs:annotation>

              <xs:documentation>Query Geometry Contains Target Geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriSpatialRelRelation">

            <xs:annotation>

              <xs:documentation>Query geometry IBE(Interior-Boundary-Exterior) relationship with target geometry.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="FIDSet">

        <xs:annotation>

          <xs:documentation>ESRI FID Set object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="FIDArray" type="ArrayOfInt" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="QueryFilter">

        <xs:annotation>

          <xs:documentation>ESRI Query Filter Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="SubFields" type="xs:string">

            <xs:annotation>

              <xs:documentation>The comma delimited list of field names for the filter.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="WhereClause" type="xs:string">

            <xs:annotation>

              <xs:documentation>The where clause for the filter.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="SpatialReferenceFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>

            The field name of the output spatial reference.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Resolution" type="xs:double">

            <xs:annotation>

              <xs:documentation>

            The spatial resolution in which to output geometry.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="OutputSpatialReference" type="SpatialReference">

            <xs:annotation>

              <xs:documentation>The spatial reference in which to output geometry for a given field.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FIDSet" type="FIDSet" />

          <xs:element minOccurs="0" name="PostfixClause" type="xs:string">

            <xs:annotation>

              <xs:documentation>A clause that will be appended to the end of the where clause. Most commonly used for clauses like ORDER BY.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FilterDefs" type="ArrayOfFilterDef">

            <xs:annotation>

              <xs:documentation>The filter definitions specified for this query filter.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="PrefixClause" type="xs:string">

            <xs:annotation>

              <xs:documentation>A clause that will be appended to the select statement. Most commonly used for select statements with DISTINCT clause.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="SpatialFilter">

        <xs:annotation>

          <xs:documentation>ESRI Spatial Filter Object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="QueryFilter">

            <xs:sequence>

              <xs:element name="SearchOrder" type="esriSearchOrder">

                <xs:annotation>

                  <xs:documentation>The search order used by the filter.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SpatialRel" type="esriSpatialRelEnum">

                <xs:annotation>

                  <xs:documentation>The spatial relationship  checked by the filter.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SpatialRelDescription" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The array elements which describe the spatial relation between the query geometry and the requested geometries. There are 9 chars in this string which can be either 'F', 'T' or '*'; e.g., TT*FFT***' represents CONTAIN.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="FilterGeometry" type="Geometry">

                <xs:annotation>

                  <xs:documentation>

                The query geometry used to filter results.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="GeometryFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>

                The name of the Geometry field to which the filter applies.

              </xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="FilterOwnsGeometry" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates whether the filter owns the query geometry.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="FilterDef" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

      </xs:complexType>

      <xs:complexType name="XMLFilterDef">

        <xs:annotation>

          <xs:documentation>ESRI XML Filter Definition Object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="FilterDef">

            <xs:sequence>

              <xs:element name="FieldName" type="xs:string" />

              <xs:element name="Expression" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfFilterDef">

        <xs:annotation>

          <xs:documentation>An array of filter definition objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="FilterDef" type="FilterDef" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RangeDomain">

        <xs:annotation>

          <xs:documentation>ESRI Range Domain object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Domain">

            <xs:sequence>

              <xs:element name="MaxValue" type="xs:anyType">

                <xs:annotation>

                  <xs:documentation>The maximum value for the associated attribute.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="MinValue" type="xs:anyType">

                <xs:annotation>

                  <xs:documentation>The minimum value for the associated attribute.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CodedValue">

        <xs:annotation>

          <xs:documentation>

        ESRI Attribute set constraint object.

      </xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element name="Code" type="xs:anyType" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfCodedValue">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="CodedValue" type="CodedValue" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="CodedValueDomain">

        <xs:annotation>

          <xs:documentation>ESRI Attribute set constraint object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Domain">

            <xs:sequence>

              <xs:element name="CodedValues" type="ArrayOfCodedValue" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="BitMaskCodedValueDomain">

        <xs:annotation>

          <xs:documentation>ESRI Attribute bitmask constraint object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="CodedValueDomain" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RasterDef">

        <xs:annotation>

          <xs:documentation>Raster Column Definition Class.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Description" type="xs:string">

            <xs:annotation>

              <xs:documentation>The raster column description.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="IsByRef" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>

            Indicates if the Raster column value is to be managed by GeoDatabase.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">

            <xs:annotation>

              <xs:documentation>The SpatialReference of the raster.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="IsByFunction" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>

            Indicates if the Raster column value is of type function raster dataset.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GeometryResultOptions">

        <xs:annotation>

          <xs:documentation>ESRI Geometry export options object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" default="false" name="DensifyGeometries" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>if true, MaximumSegmentLength and MaximumDeviation will be honored to densify geometry in the results</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" default="-1.0" name="MaximumSegmentLength" type="xs:double">

            <xs:annotation>

              <xs:documentation>.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" default="0.0" name="MaximumDeviation" type="xs:double">

            <xs:annotation>

              <xs:documentation>.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" default="false" name="GeneralizeGeometries" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>if true, MaximumAllowableOffset will be honored to generalize the geometry in the results.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" default="0.0" name="MaximumAllowableOffset" type="xs:double">

            <xs:annotation>

              <xs:documentation>.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="AttachmentInfo">

        <xs:annotation>

          <xs:documentation>ESRI AttachmentInfo Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="AttachmentID" type="xs:int" />

          <xs:element name="ParentID" type="xs:int" />

          <xs:element name="Name" type="xs:string" />

          <xs:element name="ContentType" type="xs:string" />

          <xs:element name="Size" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="AttachmentData">

        <xs:annotation>

          <xs:documentation>ESRI AttachmentData Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Data" type="xs:base64Binary" />

          <xs:element name="AttachmentInfo" type="AttachmentInfo" />

          <xs:element name="URL" type="xs:string" />

          <xs:element name="TransportType" type="esriTransportType" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfAttachmentInfo">

        <xs:annotation>

          <xs:documentation>Array of AttachmentInfo.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="AttachmentInfo" type="AttachmentInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfAttachmentData">

        <xs:annotation>

          <xs:documentation>Array of AttachmentData.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="AttachmentData" type="AttachmentData" />

        </xs:sequence>

      </xs:complexType>

    </xs:schema>

  </types>

  <message name="GetDocumentInfoIn">

    <part name="parameters" element="e:GetDocumentInfo" />

  </message>

  <message name="GetDocumentInfoOut">

    <part name="parameters" element="e:GetDocumentInfoResponse" />

  </message>

  <message name="GetTileImageInfoIn">

    <part name="parameters" element="e:GetTileImageInfo" />

  </message>

  <message name="GetTileImageInfoOut">

    <part name="parameters" element="e:GetTileImageInfoResponse" />

  </message>

  <message name="QueryFeatureData2In">

    <part name="parameters" element="e:QueryFeatureData2" />

  </message>

  <message name="QueryFeatureData2Out">

    <part name="parameters" element="e:QueryFeatureData2Response" />

  </message>

  <message name="QueryAttachmentInfosIn">

    <part name="parameters" element="e:QueryAttachmentInfos" />

  </message>

  <message name="QueryAttachmentInfosOut">

    <part name="parameters" element="e:QueryAttachmentInfosResponse" />

  </message>

  <message name="GetCacheControlInfoIn">

    <part name="parameters" element="e:GetCacheControlInfo" />

  </message>

  <message name="GetCacheControlInfoOut">

    <part name="parameters" element="e:GetCacheControlInfoResponse" />

  </message>

  <message name="GetDefaultLayerDrawingDescriptionsIn">

    <part name="parameters" element="e:GetDefaultLayerDrawingDescriptions" />

  </message>

  <message name="GetDefaultLayerDrawingDescriptionsOut">

    <part name="parameters" element="e:GetDefaultLayerDrawingDescriptionsResponse" />

  </message>

  <message name="QueryAttachmentDataIn">

    <part name="parameters" element="e:QueryAttachmentData" />

  </message>

  <message name="QueryAttachmentDataOut">

    <part name="parameters" element="e:QueryAttachmentDataResponse" />

  </message>

  <message name="GetSQLSyntaxInfoIn">

    <part name="parameters" element="e:GetSQLSyntaxInfo" />

  </message>

  <message name="GetSQLSyntaxInfoOut">

    <part name="parameters" element="e:GetSQLSyntaxInfoResponse" />

  </message>

  <message name="ExportScaleBarIn">

    <part name="parameters" element="e:ExportScaleBar" />

  </message>

  <message name="ExportScaleBarOut">

    <part name="parameters" element="e:ExportScaleBarResponse" />

  </message>

  <message name="GetVirtualCacheDirectoryIn">

    <part name="parameters" element="e:GetVirtualCacheDirectory" />

  </message>

  <message name="GetVirtualCacheDirectoryOut">

    <part name="parameters" element="e:GetVirtualCacheDirectoryResponse" />

  </message>

  <message name="QueryRowCountIn">

    <part name="parameters" element="e:QueryRowCount" />

  </message>

  <message name="QueryRowCountOut">

    <part name="parameters" element="e:QueryRowCountResponse" />

  </message>

  <message name="GetSupportedImageReturnTypesIn">

    <part name="parameters" element="e:GetSupportedImageReturnTypes" />

  </message>

  <message name="GetSupportedImageReturnTypesOut">

    <part name="parameters" element="e:GetSupportedImageReturnTypesResponse" />

  </message>

  <message name="QueryFeatureIDsIn">

    <part name="parameters" element="e:QueryFeatureIDs" />

  </message>

  <message name="QueryFeatureIDsOut">

    <part name="parameters" element="e:QueryFeatureIDsResponse" />

  </message>

  <message name="QueryDataIn">

    <part name="parameters" element="e:QueryData" />

  </message>

  <message name="QueryDataOut">

    <part name="parameters" element="e:QueryDataResponse" />

  </message>

  <message name="QueryHTMLPopupsIn">

    <part name="parameters" element="e:QueryHTMLPopups" />

  </message>

  <message name="QueryHTMLPopupsOut">

    <part name="parameters" element="e:QueryHTMLPopupsResponse" />

  </message>

  <message name="GetCacheStorageInfoIn">

    <part name="parameters" element="e:GetCacheStorageInfo" />

  </message>

  <message name="GetCacheStorageInfoOut">

    <part name="parameters" element="e:GetCacheStorageInfoResponse" />

  </message>

  <message name="ToMapPointsIn">

    <part name="parameters" element="e:ToMapPoints" />

  </message>

  <message name="ToMapPointsOut">

    <part name="parameters" element="e:ToMapPointsResponse" />

  </message>

  <message name="GetMapNameIn">

    <part name="parameters" element="e:GetMapName" />

  </message>

  <message name="GetMapNameOut">

    <part name="parameters" element="e:GetMapNameResponse" />

  </message>

  <message name="GetTileCacheInfoIn">

    <part name="parameters" element="e:GetTileCacheInfo" />

  </message>

  <message name="GetTileCacheInfoOut">

    <part name="parameters" element="e:GetTileCacheInfoResponse" />

  </message>

  <message name="QueryRelatedRecordsIn">

    <part name="parameters" element="e:QueryRelatedRecords" />

  </message>

  <message name="QueryRelatedRecordsOut">

    <part name="parameters" element="e:QueryRelatedRecordsResponse" />

  </message>

  <message name="QueryFeatureDataIn">

    <part name="parameters" element="e:QueryFeatureData" />

  </message>

  <message name="QueryFeatureDataOut">

    <part name="parameters" element="e:QueryFeatureDataResponse" />

  </message>

  <message name="QueryHyperlinksIn">

    <part name="parameters" element="e:QueryHyperlinks" />

  </message>

  <message name="QueryHyperlinksOut">

    <part name="parameters" element="e:QueryHyperlinksResponse" />

  </message>

  <message name="HasLayerCacheIn">

    <part name="parameters" element="e:HasLayerCache" />

  </message>

  <message name="HasLayerCacheOut">

    <part name="parameters" element="e:HasLayerCacheResponse" />

  </message>

  <message name="QueryFeatureIDs2In">

    <part name="parameters" element="e:QueryFeatureIDs2" />

  </message>

  <message name="QueryFeatureIDs2Out">

    <part name="parameters" element="e:QueryFeatureIDs2Response" />

  </message>

  <message name="GetLayerTileIn">

    <part name="parameters" element="e:GetLayerTile" />

  </message>

  <message name="GetLayerTileOut">

    <part name="parameters" element="e:GetLayerTileResponse" />

  </message>

  <message name="GetServiceConfigurationInfoIn">

    <part name="parameters" element="e:GetServiceConfigurationInfo" />

  </message>

  <message name="GetServiceConfigurationInfoOut">

    <part name="parameters" element="e:GetServiceConfigurationInfoResponse" />

  </message>

  <message name="QueryFeatureCount2In">

    <part name="parameters" element="e:QueryFeatureCount2" />

  </message>

  <message name="QueryFeatureCount2Out">

    <part name="parameters" element="e:QueryFeatureCount2Response" />

  </message>

  <message name="GetCacheDescriptionInfoIn">

    <part name="parameters" element="e:GetCacheDescriptionInfo" />

  </message>

  <message name="GetCacheDescriptionInfoOut">

    <part name="parameters" element="e:GetCacheDescriptionInfoResponse" />

  </message>

  <message name="IdentifyIn">

    <part name="parameters" element="e:Identify" />

  </message>

  <message name="IdentifyOut">

    <part name="parameters" element="e:IdentifyResponse" />

  </message>

  <message name="ComputeDistanceIn">

    <part name="parameters" element="e:ComputeDistance" />

  </message>

  <message name="ComputeDistanceOut">

    <part name="parameters" element="e:ComputeDistanceResponse" />

  </message>

  <message name="GetDefaultMapNameIn">

    <part name="parameters" element="e:GetDefaultMapName" />

  </message>

  <message name="GetDefaultMapNameOut">

    <part name="parameters" element="e:GetDefaultMapNameResponse" />

  </message>

  <message name="IsFixedScaleMapIn">

    <part name="parameters" element="e:IsFixedScaleMap" />

  </message>

  <message name="IsFixedScaleMapOut">

    <part name="parameters" element="e:IsFixedScaleMapResponse" />

  </message>

  <message name="GetLegendInfoIn">

    <part name="parameters" element="e:GetLegendInfo" />

  </message>

  <message name="GetLegendInfoOut">

    <part name="parameters" element="e:GetLegendInfoResponse" />

  </message>

  <message name="GetMapCountIn">

    <part name="parameters" element="e:GetMapCount" />

  </message>

  <message name="GetMapCountOut">

    <part name="parameters" element="e:GetMapCountResponse" />

  </message>

  <message name="HasSingleFusedMapCacheIn">

    <part name="parameters" element="e:HasSingleFusedMapCache" />

  </message>

  <message name="HasSingleFusedMapCacheOut">

    <part name="parameters" element="e:HasSingleFusedMapCacheResponse" />

  </message>

  <message name="GetMapTileIn">

    <part name="parameters" element="e:GetMapTile" />

  </message>

  <message name="GetMapTileOut">

    <part name="parameters" element="e:GetMapTileResponse" />

  </message>

  <message name="GetServerInfoIn">

    <part name="parameters" element="e:GetServerInfo" />

  </message>

  <message name="GetServerInfoOut">

    <part name="parameters" element="e:GetServerInfoResponse" />

  </message>

  <message name="GetMapTableSubtypeInfosIn">

    <part name="parameters" element="e:GetMapTableSubtypeInfos" />

  </message>

  <message name="GetMapTableSubtypeInfosOut">

    <part name="parameters" element="e:GetMapTableSubtypeInfosResponse" />

  </message>

  <message name="QueryFeatureCountIn">

    <part name="parameters" element="e:QueryFeatureCount" />

  </message>

  <message name="QueryFeatureCountOut">

    <part name="parameters" element="e:QueryFeatureCountResponse" />

  </message>

  <message name="QueryRasterValueIn">

    <part name="parameters" element="e:QueryRasterValue" />

  </message>

  <message name="QueryRasterValueOut">

    <part name="parameters" element="e:QueryRasterValueResponse" />

  </message>

  <message name="FromMapPointsIn">

    <part name="parameters" element="e:FromMapPoints" />

  </message>

  <message name="FromMapPointsOut">

    <part name="parameters" element="e:FromMapPointsResponse" />

  </message>

  <message name="QueryRowIDsIn">

    <part name="parameters" element="e:QueryRowIDs" />

  </message>

  <message name="QueryRowIDsOut">

    <part name="parameters" element="e:QueryRowIDsResponse" />

  </message>

  <message name="GetCacheNameIn">

    <part name="parameters" element="e:GetCacheName" />

  </message>

  <message name="GetCacheNameOut">

    <part name="parameters" element="e:GetCacheNameResponse" />

  </message>

  <message name="ComputeScaleIn">

    <part name="parameters" element="e:ComputeScale" />

  </message>

  <message name="ComputeScaleOut">

    <part name="parameters" element="e:ComputeScaleResponse" />

  </message>

  <message name="FindIn">

    <part name="parameters" element="e:Find" />

  </message>

  <message name="FindOut">

    <part name="parameters" element="e:FindResponse" />

  </message>

  <message name="ExportMapImageIn">

    <part name="parameters" element="e:ExportMapImage" />

  </message>

  <message name="ExportMapImageOut">

    <part name="parameters" element="e:ExportMapImageResponse" />

  </message>

  <portType name="MapServerPort">

    <documentation></documentation>

    <operation name="GetDocumentInfo">

      <input message="e:GetDocumentInfoIn" />

      <output message="e:GetDocumentInfoOut" />

    </operation>

    <operation name="GetTileImageInfo">

      <input message="e:GetTileImageInfoIn" />

      <output message="e:GetTileImageInfoOut" />

    </operation>

    <operation name="QueryFeatureData2">

      <input message="e:QueryFeatureData2In" />

      <output message="e:QueryFeatureData2Out" />

    </operation>

    <operation name="QueryAttachmentInfos">

      <input message="e:QueryAttachmentInfosIn" />

      <output message="e:QueryAttachmentInfosOut" />

    </operation>

    <operation name="GetCacheControlInfo">

      <documentation>Gets the cache control information for a given map.</documentation>

      <input message="e:GetCacheControlInfoIn" />

      <output message="e:GetCacheControlInfoOut" />

    </operation>

    <operation name="GetDefaultLayerDrawingDescriptions">

      <input message="e:GetDefaultLayerDrawingDescriptionsIn" />

      <output message="e:GetDefaultLayerDrawingDescriptionsOut" />

    </operation>

    <operation name="QueryAttachmentData">

      <input message="e:QueryAttachmentDataIn" />

      <output message="e:QueryAttachmentDataOut" />

    </operation>

    <operation name="GetSQLSyntaxInfo">

      <input message="e:GetSQLSyntaxInfoIn" />

      <output message="e:GetSQLSyntaxInfoOut" />

    </operation>

    <operation name="ExportScaleBar">

      <input message="e:ExportScaleBarIn" />

      <output message="e:ExportScaleBarOut" />

    </operation>

    <operation name="GetVirtualCacheDirectory">

      <input message="e:GetVirtualCacheDirectoryIn" />

      <output message="e:GetVirtualCacheDirectoryOut" />

    </operation>

    <operation name="QueryRowCount">

      <input message="e:QueryRowCountIn" />

      <output message="e:QueryRowCountOut" />

    </operation>

    <operation name="GetSupportedImageReturnTypes">

      <input message="e:GetSupportedImageReturnTypesIn" />

      <output message="e:GetSupportedImageReturnTypesOut" />

    </operation>

    <operation name="QueryFeatureIDs">

      <input message="e:QueryFeatureIDsIn" />

      <output message="e:QueryFeatureIDsOut" />

    </operation>

    <operation name="QueryData">

      <input message="e:QueryDataIn" />

      <output message="e:QueryDataOut" />

    </operation>

    <operation name="QueryHTMLPopups">

      <input message="e:QueryHTMLPopupsIn" />

      <output message="e:QueryHTMLPopupsOut" />

    </operation>

    <operation name="GetCacheStorageInfo">

      <documentation>Gets the cache storage information for a given map.</documentation>

      <input message="e:GetCacheStorageInfoIn" />

      <output message="e:GetCacheStorageInfoOut" />

    </operation>

    <operation name="ToMapPoints">

      <input message="e:ToMapPointsIn" />

      <output message="e:ToMapPointsOut" />

    </operation>

    <operation name="GetMapName">

      <input message="e:GetMapNameIn" />

      <output message="e:GetMapNameOut" />

    </operation>

    <operation name="GetTileCacheInfo">

      <input message="e:GetTileCacheInfoIn" />

      <output message="e:GetTileCacheInfoOut" />

    </operation>

    <operation name="QueryRelatedRecords">

      <input message="e:QueryRelatedRecordsIn" />

      <output message="e:QueryRelatedRecordsOut" />

    </operation>

    <operation name="QueryFeatureData">

      <input message="e:QueryFeatureDataIn" />

      <output message="e:QueryFeatureDataOut" />

    </operation>

    <operation name="QueryHyperlinks">

      <input message="e:QueryHyperlinksIn" />

      <output message="e:QueryHyperlinksOut" />

    </operation>

    <operation name="HasLayerCache">

      <input message="e:HasLayerCacheIn" />

      <output message="e:HasLayerCacheOut" />

    </operation>

    <operation name="QueryFeatureIDs2">

      <input message="e:QueryFeatureIDs2In" />

      <output message="e:QueryFeatureIDs2Out" />

    </operation>

    <operation name="GetLayerTile">

      <input message="e:GetLayerTileIn" />

      <output message="e:GetLayerTileOut" />

    </operation>

    <operation name="GetServiceConfigurationInfo">

      <input message="e:GetServiceConfigurationInfoIn" />

      <output message="e:GetServiceConfigurationInfoOut" />

    </operation>

    <operation name="QueryFeatureCount2">

      <input message="e:QueryFeatureCount2In" />

      <output message="e:QueryFeatureCount2Out" />

    </operation>

    <operation name="GetCacheDescriptionInfo">

      <input message="e:GetCacheDescriptionInfoIn" />

      <output message="e:GetCacheDescriptionInfoOut" />

    </operation>

    <operation name="Identify">

      <input message="e:IdentifyIn" />

      <output message="e:IdentifyOut" />

    </operation>

    <operation name="ComputeDistance">

      <input message="e:ComputeDistanceIn" />

      <output message="e:ComputeDistanceOut" />

    </operation>

    <operation name="GetDefaultMapName">

      <input message="e:GetDefaultMapNameIn" />

      <output message="e:GetDefaultMapNameOut" />

    </operation>

    <operation name="IsFixedScaleMap">

      <input message="e:IsFixedScaleMapIn" />

      <output message="e:IsFixedScaleMapOut" />

    </operation>

    <operation name="GetLegendInfo">

      <input message="e:GetLegendInfoIn" />

      <output message="e:GetLegendInfoOut" />

    </operation>

    <operation name="GetMapCount">

      <input message="e:GetMapCountIn" />

      <output message="e:GetMapCountOut" />

    </operation>

    <operation name="HasSingleFusedMapCache">

      <input message="e:HasSingleFusedMapCacheIn" />

      <output message="e:HasSingleFusedMapCacheOut" />

    </operation>

    <operation name="GetMapTile">

      <input message="e:GetMapTileIn" />

      <output message="e:GetMapTileOut" />

    </operation>

    <operation name="GetServerInfo">

      <input message="e:GetServerInfoIn" />

      <output message="e:GetServerInfoOut" />

    </operation>

    <operation name="GetMapTableSubtypeInfos">

      <input message="e:GetMapTableSubtypeInfosIn" />

      <output message="e:GetMapTableSubtypeInfosOut" />

    </operation>

    <operation name="QueryFeatureCount">

      <input message="e:QueryFeatureCountIn" />

      <output message="e:QueryFeatureCountOut" />

    </operation>

    <operation name="QueryRasterValue">

      <input message="e:QueryRasterValueIn" />

      <output message="e:QueryRasterValueOut" />

    </operation>

    <operation name="FromMapPoints">

      <input message="e:FromMapPointsIn" />

      <output message="e:FromMapPointsOut" />

    </operation>

    <operation name="QueryRowIDs">

      <input message="e:QueryRowIDsIn" />

      <output message="e:QueryRowIDsOut" />

    </operation>

    <operation name="GetCacheName">

      <input message="e:GetCacheNameIn" />

      <output message="e:GetCacheNameOut" />

    </operation>

    <operation name="ComputeScale">

      <input message="e:ComputeScaleIn" />

      <output message="e:ComputeScaleOut" />

    </operation>

    <operation name="Find">

      <input message="e:FindIn" />

      <output message="e:FindOut" />

    </operation>

    <operation name="ExportMapImage">

      <input message="e:ExportMapImageIn" />

      <output message="e:ExportMapImageOut" />

    </operation>

  </portType>

  <binding name="MapServerBinding" type="e:MapServerPort">

    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

    <operation name="GetDocumentInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetTileImageInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryFeatureData2">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryAttachmentInfos">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetCacheControlInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetDefaultLayerDrawingDescriptions">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryAttachmentData">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetSQLSyntaxInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExportScaleBar">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetVirtualCacheDirectory">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryRowCount">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetSupportedImageReturnTypes">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryFeatureIDs">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryData">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryHTMLPopups">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetCacheStorageInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ToMapPoints">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetMapName">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetTileCacheInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryRelatedRecords">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryFeatureData">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryHyperlinks">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="HasLayerCache">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryFeatureIDs2">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetLayerTile">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetServiceConfigurationInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryFeatureCount2">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetCacheDescriptionInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="Identify">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ComputeDistance">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetDefaultMapName">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="IsFixedScaleMap">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetLegendInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetMapCount">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="HasSingleFusedMapCache">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetMapTile">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetServerInfo">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetMapTableSubtypeInfos">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryFeatureCount">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryRasterValue">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="FromMapPoints">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="QueryRowIDs">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetCacheName">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ComputeScale">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="Find">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExportMapImage">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

  </binding>

  <service name="#NAME#">

    <port name="MapServerPort" binding="e:MapServerBinding">

      <soap:address location="#URL#" />

    </port>

  </service>

</definitions>