Image service (ImageServer) WSDL

<?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.3" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.3">
  <types>
    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.3" xmlns="http://www.esri.com/schemas/ArcGIS/10.3">
      <xs:element name="GetVersion">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetVersionResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:decimal" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetServiceInfo">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetServiceInfoResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageServiceInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetImage">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ImageDescription" type="GeoImageDescription" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetImageResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:base64Binary" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExportImage">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ImageDescription" type="GeoImageDescription" />
            <xs:element name="ImageType" type="ImageType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExportImageResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Execute">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Request" type="AISRequest" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExecuteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExportScaledImage">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ImageDescription" type="GeoImageDescription" />
            <xs:element name="ImageType" type="ImageType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExportScaledImageResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="MapImage" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetFields">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetFieldsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="Fields" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetCatalogItemCount">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="QueryFilter" type="QueryFilter" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetCatalogItemCountResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetCatalogItemIDs">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="QueryFilter" type="QueryFilter" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetCatalogItemIDsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="FIDSet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetCatalogItems">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="QueryFilter" type="QueryFilter" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetCatalogItemsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="RecordSet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Download">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="FIDs" type="FIDSet" />
            <xs:element name="Geometry" type="Geometry" minOccurs="0" />
            <xs:element name="Format" type="xs:string" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DownloadResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfImageServerDownloadResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetFile">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="File" type="ImageServerDownloadResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetFileResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Identify">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Location" type="Geometry" />
            <xs:element name="MosaicRule" type="MosaicRule" />
            <xs:element name="PixelSize" type="Point" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IdentifyResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageServerIdentifyResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IdentifyAll">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Locations" type="Geometry" />
            <xs:element name="MosaicRule" type="MosaicRule" />
            <xs:element name="PixelSize" type="Point" />
            <xs:element name="RenderingRule" type="RenderingRule" />
            <xs:element name="Options" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IdentifyAllResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfImageServerIdentifyResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetMetadata">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetMetadataResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterInfoResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="RasterInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetPixelBlock">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
            <xs:element name="Tx" type="xs:int" />
            <xs:element name="Ty" type="xs:int" />
            <xs:element name="Level" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetPixelBlockResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:base64Binary" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterMetadata">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterMetadataResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetThumbnail">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetThumbnailResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GenerateServiceInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RenderingRule" type="RenderingRule" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GenerateServiceInfoResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageServiceInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNativeRasterInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNativeRasterInfoResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfRasterInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNativePixelBlock">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
            <xs:element name="IID" type="xs:int" />
            <xs:element name="Tx" type="xs:int" />
            <xs:element name="Ty" type="xs:int" />
            <xs:element name="Level" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNativePixelBlockResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:base64Binary" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Add">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ItemDescriptions" type="ArrayOfRasterItemDescription" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AddResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfImageServerEditResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Update">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="FIDs" type="FIDSet" />
            <xs:element name="ItemDescriptions" type="ArrayOfRasterItemDescription" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="UpdateResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfImageServerEditResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Delete">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="FIDs" type="FIDSet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DeleteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfImageServerEditResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Measure">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="From" type="Geometry" />
            <xs:element name="To" type="Geometry" />
            <xs:element name="MosaicRule" type="MosaicRule" />
            <xs:element name="PixelSize" type="Point" />
            <xs:element name="Operation" type="esriMensurationOperation" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MeasureResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageServerMeasureResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ComputeHistograms">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Geometry" type="Geometry" />
            <xs:element name="MosaicRule" type="MosaicRule" />
            <xs:element name="PixelSize" type="Point" />
            <xs:element name="RenderingRule" type="RenderingRule" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ComputeHistogramsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfRasterHistogram" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterAttributeTable">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetRasterAttributeTableResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="RecordSet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetKeyProperties">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetKeyPropertiesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="PropertySet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterKeyProperties">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RID" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetRasterKeyPropertiesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="PropertySet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetView">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="VID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetViewResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageView" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CreateView">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="View" type="ImageView" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CreateViewResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageServerEditResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="UpdateView">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="VID" type="xs:string" />
            <xs:element name="AddFIDs" type="FIDSet" />
            <xs:element name="DeleteFIDs" type="FIDSet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="UpdateViewResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfImageServerEditResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DeleteView">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="VID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DeleteViewResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ImageServerEditResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetTileCacheInfo">
        <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="GetImageTile">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Level" type="xs:int" />
            <xs:element name="Row" type="xs:int" />
            <xs:element name="Column" type="xs:int" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetImageTileResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:base64Binary" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetTileImageInfo">
        <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="GetCacheStorageInfo">
        <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="IsFixedScaleImage">
        <xs:complexType />
      </xs:element>
      <xs:element name="IsFixedScaleImageResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:boolean" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetVirtualCacheDirectory">
        <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="GetCacheDescriptionInfo">
        <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="GetCacheControlInfo">
        <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:simpleType name="esriMapCacheStorageFormat">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriMapCacheStorageModeCompact" />
          <xs:enumeration value="esriMapCacheStorageModeExploded" />
          <xs:enumeration value="esriMapCacheStorageModeCompactV2" />
        </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="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="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="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="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="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: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:simpleType name="esriImageServiceDataType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriImageServiceDataTypeGeneric" />
          <xs:enumeration value="esriImageServiceDataTypeRGB" />
          <xs:enumeration value="esriImageServiceDataTypeElevation" />
          <xs:enumeration value="esriImageServiceDataTypeThematic" />
          <xs:enumeration value="esriImageServiceDataTypeProcessed" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriImageServiceSourceType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriImageServiceSourceTypeDataset" />
          <xs:enumeration value="esriImageServiceSourceTypeLayer" />
          <xs:enumeration value="esriImageServiceSourceTypeCatalog" />
          <xs:enumeration value="esriImageServiceSourceTypeMosaicDataset" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriMensurationOperation">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriMensurationPoint" />
          <xs:enumeration value="esriMensurationDistanceAndAngle" />
          <xs:enumeration value="esriMensurationAreaAndPerimeter" />
          <xs:enumeration value="esriMensurationHeightFromBaseAndTop" />
          <xs:enumeration value="esriMensurationHeightFromBaseAndTopShadow" />
          <xs:enumeration value="esriMensurationHeightFromTopAndTopShadow" />
          <xs:enumeration value="esriMensurationCentroid" />
          <xs:enumeration value="esriMensurationPoint3D" />
          <xs:enumeration value="esriMensurationDistanceAndAngle3D" />
          <xs:enumeration value="esriMensurationAreaAndPerimeter3D" />
          <xs:enumeration value="esriMensurationCentroid3D" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="RasterFunctionInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Description" type="xs:string" />
          <xs:element name="Help" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRasterFunctionInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="RasterFunctionInfo" type="RasterFunctionInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterTypeInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Description" type="xs:string" />
          <xs:element name="Help" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRasterTypeInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="RasterTypeInfo" type="RasterTypeInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriGeodataXformApplyMethod">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriGeodataXformApplyAppend" />
          <xs:enumeration value="esriGeodataXformApplyReplace" />
          <xs:enumeration value="esriGeodataXformApplyOverwrite" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="ImageServiceInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Description" type="xs:string" />
          <xs:element name="Extent" type="Envelope" />
          <xs:element name="PixelSizeX" type="xs:double" />
          <xs:element name="PixelSizeY" type="xs:double" />
          <xs:element name="BandCount" type="xs:int" />
          <xs:element name="PixelType" type="rstPixelType" />
          <xs:element name="NoData" type="ArrayOfAnyType" />
          <xs:element name="MinPixelSize" type="xs:double" />
          <xs:element name="MaxPixelSize" type="xs:double" />
          <xs:element name="CopyrightText" type="xs:string" />
          <xs:element name="ServiceDataType" type="esriImageServiceDataType" />
          <xs:element minOccurs="0" name="MinValues" type="ArrayOfDouble" />
          <xs:element minOccurs="0" name="MaxValues" type="ArrayOfDouble" />
          <xs:element minOccurs="0" name="MeanValues" type="ArrayOfDouble" />
          <xs:element minOccurs="0" name="StdvValues" type="ArrayOfDouble" />
          <xs:element name="ServiceProperties" type="xs:string" />
          <xs:element name="MaxNCols" type="xs:int" />
          <xs:element name="MaxNRows" type="xs:int" />
          <xs:element minOccurs="0" name="ServiceSourceType" type="esriImageServiceSourceType" />
          <xs:element minOccurs="0" name="AllowedFields" type="xs:string" />
          <xs:element minOccurs="0" name="AllowedCompressions" type="xs:string" />
          <xs:element minOccurs="0" name="AllowedMosaicMethods" type="xs:string" />
          <xs:element minOccurs="0" name="AllowedItemMetadata" type="xs:string" />
          <xs:element minOccurs="0" name="MaxRecordCount" type="xs:int" />
          <xs:element minOccurs="0" name="MaxDownloadImageCount" type="xs:int" />
          <xs:element minOccurs="0" name="MaxMosaicImageCount" type="xs:int" />
          <xs:element minOccurs="0" name="DefaultCompression" type="xs:string" />
          <xs:element minOccurs="0" name="DefaultCompressionQuality" type="xs:int" />
          <xs:element minOccurs="0" name="DefaultResamplingMethod" type="rstResamplingTypes" />
          <xs:element minOccurs="0" name="DefaultMosaicMethod" type="esriMosaicMethod" />
          <xs:element minOccurs="0" name="SupportBSQ" type="xs:boolean" />
          <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="TimeReference" type="TimeReference" />
          <xs:element minOccurs="0" name="TimeExtent" type="TimeExtent" />
          <xs:element minOccurs="0" name="Histograms" type="ArrayOfRasterHistogram" />
          <xs:element minOccurs="0" name="Colormap" type="RasterColormap" />
          <xs:element minOccurs="0" name="RasterFunctions" type="ArrayOfRasterFunctionInfo" />
          <xs:element minOccurs="0" name="RasterTypes" type="ArrayOfRasterTypeInfo" />
          <xs:element minOccurs="0" name="MensurationCapabilities" type="xs:string" />
          <xs:element minOccurs="0" name="HasRasterAttributeTable" 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="GeoImageDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
          <xs:element name="Extent" type="Envelope" />
          <xs:element name="Width" type="xs:int" />
          <xs:element name="Height" type="xs:int" />
          <xs:element minOccurs="0" name="PixelType" type="rstPixelType" />
          <xs:element minOccurs="0" name="NoData" type="xs:anyType" />
          <xs:element minOccurs="0" name="Interpolation" type="rstResamplingTypes" />
          <xs:element minOccurs="0" name="Compression" type="xs:string" />
          <xs:element minOccurs="0" name="CompressionQuality" type="xs:int" />
          <xs:element minOccurs="0" name="BandIDs" type="ArrayOfInt" />
          <xs:element minOccurs="0" name="MosaicProperties" type="xs:string" />
          <xs:element minOccurs="0" name="ViewpointProperties" type="xs:string" />
          <xs:element minOccurs="0" name="MosaicRule" type="MosaicRule" />
          <xs:element minOccurs="0" name="RenderingRule" type="RenderingRule" />
          <xs:element minOccurs="0" name="BSQ" type="xs:boolean" />
          <xs:element minOccurs="0" name="NoDataInterpretation" type="esriNoDataInterpretation" />
          <xs:element minOccurs="0" name="GeoTransformation" type="GeoTransformation" />
          <xs:element minOccurs="0" name="ResamplingHint" type="esriRasterResamplingHint" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterItemDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="DataFileNames" type="ArrayOfString" />
          <xs:element name="DataFileURLs" type="ArrayOfString" />
          <xs:element name="Type" type="xs:string" />
          <xs:element minOccurs="0" name="Properties" type="PropertySet" />
          <xs:element minOccurs="0" name="GeodataXform" type="GeodataXform" />
          <xs:element minOccurs="0" name="ComputeStatistics" type="xs:boolean" />
          <xs:element minOccurs="0" name="BuildPyramids" type="xs:boolean" />
          <xs:element minOccurs="0" name="BuildThumbnail" type="xs:boolean" />
          <xs:element minOccurs="0" name="GeodataXformApplyMethod" type="esriGeodataXformApplyMethod" />
          <xs:element minOccurs="0" name="MinCellSizeFactor" type="xs:double" />
          <xs:element minOccurs="0" name="MaxCellSizeFactor" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRasterItemDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="RasterItemDescription" type="RasterItemDescription" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AISRequest">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="GeoImageDescription" type="GeoImageDescription" />
          <xs:element minOccurs="0" name="Arguments" type="ArrayOfString" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MosaicRule">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="MosaicMethod" type="esriMosaicMethod" />
          <xs:element minOccurs="0" name="WhereClause" type="xs:string" />
          <xs:element minOccurs="0" name="SortFieldName" type="xs:string" />
          <xs:element minOccurs="0" name="SortValue" type="xs:anyType" />
          <xs:element minOccurs="0" name="Ascending" type="xs:boolean" />
          <xs:element minOccurs="0" name="LockRasterID" type="xs:string" />
          <xs:element minOccurs="0" name="Viewpoint" type="Point" />
          <xs:element minOccurs="0" name="FIDs" type="FIDSet" />
          <xs:element minOccurs="0" name="MosaicOperation" type="rstMosaicOperatorType" />
          <xs:element minOccurs="0" name="TimeValue" type="TimeValue" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RenderingRule">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="Description" type="xs:string" />
          <xs:element minOccurs="0" name="Function" type="RasterFunction" />
          <xs:element minOccurs="0" name="Arguments" type="RasterFunctionArguments" />
          <xs:element minOccurs="0" name="VariableName" type="xs:string" />
          <xs:element minOccurs="0" name="Renderer" type="RasterRenderer" />
        </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="ImageServerDownloadResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="RasterIDs" type="ArrayOfInt" />
          <xs:element name="URI" type="xs:string" />
          <xs:element name="FileSize" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfImageServerDownloadResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageServerDownloadResult" type="ImageServerDownloadResult" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImageServerIdentifyResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="OID" type="xs:int" />
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Value" type="xs:string" />
          <xs:element name="Location" type="Point" />
          <xs:element minOccurs="0" name="Properties" type="PropertySet" />
          <xs:element minOccurs="0" name="CatalogItems" type="RecordSet" />
          <xs:element minOccurs="0" name="CatalogItemVisibilities" type="ArrayOfDouble" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfImageServerIdentifyResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageServerIdentifyResult" type="ImageServerIdentifyResult" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImageServerMeasureResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="SensorName" type="xs:string" />
          <xs:element name="Operation" type="xs:string" />
          <xs:element name="Measurement" type="PropertySet" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImageServerEditResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="RasterID" type="xs:int" />
          <xs:element name="Succeeded" type="xs:boolean" />
          <xs:element name="Code" type="xs:int" />
          <xs:element name="Description" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfImageServerEditResult">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageServerEditResult" type="ImageServerEditResult" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImageView">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="VID" type="xs:string" />
          <xs:element name="Description" type="xs:string" />
          <xs:element minOccurs="0" name="Extent" type="Envelope" />
          <xs:element minOccurs="0" name="PixelSizeX" type="xs:double" />
          <xs:element minOccurs="0" name="PixelSizeY" type="xs:double" />
          <xs:element minOccurs="0" name="BandCount" type="xs:int" />
          <xs:element minOccurs="0" name="PixelType" type="rstPixelType" />
          <xs:element minOccurs="0" name="MosaicRule" type="MosaicRule" />
          <xs:element minOccurs="0" name="RenderingRule" type="RenderingRule" />
        </xs:sequence>
      </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="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: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:simpleType name="esriMosaicMethod">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriMosaicNone" />
          <xs:enumeration value="esriMosaicCenter" />
          <xs:enumeration value="esriMosaicNadir" />
          <xs:enumeration value="esriMosaicViewpoint" />
          <xs:enumeration value="esriMosaicAttribute" />
          <xs:enumeration value="esriMosaicLockRaster" />
          <xs:enumeration value="esriMosaicNorthwest" />
          <xs:enumeration value="esriMosaicSeamline" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="rstMosaicOperatorType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="MT_FIRST" />
          <xs:enumeration value="MT_LAST" />
          <xs:enumeration value="MT_MIN" />
          <xs:enumeration value="MT_MAX" />
          <xs:enumeration value="MT_MEAN" />
          <xs:enumeration value="MT_BLEND" />
        </xs:restriction>
      </xs:simpleType>
      <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="RasterColormap">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="ColormapSize" type="xs:int" />
          <xs:element name="Values" type="ArrayOfInt" />
          <xs:element name="Colors" type="ArrayOfInt" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterStatistics">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Min" type="xs:double" />
          <xs:element name="Max" type="xs:double" />
          <xs:element minOccurs="0" name="Mean" type="xs:double" />
          <xs:element minOccurs="0" name="StandardDeviation" type="xs:double" />
          <xs:element minOccurs="0" name="Median" type="xs:double" />
          <xs:element minOccurs="0" name="Mode" type="xs:double" />
          <xs:element minOccurs="0" name="SkipX" type="xs:int" />
          <xs:element minOccurs="0" name="SkipY" type="xs:int" />
          <xs:element minOccurs="0" name="Ignores" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterHistogram">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Size" type="xs:int" />
          <xs:element name="Min" type="xs:double" />
          <xs:element name="Max" type="xs:double" />
          <xs:element name="Counts" type="ArrayOfDouble" />
          <xs:element minOccurs="0" name="Bins" type="ArrayOfDouble" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRasterHistogram">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="RasterHistogram" type="RasterHistogram" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Origin" type="Point" />
          <xs:element minOccurs="0" name="BlockWidth" type="xs:int" />
          <xs:element minOccurs="0" name="BlockHeight" type="xs:int" />
          <xs:element minOccurs="0" name="PixelSizeX" type="xs:double" />
          <xs:element minOccurs="0" name="PixelSizeY" type="xs:double" />
          <xs:element minOccurs="0" name="GeodataXform" type="GeodataXform" />
          <xs:element minOccurs="0" name="Extent" type="Envelope" />
          <xs:element minOccurs="0" name="NativeSpatialReference" type="SpatialReference" />
          <xs:element minOccurs="0" name="NativeExtent" type="Envelope" />
          <xs:element minOccurs="0" name="BandCount" type="xs:int" />
          <xs:element minOccurs="0" name="PixelType" type="rstPixelType" />
          <xs:element minOccurs="0" name="NoData" type="ArrayOfAnyType" />
          <xs:element minOccurs="0" name="FirstPyramidLevel" type="xs:int" />
          <xs:element minOccurs="0" name="MaximumPyramidLevel" type="xs:int" />
          <xs:element minOccurs="0" name="Format" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRasterInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="RasterInfo" type="RasterInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="Description" type="xs:string" />
          <xs:element minOccurs="0" name="PixelType" type="rstPixelType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArithmeticFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="AspectFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ClipFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ColormapFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ColormapToRGBFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ColorspaceConversionFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ComplexFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ConstantFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ConvolutionFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ExtractBandFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GeometricFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GrayscaleFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="HillshadeFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="IdentityFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MaskFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NDVIFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PansharpeningFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterInfoFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ShadedReliefFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SlopeFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SpectralConversionFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="StatisticsFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="StretchFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TrendFunction">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Names" type="ArrayOfString" />
          <xs:element minOccurs="0" name="Values" type="ArrayOfAnyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArithmeticFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ClipFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ColormapFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ColorspaceConversionFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ConstantFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ConvolutionFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ExtractBandFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GeometricFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GrayscaleFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="HillshadeFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MaskFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NDVIFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PansharpeningFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterInfoFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ShadedReliefFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SlopeFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SpectralConversionFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="StatisticsFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="StretchFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TrendFunctionArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterFunctionTemplateArguments">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunctionArguments" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterFunctionVariable">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="Description" type="xs:string" />
          <xs:element minOccurs="0" name="Value" type="xs:anyType" />
          <xs:element minOccurs="0" name="Aliases" type="ArrayOfString" />
          <xs:element minOccurs="0" name="IsDataset" type="xs:boolean" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterFunctionTemplate">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterFunction">
            <xs:sequence>
              <xs:element name="Function" type="RasterFunction" />
              <xs:element minOccurs="0" name="Arguments" type="RasterFunctionArguments" />
              <xs:element minOccurs="0" name="Aliases" type="ArrayOfString" />
              <xs:element minOccurs="0" name="Help" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="IdentityXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GeodataXform">
            <xs:sequence>
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RPCXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GeodataXform">
            <xs:sequence>
              <xs:element name="SpatialReference" type="SpatialReference" />
              <xs:element name="ConstantZ" type="xs:double" />
              <xs:element name="ZFactor" type="xs:double" />
              <xs:element name="ZOffset" type="xs:double" />
              <xs:element name="CorrectGeoid" type="xs:boolean" />
              <xs:element name="RequireDEM" type="xs:boolean" />
              <xs:element name="RPC" type="ArrayOfDouble" />
              <xs:element name="ForwardXform" type="GeodataXform" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolynomialXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GeodataXform">
            <xs:sequence>
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
              <xs:element minOccurs="0" name="PolynomialOrder" type="xs:int" />
              <xs:element minOccurs="0" name="SourceGCPs" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="TargetGCPs" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="CoeffX" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="CoeffY" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="InverseCoeffX" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="InverseCoeffY" type="ArrayOfDouble" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ProjectiveXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GeodataXform">
            <xs:sequence>
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
              <xs:element minOccurs="0" name="SourceGCPs" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="TargetGCPs" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="ProjectiveParameters" type="ArrayOfDouble" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="FrameXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GeodataXform">
            <xs:sequence>
              <xs:element name="SpatialReference" type="SpatialReference" />
              <xs:element minOccurs="0" name="ConstantZ" type="xs:double" />
              <xs:element minOccurs="0" name="ZFactor" type="xs:double" />
              <xs:element minOccurs="0" name="ZOffset" type="xs:double" />
              <xs:element minOccurs="0" name="CorrectGeoid" type="xs:boolean" />
              <xs:element minOccurs="0" name="InteriorOrientation" type="GeodataXform" />
              <xs:element minOccurs="0" name="Konrady" type="xs:boolean" />
              <xs:element minOccurs="0" name="KonradyType" type="xs:string" />
              <xs:element minOccurs="0" name="KonradyParameters" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="CurvatureAndRefraction" type="xs:boolean" />
              <xs:element minOccurs="0" name="EarthRadius" type="xs:double" />
              <xs:element minOccurs="0" name="AverageZ" type="xs:double" />
              <xs:element minOccurs="0" name="PrinciplePoint" type="Point" />
              <xs:element minOccurs="0" name="FocalLength" type="xs:double" />
              <xs:element minOccurs="0" name="Polarity" type="xs:double" />
              <xs:element minOccurs="0" name="SensorPosition" type="Point" />
              <xs:element minOccurs="0" name="ExteriorOrientation" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="Clockwise" type="xs:boolean" />
              <xs:element minOccurs="0" name="LSR" type="GeodataXform" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LSRXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GeodataXform">
            <xs:sequence>
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
              <xs:element minOccurs="0" name="PerspectiveCenter" type="Point" />
              <xs:element minOccurs="0" name="RotationMatrix" type="ArrayOfDouble" />
              <xs:element name="Flattening" type="xs:double" />
              <xs:element minOccurs="0" name="EquatorialRadius" type="xs:double" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriNoDataInterpretation">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNoDataMatchAny" />
          <xs:enumeration value="esriNoDataMatchAll" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriRasterResamplingHint">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRasterResamplingClosest" />
          <xs:enumeration value="esriRasterResamplingUpsampling" />
          <xs:enumeration value="esriRasterResamplingDownsampling" />
          <xs:enumeration value="esriRasterResamplingFinest" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="ImageServerForceDeriveFromAnyType">
        <xs:annotation>
          <xs:documentation>A type used to force derivation from anyType in client frameworks.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="RasterFunctionTemplate" type="RasterFunctionTemplate" />
          <xs:element name="RasterFunctionVariable" type="RasterFunctionVariable" />
          <xs:element name="RasterStatistics" type="RasterStatistics" />
          <xs:element name="PolynomialXform" type="PolynomialXform" />
          <xs:element name="ProjectiveXform" type="ProjectiveXform" />
        </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:complexType name="ArrayOfAnyType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="AnyType" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <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: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="rstResamplingTypes">
        <xs:annotation>
          <xs:documentation>Different methods to perform raster resampling.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="RSP_NearestNeighbor">
            <xs:annotation>
              <xs:documentation>Resample pixel by nearest neighbor.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="RSP_BilinearInterpolation">
            <xs:annotation>
              <xs:documentation>Resample pixel by bilinear interpolation.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="RSP_CubicConvolution">
            <xs:annotation>
              <xs:documentation>Resample pixel by cubic convolution.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="RSP_Majority">
            <xs:annotation>
              <xs:documentation>Resample pixel by majority value.</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:element minOccurs="0" name="IsInline" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>
                Indicates if the Raster column value is a managed inline raster dataset.
              </xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="rstPixelType">
        <xs:annotation>
          <xs:documentation>Supported raster pixel types.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="U1" />
          <xs:enumeration value="U2" />
          <xs:enumeration value="U4" />
          <xs:enumeration value="U8" />
          <xs:enumeration value="S8" />
          <xs:enumeration value="U16" />
          <xs:enumeration value="S16" />
          <xs:enumeration value="U32" />
          <xs:enumeration value="S32" />
          <xs:enumeration value="F32" />
          <xs:enumeration value="F64" />
          <xs:enumeration value="C64" />
          <xs:enumeration value="C128" />
          <xs:enumeration value="UNKNOWN" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="GeodataXform">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
      </xs:complexType>
    </xs:schema>
  </types>
  <message name="GetPixelBlockIn">
    <part name="parameters" element="e:GetPixelBlock" />
  </message>
  <message name="GetPixelBlockOut">
    <part name="parameters" element="e:GetPixelBlockResponse" />
  </message>
  <message name="GetTileImageInfoIn">
    <part name="parameters" element="e:GetTileImageInfo" />
  </message>
  <message name="GetTileImageInfoOut">
    <part name="parameters" element="e:GetTileImageInfoResponse" />
  </message>
  <message name="GetCatalogItemCountIn">
    <part name="parameters" element="e:GetCatalogItemCount" />
  </message>
  <message name="GetCatalogItemCountOut">
    <part name="parameters" element="e:GetCatalogItemCountResponse" />
  </message>
  <message name="GetServiceInfoIn">
    <part name="parameters" element="e:GetServiceInfo" />
  </message>
  <message name="GetServiceInfoOut">
    <part name="parameters" element="e:GetServiceInfoResponse" />
  </message>
  <message name="GetVirtualCacheDirectoryIn">
    <part name="parameters" element="e:GetVirtualCacheDirectory" />
  </message>
  <message name="GetVirtualCacheDirectoryOut">
    <part name="parameters" element="e:GetVirtualCacheDirectoryResponse" />
  </message>
  <message name="UpdateIn">
    <part name="parameters" element="e:Update" />
  </message>
  <message name="UpdateOut">
    <part name="parameters" element="e:UpdateResponse" />
  </message>
  <message name="GenerateServiceInfoIn">
    <part name="parameters" element="e:GenerateServiceInfo" />
  </message>
  <message name="GenerateServiceInfoOut">
    <part name="parameters" element="e:GenerateServiceInfoResponse" />
  </message>
  <message name="GetVersionIn">
    <part name="parameters" element="e:GetVersion" />
  </message>
  <message name="GetVersionOut">
    <part name="parameters" element="e:GetVersionResponse" />
  </message>
  <message name="GetCatalogItemIDsIn">
    <part name="parameters" element="e:GetCatalogItemIDs" />
  </message>
  <message name="GetCatalogItemIDsOut">
    <part name="parameters" element="e:GetCatalogItemIDsResponse" />
  </message>
  <message name="ExportScaledImageIn">
    <part name="parameters" element="e:ExportScaledImage" />
  </message>
  <message name="ExportScaledImageOut">
    <part name="parameters" element="e:ExportScaledImageResponse" />
  </message>
  <message name="GetCacheStorageInfoIn">
    <part name="parameters" element="e:GetCacheStorageInfo" />
  </message>
  <message name="GetCacheStorageInfoOut">
    <part name="parameters" element="e:GetCacheStorageInfoResponse" />
  </message>
  <message name="CreateViewIn">
    <part name="parameters" element="e:CreateView" />
  </message>
  <message name="CreateViewOut">
    <part name="parameters" element="e:CreateViewResponse" />
  </message>
  <message name="GetCatalogItemsIn">
    <part name="parameters" element="e:GetCatalogItems" />
  </message>
  <message name="GetCatalogItemsOut">
    <part name="parameters" element="e:GetCatalogItemsResponse" />
  </message>
  <message name="DeleteIn">
    <part name="parameters" element="e:Delete" />
  </message>
  <message name="DeleteOut">
    <part name="parameters" element="e:DeleteResponse" />
  </message>
  <message name="IdentifyAllIn">
    <part name="parameters" element="e:IdentifyAll" />
  </message>
  <message name="IdentifyAllOut">
    <part name="parameters" element="e:IdentifyAllResponse" />
  </message>
  <message name="GetKeyPropertiesIn">
    <part name="parameters" element="e:GetKeyProperties" />
  </message>
  <message name="GetKeyPropertiesOut">
    <part name="parameters" element="e:GetKeyPropertiesResponse" />
  </message>
  <message name="GetNativeRasterInfoIn">
    <part name="parameters" element="e:GetNativeRasterInfo" />
  </message>
  <message name="GetNativeRasterInfoOut">
    <part name="parameters" element="e:GetNativeRasterInfoResponse" />
  </message>
  <message name="GetTileCacheInfoIn">
    <part name="parameters" element="e:GetTileCacheInfo" />
  </message>
  <message name="GetTileCacheInfoOut">
    <part name="parameters" element="e:GetTileCacheInfoResponse" />
  </message>
  <message name="GetImageIn">
    <part name="parameters" element="e:GetImage" />
  </message>
  <message name="GetImageOut">
    <part name="parameters" element="e:GetImageResponse" />
  </message>
  <message name="ComputeHistogramsIn">
    <part name="parameters" element="e:ComputeHistograms" />
  </message>
  <message name="ComputeHistogramsOut">
    <part name="parameters" element="e:ComputeHistogramsResponse" />
  </message>
  <message name="GetNativePixelBlockIn">
    <part name="parameters" element="e:GetNativePixelBlock" />
  </message>
  <message name="GetNativePixelBlockOut">
    <part name="parameters" element="e:GetNativePixelBlockResponse" />
  </message>
  <message name="GetFileIn">
    <part name="parameters" element="e:GetFile" />
  </message>
  <message name="GetFileOut">
    <part name="parameters" element="e:GetFileResponse" />
  </message>
  <message name="GetRasterMetadataIn">
    <part name="parameters" element="e:GetRasterMetadata" />
  </message>
  <message name="GetRasterMetadataOut">
    <part name="parameters" element="e:GetRasterMetadataResponse" />
  </message>
  <message name="GetImageTileIn">
    <part name="parameters" element="e:GetImageTile" />
  </message>
  <message name="GetImageTileOut">
    <part name="parameters" element="e:GetImageTileResponse" />
  </message>
  <message name="IsFixedScaleImageIn">
    <part name="parameters" element="e:IsFixedScaleImage" />
  </message>
  <message name="IsFixedScaleImageOut">
    <part name="parameters" element="e:IsFixedScaleImageResponse" />
  </message>
  <message name="IdentifyIn">
    <part name="parameters" element="e:Identify" />
  </message>
  <message name="IdentifyOut">
    <part name="parameters" element="e:IdentifyResponse" />
  </message>
  <message name="GetFieldsIn">
    <part name="parameters" element="e:GetFields" />
  </message>
  <message name="GetFieldsOut">
    <part name="parameters" element="e:GetFieldsResponse" />
  </message>
  <message name="GetThumbnailIn">
    <part name="parameters" element="e:GetThumbnail" />
  </message>
  <message name="GetThumbnailOut">
    <part name="parameters" element="e:GetThumbnailResponse" />
  </message>
  <message name="GetCacheDescriptionInfoIn">
    <part name="parameters" element="e:GetCacheDescriptionInfo" />
  </message>
  <message name="GetCacheDescriptionInfoOut">
    <part name="parameters" element="e:GetCacheDescriptionInfoResponse" />
  </message>
  <message name="GetViewIn">
    <part name="parameters" element="e:GetView" />
  </message>
  <message name="GetViewOut">
    <part name="parameters" element="e:GetViewResponse" />
  </message>
  <message name="GetRasterInfoIn">
    <part name="parameters" element="e:GetRasterInfo" />
  </message>
  <message name="GetRasterInfoOut">
    <part name="parameters" element="e:GetRasterInfoResponse" />
  </message>
  <message name="DeleteViewIn">
    <part name="parameters" element="e:DeleteView" />
  </message>
  <message name="DeleteViewOut">
    <part name="parameters" element="e:DeleteViewResponse" />
  </message>
  <message name="GetRasterKeyPropertiesIn">
    <part name="parameters" element="e:GetRasterKeyProperties" />
  </message>
  <message name="GetRasterKeyPropertiesOut">
    <part name="parameters" element="e:GetRasterKeyPropertiesResponse" />
  </message>
  <message name="ExecuteIn">
    <part name="parameters" element="e:Execute" />
  </message>
  <message name="ExecuteOut">
    <part name="parameters" element="e:ExecuteResponse" />
  </message>
  <message name="MeasureIn">
    <part name="parameters" element="e:Measure" />
  </message>
  <message name="MeasureOut">
    <part name="parameters" element="e:MeasureResponse" />
  </message>
  <message name="ExportImageIn">
    <part name="parameters" element="e:ExportImage" />
  </message>
  <message name="ExportImageOut">
    <part name="parameters" element="e:ExportImageResponse" />
  </message>
  <message name="GetCacheControlInfoIn">
    <part name="parameters" element="e:GetCacheControlInfo" />
  </message>
  <message name="GetCacheControlInfoOut">
    <part name="parameters" element="e:GetCacheControlInfoResponse" />
  </message>
  <message name="UpdateViewIn">
    <part name="parameters" element="e:UpdateView" />
  </message>
  <message name="UpdateViewOut">
    <part name="parameters" element="e:UpdateViewResponse" />
  </message>
  <message name="AddIn">
    <part name="parameters" element="e:Add" />
  </message>
  <message name="AddOut">
    <part name="parameters" element="e:AddResponse" />
  </message>
  <message name="DownloadIn">
    <part name="parameters" element="e:Download" />
  </message>
  <message name="DownloadOut">
    <part name="parameters" element="e:DownloadResponse" />
  </message>
  <message name="GetRasterAttributeTableIn">
    <part name="parameters" element="e:GetRasterAttributeTable" />
  </message>
  <message name="GetRasterAttributeTableOut">
    <part name="parameters" element="e:GetRasterAttributeTableResponse" />
  </message>
  <message name="GetMetadataIn">
    <part name="parameters" element="e:GetMetadata" />
  </message>
  <message name="GetMetadataOut">
    <part name="parameters" element="e:GetMetadataResponse" />
  </message>
  <portType name="ImageServerPort">
    <documentation></documentation>
    <operation name="GetPixelBlock">
      <input message="e:GetPixelBlockIn" />
      <output message="e:GetPixelBlockOut" />
    </operation>
    <operation name="GetTileImageInfo">
      <input message="e:GetTileImageInfoIn" />
      <output message="e:GetTileImageInfoOut" />
    </operation>
    <operation name="GetCatalogItemCount">
      <input message="e:GetCatalogItemCountIn" />
      <output message="e:GetCatalogItemCountOut" />
    </operation>
    <operation name="GetServiceInfo">
      <input message="e:GetServiceInfoIn" />
      <output message="e:GetServiceInfoOut" />
    </operation>
    <operation name="GetVirtualCacheDirectory">
      <input message="e:GetVirtualCacheDirectoryIn" />
      <output message="e:GetVirtualCacheDirectoryOut" />
    </operation>
    <operation name="Update">
      <input message="e:UpdateIn" />
      <output message="e:UpdateOut" />
    </operation>
    <operation name="GenerateServiceInfo">
      <input message="e:GenerateServiceInfoIn" />
      <output message="e:GenerateServiceInfoOut" />
    </operation>
    <operation name="GetVersion">
      <input message="e:GetVersionIn" />
      <output message="e:GetVersionOut" />
    </operation>
    <operation name="GetCatalogItemIDs">
      <input message="e:GetCatalogItemIDsIn" />
      <output message="e:GetCatalogItemIDsOut" />
    </operation>
    <operation name="ExportScaledImage">
      <input message="e:ExportScaledImageIn" />
      <output message="e:ExportScaledImageOut" />
    </operation>
    <operation name="GetCacheStorageInfo">
      <input message="e:GetCacheStorageInfoIn" />
      <output message="e:GetCacheStorageInfoOut" />
    </operation>
    <operation name="CreateView">
      <input message="e:CreateViewIn" />
      <output message="e:CreateViewOut" />
    </operation>
    <operation name="GetCatalogItems">
      <input message="e:GetCatalogItemsIn" />
      <output message="e:GetCatalogItemsOut" />
    </operation>
    <operation name="Delete">
      <input message="e:DeleteIn" />
      <output message="e:DeleteOut" />
    </operation>
    <operation name="IdentifyAll">
      <input message="e:IdentifyAllIn" />
      <output message="e:IdentifyAllOut" />
    </operation>
    <operation name="GetKeyProperties">
      <input message="e:GetKeyPropertiesIn" />
      <output message="e:GetKeyPropertiesOut" />
    </operation>
    <operation name="GetNativeRasterInfo">
      <input message="e:GetNativeRasterInfoIn" />
      <output message="e:GetNativeRasterInfoOut" />
    </operation>
    <operation name="GetTileCacheInfo">
      <input message="e:GetTileCacheInfoIn" />
      <output message="e:GetTileCacheInfoOut" />
    </operation>
    <operation name="GetImage">
      <input message="e:GetImageIn" />
      <output message="e:GetImageOut" />
    </operation>
    <operation name="ComputeHistograms">
      <input message="e:ComputeHistogramsIn" />
      <output message="e:ComputeHistogramsOut" />
    </operation>
    <operation name="GetNativePixelBlock">
      <input message="e:GetNativePixelBlockIn" />
      <output message="e:GetNativePixelBlockOut" />
    </operation>
    <operation name="GetFile">
      <input message="e:GetFileIn" />
      <output message="e:GetFileOut" />
    </operation>
    <operation name="GetRasterMetadata">
      <input message="e:GetRasterMetadataIn" />
      <output message="e:GetRasterMetadataOut" />
    </operation>
    <operation name="GetImageTile">
      <input message="e:GetImageTileIn" />
      <output message="e:GetImageTileOut" />
    </operation>
    <operation name="IsFixedScaleImage">
      <input message="e:IsFixedScaleImageIn" />
      <output message="e:IsFixedScaleImageOut" />
    </operation>
    <operation name="Identify">
      <input message="e:IdentifyIn" />
      <output message="e:IdentifyOut" />
    </operation>
    <operation name="GetFields">
      <input message="e:GetFieldsIn" />
      <output message="e:GetFieldsOut" />
    </operation>
    <operation name="GetThumbnail">
      <input message="e:GetThumbnailIn" />
      <output message="e:GetThumbnailOut" />
    </operation>
    <operation name="GetCacheDescriptionInfo">
      <input message="e:GetCacheDescriptionInfoIn" />
      <output message="e:GetCacheDescriptionInfoOut" />
    </operation>
    <operation name="GetView">
      <input message="e:GetViewIn" />
      <output message="e:GetViewOut" />
    </operation>
    <operation name="GetRasterInfo">
      <input message="e:GetRasterInfoIn" />
      <output message="e:GetRasterInfoOut" />
    </operation>
    <operation name="DeleteView">
      <input message="e:DeleteViewIn" />
      <output message="e:DeleteViewOut" />
    </operation>
    <operation name="GetRasterKeyProperties">
      <input message="e:GetRasterKeyPropertiesIn" />
      <output message="e:GetRasterKeyPropertiesOut" />
    </operation>
    <operation name="Execute">
      <input message="e:ExecuteIn" />
      <output message="e:ExecuteOut" />
    </operation>
    <operation name="Measure">
      <input message="e:MeasureIn" />
      <output message="e:MeasureOut" />
    </operation>
    <operation name="ExportImage">
      <input message="e:ExportImageIn" />
      <output message="e:ExportImageOut" />
    </operation>
    <operation name="GetCacheControlInfo">
      <input message="e:GetCacheControlInfoIn" />
      <output message="e:GetCacheControlInfoOut" />
    </operation>
    <operation name="UpdateView">
      <input message="e:UpdateViewIn" />
      <output message="e:UpdateViewOut" />
    </operation>
    <operation name="Add">
      <input message="e:AddIn" />
      <output message="e:AddOut" />
    </operation>
    <operation name="Download">
      <input message="e:DownloadIn" />
      <output message="e:DownloadOut" />
    </operation>
    <operation name="GetRasterAttributeTable">
      <input message="e:GetRasterAttributeTableIn" />
      <output message="e:GetRasterAttributeTableOut" />
    </operation>
    <operation name="GetMetadata">
      <input message="e:GetMetadataIn" />
      <output message="e:GetMetadataOut" />
    </operation>
  </portType>
  <binding name="ImageServerBinding" type="e:ImageServerPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="GetPixelBlock">
      <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="GetCatalogItemCount">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetServiceInfo">
      <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="Update">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GenerateServiceInfo">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetVersion">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetCatalogItemIDs">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="ExportScaledImage">
      <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="CreateView">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetCatalogItems">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Delete">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="IdentifyAll">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetKeyProperties">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetNativeRasterInfo">
      <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="GetImage">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="ComputeHistograms">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetNativePixelBlock">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetFile">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetRasterMetadata">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetImageTile">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="IsFixedScaleImage">
      <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="GetFields">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetThumbnail">
      <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="GetView">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetRasterInfo">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="DeleteView">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetRasterKeyProperties">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Execute">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Measure">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="ExportImage">
      <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="UpdateView">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Add">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Download">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetRasterAttributeTable">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetMetadata">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="#NAME#">
    <port name="ImageServerPort" binding="e:ImageServerBinding">
      <soap:address location="#URL#" />
    </port>
  </service>
</definitions>

2/28/2020