Map service (MapServer) WSDL

The schema version indicated below is compatible with 10.1 and later releases. Existing SOAP proxy libraries generated with version 10.1 WSDLs are supported in 10.1 and later releases.

When building Visual Basic projects, you might encounter compilation errors due to a known problem with case sensitivity when generating value objects for map services. To fix these issues, open Reference.vb manually (you will not see it in the project, but you can browse to it). Find the declaration of the partial public class StandaloneTableInfo, then scroll down (not far) until you find the declaration Private idField As Integer. Rename the member variable idField to idField1, scroll down until you find Public Property ID() As Integer, then replace any Me.idField references with Me.idField1.

<?xml version="1.0" encoding="utf-8"?>
<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.1" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.1">
  <types>
    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.1" xmlns="http://www.esri.com/schemas/ArcGIS/10.1">
      <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="GetLegendInfo2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapDescription" type="MapDescription" />
            <xs:element name="MapImageDisplay" type="ImageDisplay" />
            <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="GetLegendInfo2Response">
        <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="QueryRelatedRecords2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <xs:element name="SourceFIDSet" type="FIDSet" />
            <xs:element name="RelateDescription" type="RelateDescription" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryRelatedRecords2Response">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="QueryResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryDataStatistics">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <xs:element name="StatisticsRequest" type="StatisticsRequest" />
            <xs:element name="QueryFilter" type="QueryFilter" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryDataStatisticsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="RecordSet" />
          </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="QueryRasterValue2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <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="QueryRasterValue2Response">
        <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="QueryAttachmentInfos2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <xs:element name="RowIDs" type="ArrayOfInt" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryAttachmentInfos2Response">
        <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="QueryAttachmentData2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <xs:element name="AttachmentIDs" type="ArrayOfInt" />
            <xs:element name="TransportType" type="esriTransportType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryAttachmentData2Response">
        <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="QueryHTMLPopups2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <xs:element name="RowIDs" type="ArrayOfInt" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="QueryHTMLPopups2Response">
        <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:element name="GetMapTableSubtypeInfos2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="LayerDescriptions" type="ArrayOfLayerDescription" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetMapTableSubtypeInfos2Response">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfMapTableSubtypeInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GenerateDataClasses">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MapName" type="xs:string" />
            <xs:element name="MapTableDescription" type="MapTableDescription" />
            <xs:element name="DataClassificationDef" type="DataClassificationDef" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GenerateDataClassesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="FeatureRenderer" />
          </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="esriJoinType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriLeftOuterJoin" />
          <xs:enumeration value="esriLeftInnerJoin" />
        </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="ArrayOfStatisticDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="StatisticDescription" type="StatisticDescription" />
        </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:element minOccurs="0" name="DrawingDescription" type="LayerDrawingDescription" />
              <xs:element minOccurs="0" name="Source" type="MapServerSourceDescription" />
            </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:element minOccurs="0" name="HonorLayerReordering" type="xs:boolean" />
          <xs:element minOccurs="0" name="TimeRelation" type="esriTimeRelation" />
        </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:element minOccurs="0" name="CanModifyDrawingDescription" type="xs:boolean" />
              <xs:element minOccurs="0" name="SupportsStatistics" type="xs:boolean" />
              <xs:element minOccurs="0" name="SupportsAdvancedQueries" type="xs:boolean" />
              <xs:element minOccurs="0" name="HasLiveData" 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:element minOccurs="0" name="SupportsDynamicLayers" type="xs:boolean" />
          <xs:element minOccurs="0" name="HasLiveData" type="xs:boolean" />
          <xs:element minOccurs="0" name="MinScale" type="xs:double" />
          <xs:element minOccurs="0" name="MaxScale" 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:simpleType name="esriClassifyMethod">
        <xs:annotation>
          <xs:documentation>Various methods to classify Data.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriClassifyNaturalBreaks">
            <xs:annotation>
              <xs:documentation>Classify using Natural Breaks.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriClassifyEqualInterval">
            <xs:annotation>
              <xs:documentation>Classify using Equal Interval.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriClassifyQuantile">
            <xs:annotation>
              <xs:documentation>Classify using Quantile.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriClassifyStandardDeviation">
            <xs:annotation>
              <xs:documentation>Classify using Standard Deviation.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriClassifyGeometricalInterval">
            <xs:annotation>
              <xs:documentation>Classify using Geometrical Interval.</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:element name="ClassMinimumValue" type="xs:double" />
        </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="DataClassificationDef" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="UniqueValuesDef">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataClassificationDef">
            <xs:sequence>
              <xs:element minOccurs="0" name="BaseSymbol" type="Symbol" />
              <xs:element minOccurs="0" name="Fields" type="ArrayOfString" />
              <xs:element minOccurs="0" name="FieldDelimiter" type="xs:string" />
              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ClassBreaksDef">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataClassificationDef">
            <xs:sequence>
              <xs:element name="ClassificationField" type="xs:string" />
              <xs:element name="ClassificationMethod" type="esriClassifyMethod" />
              <xs:element minOccurs="0" name="BaseSymbol" type="Symbol" />
              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp" />
              <xs:element minOccurs="0" name="BreakCount" type="xs:long" />
              <xs:element minOccurs="0" name="NormalizationField" type="xs:string" />
              <xs:element minOccurs="0" name="StandardDeviationInterval" type="xs:double" />
              <xs:element minOccurs="0" name="NormalizationType" type="esriNormalizationType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </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 ClassBreakInfo 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:element minOccurs="0" name="LabelExpressionType" type="esriLabelExpressionType" />
          <xs:element minOccurs="0" name="WhereClause" type="xs:string" />
        </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="MapServerSourceDescription" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="DataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapServerSourceDescription">
            <xs:sequence>
              <xs:element name="WorkspaceID" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TableDataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataSourceDescription">
            <xs:sequence>
              <xs:element name="TableName" type="xs:string" />
              <xs:element name="VersionName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="QueryTableDataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataSourceDescription">
            <xs:sequence>
              <xs:element name="Query" type="xs:string" />
              <xs:element name="OIDFields" type="xs:string" />
              <xs:element name="GeometryType" type="esriGeometryType" />
              <xs:element name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterDataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataSourceDescription">
            <xs:sequence>
              <xs:element name="RasterName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MapTableSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapServerSourceDescription">
            <xs:sequence>
              <xs:element name="MapTableID" type="xs:int" />
              <xs:element minOccurs="0" name="VersionName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="JoinTableSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapServerSourceDescription">
            <xs:sequence>
              <xs:element name="LeftSourceDescription" type="MapServerSourceDescription" />
              <xs:element name="RightSourceDescription" type="MapServerSourceDescription" />
              <xs:element name="LeftTableKey" type="xs:string" />
              <xs:element name="RightTableKey" type="xs:string" />
              <xs:element minOccurs="0" name="JoinType" type="esriJoinType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </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:element minOccurs="0" name="SupportsStatistics" type="xs:boolean" />
              <xs:element minOccurs="0" name="SupportsAdvancedQueries" 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:element minOccurs="0" name="Source" type="MapServerSourceDescription" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriDataStatType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriDataStatTypeCount" />
          <xs:enumeration value="esriDataStatTypeSum" />
          <xs:enumeration value="esriDataStatTypeMin" />
          <xs:enumeration value="esriDataStatTypeMax" />
          <xs:enumeration value="esriDataStatTypeAverage" />
          <xs:enumeration value="esriDataStatTypeStdDev" />
          <xs:enumeration value="esriDataStatTypeVariance" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="StatisticDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="StatisticFieldName" type="xs:string" />
          <xs:element name="StatisticType" type="esriDataStatType" />
          <xs:element minOccurs="0" name="ResultFieldName" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="StatisticsRequest">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="StatisticDescriptions" type="ArrayOfStatisticDescription" />
          <xs:element minOccurs="0" name="OrderByFields" type="xs:string" />
          <xs:element minOccurs="0" name="GroupByFields" type="xs:string" />
        </xs:sequence>
      </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:element minOccurs="0" name="Role" type="esriRelRole" />
          <xs:element minOccurs="0" name="Cardinality" type="esriRelCardinality" />
          <xs:element minOccurs="0" name="KeyField" type="xs:string" />
          <xs:element minOccurs="0" name="IsComposite" type="xs:boolean" />
          <xs:element minOccurs="0" name="RelationshipTableId" type="xs:int" />
          <xs:element minOccurs="0" name="KeyFieldInRelationshipTable" type="xs:string" />
        </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:enumeration value="esriTimeRelationOverlapsStartWithinEnd" />
          <xs:enumeration value="esriTimeRelationAfterStartOverlapsEnd" />
        </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:simpleType name="esriLabelExpressionType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriLabelExpressionSimple" />
          <xs:enumeration value="esriLabelExpressionPython" />
          <xs:enumeration value="esriLabelExpressionVBScript" />
          <xs:enumeration value="esriLabelExpressionJScript" />
        </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:element minOccurs="0" name="OutlineWidth" type="xs:double" />
              <xs:element minOccurs="0" name="Kerning" type="xs:boolean" />
              <xs:element minOccurs="0" name="MaskStyle" type="esriMaskStyle" />
              <xs:element minOccurs="0" name="MaskSize" type="xs:int" />
              <xs:element minOccurs="0" name="MaskSymbol" type="Symbol" />
            </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:element minOccurs="0" name="RespectsDynamicAdjustmentRules" 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="LatestWKID" type="xs:int" />
          <xs:element minOccurs="0" name="VCSWKID" type="xs:int" />
          <xs:element minOccurs="0" name="LatestVCSWKID" 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="Triangles">
        <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="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:annotation>
                  <xs:documentation>The field name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Expression" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The filter expression.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </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:simpleType name="esriRelCardinality">
        <xs:annotation>
          <xs:documentation>Relationship Cardinality.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRelCardinalityOneToOne">
            <xs:annotation>
              <xs:documentation>One To One.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRelCardinalityOneToMany">
            <xs:annotation>
              <xs:documentation>One To Many.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRelCardinalityManyToMany">
            <xs:annotation>
              <xs:documentation>Many To Many.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriRelRole">
        <xs:annotation>
          <xs:documentation>Relationship Role.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRelRoleAny">
            <xs:annotation>
              <xs:documentation>Any.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRelRoleOrigin">
            <xs:annotation>
              <xs:documentation>Origin.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRelRoleDestination">
            <xs:annotation>
              <xs:documentation>Destination.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <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:annotation>
              <xs:documentation>ID that uniquely identifies an attachment.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ParentID" type="xs:int">
            <xs:annotation>
              <xs:documentation>The source id that to which the attachment is associated to.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Name" type="xs:string">
            <xs:annotation>
              <xs:documentation>Descriptive name of an attachment.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ContentType" type="xs:string">
            <xs:annotation>
              <xs:documentation>Content type that indicates the type of the mime content.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Size" type="xs:int">
            <xs:annotation>
              <xs:documentation>The size of the attachment.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </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:annotation>
              <xs:documentation>Attachment as bytes.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="AttachmentInfo" type="AttachmentInfo">
            <xs:annotation>
              <xs:documentation>Content type that indicates the type of the mime content.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="URL" type="xs:string">
            <xs:annotation>
              <xs:documentation>URL.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="TransportType" type="esriTransportType">
            <xs:annotation>
              <xs:documentation>Transport Type.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </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="QueryAttachmentInfos2In">
    <part name="parameters" element="e:QueryAttachmentInfos2" />
  </message>
  <message name="QueryAttachmentInfos2Out">
    <part name="parameters" element="e:QueryAttachmentInfos2Response" />
  </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="QueryDataStatisticsIn">
    <part name="parameters" element="e:QueryDataStatistics" />
  </message>
  <message name="QueryDataStatisticsOut">
    <part name="parameters" element="e:QueryDataStatisticsResponse" />
  </message>
  <message name="GetMapTableSubtypeInfos2In">
    <part name="parameters" element="e:GetMapTableSubtypeInfos2" />
  </message>
  <message name="GetMapTableSubtypeInfos2Out">
    <part name="parameters" element="e:GetMapTableSubtypeInfos2Response" />
  </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="QueryRasterValue2In">
    <part name="parameters" element="e:QueryRasterValue2" />
  </message>
  <message name="QueryRasterValue2Out">
    <part name="parameters" element="e:QueryRasterValue2Response" />
  </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="QueryFeatureCountIn">
    <part name="parameters" element="e:QueryFeatureCount" />
  </message>
  <message name="QueryFeatureCountOut">
    <part name="parameters" element="e:QueryFeatureCountResponse" />
  </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="GetLegendInfo2In">
    <part name="parameters" element="e:GetLegendInfo2" />
  </message>
  <message name="GetLegendInfo2Out">
    <part name="parameters" element="e:GetLegendInfo2Response" />
  </message>
  <message name="FromMapPointsIn">
    <part name="parameters" element="e:FromMapPoints" />
  </message>
  <message name="FromMapPointsOut">
    <part name="parameters" element="e:FromMapPointsResponse" />
  </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="QueryAttachmentData2In">
    <part name="parameters" element="e:QueryAttachmentData2" />
  </message>
  <message name="QueryAttachmentData2Out">
    <part name="parameters" element="e:QueryAttachmentData2Response" />
  </message>
  <message name="QueryHTMLPopups2In">
    <part name="parameters" element="e:QueryHTMLPopups2" />
  </message>
  <message name="QueryHTMLPopups2Out">
    <part name="parameters" element="e:QueryHTMLPopups2Response" />
  </message>
  <message name="GenerateDataClassesIn">
    <part name="parameters" element="e:GenerateDataClasses" />
  </message>
  <message name="GenerateDataClassesOut">
    <part name="parameters" element="e:GenerateDataClassesResponse" />
  </message>
  <message name="QueryRasterValueIn">
    <part name="parameters" element="e:QueryRasterValue" />
  </message>
  <message name="QueryRasterValueOut">
    <part name="parameters" element="e:QueryRasterValueResponse" />
  </message>
  <message name="GetMapCountIn">
    <part name="parameters" element="e:GetMapCount" />
  </message>
  <message name="GetMapCountOut">
    <part name="parameters" element="e:GetMapCountResponse" />
  </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>
  <message name="QueryRelatedRecords2In">
    <part name="parameters" element="e:QueryRelatedRecords2" />
  </message>
  <message name="QueryRelatedRecords2Out">
    <part name="parameters" element="e:QueryRelatedRecords2Response" />
  </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="QueryAttachmentInfos2">
      <input message="e:QueryAttachmentInfos2In" />
      <output message="e:QueryAttachmentInfos2Out" />
    </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="QueryDataStatistics">
      <input message="e:QueryDataStatisticsIn" />
      <output message="e:QueryDataStatisticsOut" />
    </operation>
    <operation name="GetMapTableSubtypeInfos2">
      <input message="e:GetMapTableSubtypeInfos2In" />
      <output message="e:GetMapTableSubtypeInfos2Out" />
    </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="QueryRasterValue2">
      <input message="e:QueryRasterValue2In" />
      <output message="e:QueryRasterValue2Out" />
    </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="QueryFeatureCount">
      <input message="e:QueryFeatureCountIn" />
      <output message="e:QueryFeatureCountOut" />
    </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="GetLegendInfo2">
      <input message="e:GetLegendInfo2In" />
      <output message="e:GetLegendInfo2Out" />
    </operation>
    <operation name="FromMapPoints">
      <input message="e:FromMapPointsIn" />
      <output message="e:FromMapPointsOut" />
    </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="QueryAttachmentData2">
      <input message="e:QueryAttachmentData2In" />
      <output message="e:QueryAttachmentData2Out" />
    </operation>
    <operation name="QueryHTMLPopups2">
      <input message="e:QueryHTMLPopups2In" />
      <output message="e:QueryHTMLPopups2Out" />
    </operation>
    <operation name="GenerateDataClasses">
      <input message="e:GenerateDataClassesIn" />
      <output message="e:GenerateDataClassesOut" />
    </operation>
    <operation name="QueryRasterValue">
      <input message="e:QueryRasterValueIn" />
      <output message="e:QueryRasterValueOut" />
    </operation>
    <operation name="GetMapCount">
      <input message="e:GetMapCountIn" />
      <output message="e:GetMapCountOut" />
    </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>
    <operation name="QueryRelatedRecords2">
      <input message="e:QueryRelatedRecords2In" />
      <output message="e:QueryRelatedRecords2Out" />
    </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="QueryAttachmentInfos2">
      <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="QueryDataStatistics">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetMapTableSubtypeInfos2">
      <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="QueryRasterValue2">
      <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="QueryFeatureCount">
      <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="GetLegendInfo2">
      <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="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="QueryAttachmentData2">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="QueryHTMLPopups2">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GenerateDataClasses">
      <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="GetMapCount">
      <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>
    <operation name="QueryRelatedRecords2">
      <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>

11/8/2016