<?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/9.3" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/9.3">
  <types>
    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/9.3" xmlns="http://www.esri.com/schemas/ArcGIS/9.3">
      <xs:element name="CancelJob">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CancelJobResponse">
        <xs:complexType />
      </xs:element>
      <xs:element name="Execute">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ToolName" type="xs:string" />
            <xs:element name="Values" type="GPValues" />
            <xs:element name="Options" type="GPResultOptions" minOccurs="0" />
            <xs:element name="EnvironmentValues" type="PropertySet" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExecuteResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="GPResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetExecutionType">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetExecutionTypeResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="esriExecutionType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobMessages">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobMessagesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfJobMessage" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobResult">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
            <xs:element name="ParameterNames" type="ArrayOfString" minOccurs="0" />
            <xs:element name="Options" type="GPResultOptions" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobResultResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="GPResult" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobStatus">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobStatusResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="esriJobStatus" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetResultMapServerName">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetResultMapServerNameResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetTaskInfos">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetTaskInfosResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfGPToolInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetTaskNames">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetTaskNamesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetToolInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ToolName" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetToolInfoResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="GPToolInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetToolInfos">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetToolInfosResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfGPToolInfo" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetToolNames">
        <xs:complexType />
      </xs:element>
      <xs:element name="GetToolNamesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubmitJob">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ToolName" type="xs:string" />
            <xs:element name="Values" type="GPValues" />
            <xs:element name="Options" type="GPResultOptions" minOccurs="0" />
            <xs:element name="EnvironmentValues" type="PropertySet" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubmitJobResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetResultWorkspace">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
            <xs:element name="TransportType" type="esriGDSTransportType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetResultWorkspaceResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="GDSData" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobToolName">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobToolNameResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobInputValues">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
            <xs:element name="ParameterNames" type="ArrayOfString" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobInputValuesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="GPValues" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobResultOptions">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobResultOptionsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="GPResultOptions" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobEnvironmentValues">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobEnvironmentValuesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="PropertySet" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobResultMapExtent">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="JobID" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetJobResultMapExtentResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="Envelope" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:simpleType name="esriExecutionType">
        <xs:annotation>
          <xs:documentation>Geoprocessing server execution type.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriExecutionTypeAsynchronous">
            <xs:annotation>
              <xs:documentation>Asynchronous.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriExecutionTypeSynchronous">
            <xs:annotation>
              <xs:documentation>Synchronous.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriGPParameterDirection">
        <xs:annotation>
          <xs:documentation>Direction of Geoprocessing parameter.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriGPParameterDirectionInput">
            <xs:annotation>
              <xs:documentation>Input parameter.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGPParameterDirectionOutput">
            <xs:annotation>
              <xs:documentation>Output parameter.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriGPParameterType">
        <xs:annotation>
          <xs:documentation>Type of Geoprocessing parameter.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriGPParameterTypeRequired">
            <xs:annotation>
              <xs:documentation>Required parameter.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGPParameterTypeOptional">
            <xs:annotation>
              <xs:documentation>Optional parameter.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGPParameterTypeDerived">
            <xs:annotation>
              <xs:documentation>Derived parameter.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="GPResult">
        <xs:annotation>
          <xs:documentation>GPResult Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Values" type="GPValues">
            <xs:annotation>
              <xs:documentation>The result values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Messages" type="ArrayOfJobMessage">
            <xs:annotation>
              <xs:documentation>The result messages.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPToolInfo">
        <xs:annotation>
          <xs:documentation>GPToolInfo Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string">
            <xs:annotation>
              <xs:documentation>The tool name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="DisplayName" type="xs:string">
            <xs:annotation>
              <xs:documentation>The tool display name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Category" type="xs:string">
            <xs:annotation>
              <xs:documentation>The tool category.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Help" type="xs:string">
            <xs:annotation>
              <xs:documentation>The url to the tool help.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ParameterInfo" type="ArrayOfGPParameterInfo">
            <xs:annotation>
              <xs:documentation>The tool parameters.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Extent" type="Envelope">
            <xs:annotation>
              <xs:documentation>The extent of the tool.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfGPToolInfo">
        <xs:annotation>
          <xs:documentation>GPToolInfos Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPToolInfo" type="GPToolInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPParameterInfo">
        <xs:annotation>
          <xs:documentation>GPParameterInfo Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string">
            <xs:annotation>
              <xs:documentation>The parameter name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="DisplayName" type="xs:string">
            <xs:annotation>
              <xs:documentation>The parameter display name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Category" type="xs:string">
            <xs:annotation>
              <xs:documentation>The parameter category.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="DataType" type="xs:string">
            <xs:annotation>
              <xs:documentation>The parameter data type.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Direction" type="esriGPParameterDirection">
            <xs:annotation>
              <xs:documentation>The parameter direction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ParamType" type="esriGPParameterType" />
          <xs:element minOccurs="0" name="ChoiceList" type="ArrayOfString">
            <xs:annotation>
              <xs:documentation>The parameter choice list.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Value" type="GPValue">
            <xs:annotation>
              <xs:documentation>The parameter value.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPResultOptions">
        <xs:annotation>
          <xs:documentation>GPResultOptions Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="DensifyFeatures" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the result features should be densified.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="TransportType" type="esriGDSTransportType">
            <xs:annotation>
              <xs:documentation>Indicates if the result files should be returned embedded or referenced by url.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">
            <xs:annotation>
              <xs:documentation>The spatial reference of result geodatasets.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Format" type="xs:string">
            <xs:annotation>
              <xs:documentation>The format of results.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="FormatProperties" type="PropertySet">
            <xs:annotation>
              <xs:documentation>The format properties of results.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfGPParameterInfo">
        <xs:annotation>
          <xs:documentation>GPParameterInfos Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPParameterInfo" type="GPParameterInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPValue" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
      </xs:complexType>
      <xs:complexType name="GPString">
        <xs:annotation>
          <xs:documentation>Geoprocessing value object containing a string value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="Value" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The value of the geoprocessing value object as a string.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPDouble">
        <xs:annotation>
          <xs:documentation>Geoprocessing value object containing a double value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="Value" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The value of the geoprocessing value object as a double.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPLong">
        <xs:annotation>
          <xs:documentation>Geoprocessing value object containing a long integer value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="Value" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The value of the geoprocessing value object as a long integer.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPBoolean">
        <xs:annotation>
          <xs:documentation>Geoprocessing value object containing a boolean value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="Value" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>The value of the geoprocessing value object as a boolean.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPDate">
        <xs:annotation>
          <xs:documentation>Geoprocessing value object containing a date value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="Value" type="xs:dateTime">
                <xs:annotation>
                  <xs:documentation>The value of the geoprocessing value object as a date.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPRecordSet">
        <xs:annotation>
          <xs:documentation>GPRecordSet Class</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="RecordSet" type="RecordSet">
                <xs:annotation>
                  <xs:documentation>The recordset data.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="OIDFieldName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The OID field name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ExceededTransferLimit" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>The has transfer limit been reached flag.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPRasterData">
        <xs:annotation>
          <xs:documentation>GPRasterData Class</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element minOccurs="0" name="Data" type="GDSData">
                <xs:annotation>
                  <xs:documentation>The embedded data.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Format" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The embedded data format.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPDataFile">
        <xs:annotation>
          <xs:documentation>GPDataFile Class</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element minOccurs="0" name="Data" type="GDSData">
                <xs:annotation>
                  <xs:documentation>The embedded data.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="File" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The embedded data file.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DatasetName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The embedded dataset name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DataType" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The data type of the value object.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPValues">
        <xs:annotation>
          <xs:documentation>GPValues Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPValue" type="GPValue" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPLinearUnit">
        <xs:annotation>
          <xs:documentation>Geoprocessing value object containing a linear unit value.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element name="Value" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Gets the value, as a double, of the linear unit.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Units" type="esriUnits">
                <xs:annotation>
                  <xs:documentation>Gets the type of linear unit.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPFeatureRecordSetLayer">
        <xs:annotation>
          <xs:documentation>GPFeatureRecordSetLayer Class</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element minOccurs="0" name="RecordSet" type="RecordSet">
                <xs:annotation>
                  <xs:documentation>The recordset data.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="OIDFieldName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The OID field name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ShapeFieldName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The shape field name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="LayerDrawingDescription" type="LayerDrawingDescription">
                <xs:annotation>
                  <xs:documentation>The layer drawing description.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ExceededTransferLimit" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>The has transfer limit been reached flag.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GPRasterDataLayer">
        <xs:annotation>
          <xs:documentation>GPRasterDataLayer Class</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GPValue">
            <xs:sequence>
              <xs:element minOccurs="0" name="Data" type="GDSData">
                <xs:annotation>
                  <xs:documentation>The embedded data.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Format" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The embedded data format.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="LayerDrawingDescription" type="LayerDrawingDescription">
                <xs:annotation>
                  <xs:documentation>The layer drawing description.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriGDSTransportType">
        <xs:annotation>
          <xs:documentation>GeoDataServer data transfer formats.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriGDSTransportTypeEmbedded">
            <xs:annotation>
              <xs:documentation>Data is embedded in messages.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGDSTransportTypeUrl">
            <xs:annotation>
              <xs:documentation>Data is accesible using a Url.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="GDSData">
        <xs:annotation>
          <xs:documentation>An object that transports GeoDataServer data.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Compressed" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates whether the data has been compressed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="TransportType" type="esriGDSTransportType">
            <xs:annotation>
              <xs:documentation>The transport type used to transfer the replica data.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="EmbeddedData" type="xs:base64Binary">
            <xs:annotation>
              <xs:documentation>The embedded replica data.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="URL" type="xs:string">
            <xs:annotation>
              <xs:documentation>The url where the replica data is located.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ConnectionProperties" type="PropertySet">
            <xs:annotation>
              <xs:documentation>The properties to be used when downloading the data (if transport type is URL).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterUniqueValues">
        <xs:annotation>
          <xs:documentation>A raster unique value class.</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: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" 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:complexType name="RangeDomain">
        <xs:annotation>
          <xs:documentation>ESRI Range Domain object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Domain">
            <xs:sequence>
              <xs:element name="MaxValue" type="xs:anyType">
                <xs:annotation>
                  <xs:documentation>The maximum value for the associated attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="MinValue" type="xs:anyType">
                <xs:annotation>
                  <xs:documentation>The minimum value for the associated attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CodedValue">
        <xs:annotation>
          <xs:documentation>
        ESRI Attribute set constraint object.
      </xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Code" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfCodedValue">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="CodedValue" type="CodedValue" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CodedValueDomain">
        <xs:annotation>
          <xs:documentation>ESRI Attribute set constraint object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Domain">
            <xs:sequence>
              <xs:element name="CodedValues" type="ArrayOfCodedValue" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="BitMaskCodedValueDomain">
        <xs:annotation>
          <xs:documentation>ESRI Attribute bitmask constraint object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="CodedValueDomain" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterDef">
        <xs:annotation>
          <xs:documentation>Raster Column Definition Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Description" type="xs:string">
            <xs:annotation>
              <xs:documentation>The raster column description.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="IsByRef" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>
            Indicates if the Raster column value is to be managed by GeoDatabase.
          </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">
            <xs:annotation>
              <xs:documentation>The SpatialReference of the raster.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Color" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="UseWindowsDithering" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if colors should be dithered to simulate colors that aren't supported by the display.  This only applies on displays that have 256 or fewer colors.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <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>A color in the grayscale color system.</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>A color in the RGB(Red Green Blue) color system.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Red" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The red component of an IRgbColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Green" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The green component of an IRgbColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Blue" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The blue component of an IRgbColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CmykColor">
        <xs:annotation>
          <xs:documentation>A color in the CMYK(Cyan Magenta Yellow, Black) color system.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Cyan" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The cyan component of an ICmykColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Magenta" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The magenta component of an ICmykColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Yellow" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The yellow component of an ICmykColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Black" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The black component of an ICmykColor (0-255).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Overprint" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the color overprints.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The description of the spot plate.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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>A color in the HLS(Hue, Luminance, Saturation) color system.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Hue" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The hue component of an IHlsColor (0-360).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Lightness" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The lightness component of an IHlsColor (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Saturation" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The saturation component of an HlslColor (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="HsvColor">
        <xs:annotation>
          <xs:documentation>A color in the HSV (Hue, Saturation, Value) color system.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Hue" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The hue component of an IhsvColor (0-360).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Saturation" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The saturation component of an IhsvColor (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Value" type="xs:unsignedByte">
                <xs:annotation>
                  <xs:documentation>The value component of an IhsvColor (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
            </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>Simple fill symbol styles.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSFSSolid">
            <xs:annotation>
              <xs:documentation>Solid fill.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSNull">
            <xs:annotation>
              <xs:documentation>Empty fill.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSHorizontal">
            <xs:annotation>
              <xs:documentation>Horizontal hatch fill ------.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSVertical">
            <xs:annotation>
              <xs:documentation>Vertical hatch fill ||||||.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSForwardDiagonal">
            <xs:annotation>
              <xs:documentation>45-degree downward, left-to-right hatch fill  \\\.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSBackwardDiagonal">
            <xs:annotation>
              <xs:documentation>45-degree upward, left-to-right hatch fill //////.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSCross">
            <xs:annotation>
              <xs:documentation>Horizontal and vertical crosshatch ++++++.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSFSDiagonalCross">
            <xs:annotation>
              <xs:documentation>45-degree crosshatch xxxxxx.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSimpleLineStyle">
        <xs:annotation>
          <xs:documentation>Simple line symbol styles.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSLSSolid">
            <xs:annotation>
              <xs:documentation>The line is solid.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSLSDash">
            <xs:annotation>
              <xs:documentation>The line is dashed -------.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSLSDot">
            <xs:annotation>
              <xs:documentation>The line is dotted .......</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSLSDashDotDot">
            <xs:annotation>
              <xs:documentation>The line has alternating dashes and double dots _.._.._.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSLSNull">
            <xs:annotation>
              <xs:documentation>The line is invisible.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSLSInsideFrame">
            <xs:annotation>
              <xs:documentation>The line will fit into it's bounding rectangle, if any.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSimpleMarkerStyle">
        <xs:annotation>
          <xs:documentation>Simple marker symbol styles.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSMSCircle">
            <xs:annotation>
              <xs:documentation>The marker is a circle.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSMSSquare">
            <xs:annotation>
              <xs:documentation>The marker is a square.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSMSCross">
            <xs:annotation>
              <xs:documentation>The marker is a cross.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSMSX">
            <xs:annotation>
              <xs:documentation>The marker is an X.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSMSDiamond">
            <xs:annotation>
              <xs:documentation>The marker is a diamond.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextHorizontalAlignment">
        <xs:annotation>
          <xs:documentation>Horizontal text alignment options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTHALeft">
            <xs:annotation>
              <xs:documentation>The text is left justified.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTHACenter">
            <xs:annotation>
              <xs:documentation>The text is center justified.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTHARight">
            <xs:annotation>
              <xs:documentation>The text is right justified.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTHAFull">
            <xs:annotation>
              <xs:documentation>The text is fully justified.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextVerticalAlignment">
        <xs:annotation>
          <xs:documentation>Vertical text alignment options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTVATop">
            <xs:annotation>
              <xs:documentation>The text is aligned at the top.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTVACenter">
            <xs:annotation>
              <xs:documentation>The text is aligned at the center.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTVABaseline">
            <xs:annotation>
              <xs:documentation>The text is aligned at the baseline.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTVABottom">
            <xs:annotation>
              <xs:documentation>The text is aligned at the bottom.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextPosition">
        <xs:annotation>
          <xs:documentation>Text symbol position options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTPNormal">
            <xs:annotation>
              <xs:documentation>The text draws normally.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTPSuperscript">
            <xs:annotation>
              <xs:documentation>The text draws as superscript text.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTPSubscript">
            <xs:annotation>
              <xs:documentation>The text draws as subscript text.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextCase">
        <xs:annotation>
          <xs:documentation>Text symbol case options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTCNormal">
            <xs:annotation>
              <xs:documentation>The text draws normally.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTCLowercase">
            <xs:annotation>
              <xs:documentation>The text draws as all lowercase.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTCAllCaps">
            <xs:annotation>
              <xs:documentation>The text draws as all capitals.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTCSmallCaps">
            <xs:annotation>
              <xs:documentation>The text draws as small capitals.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextDirection">
        <xs:annotation>
          <xs:documentation>Text symbol direction options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTDHorizontal">
            <xs:annotation>
              <xs:documentation>The text draws horizontally.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTDAngle">
            <xs:annotation>
              <xs:documentation>The text draws along an angle.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriTDVertical">
            <xs:annotation>
              <xs:documentation>The text draws vertically.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriMaskStyle">
        <xs:annotation>
          <xs:documentation>Text symbol mask styles.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriMSNone">
            <xs:annotation>
              <xs:documentation>No mask.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriMSHalo">
            <xs:annotation>
              <xs:documentation>The text mask style is halo.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="SimpleFillSymbol">
        <xs:annotation>
          <xs:documentation>A fill symbol comprised from a predefined set of styles.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FillSymbol">
            <xs:sequence>
              <xs:element name="Style" type="esriSimpleFillStyle">
                <xs:annotation>
                  <xs:documentation>Fill style.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SimpleLineSymbol">
        <xs:annotation>
          <xs:documentation>A line symbol comprised of a predefined set of styles.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LineSymbol">
            <xs:sequence>
              <xs:element name="Style" type="esriSimpleLineStyle">
                <xs:annotation>
                  <xs:documentation>The style of the line symbol.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SimpleMarkerSymbol">
        <xs:annotation>
          <xs:documentation>A marker symbol comprised of a predefined set of styles.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MarkerSymbol">
            <xs:sequence>
              <xs:element name="Outline" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the symbol outline will draw.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="OutlineSize" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Outline diameter.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="OutlineColor" type="Color">
                <xs:annotation>
                  <xs:documentation>Outline color.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Style" type="esriSimpleMarkerStyle">
                <xs:annotation>
                  <xs:documentation>Marker style.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TextSymbol">
        <xs:annotation>
          <xs:documentation>A symbol that controls how text is displayed.</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:annotation>
                  <xs:documentation>Indicates if the text will be clipped per geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>Text offset along X-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="YOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Text offset along Y-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ShadowColor" type="Color">
                <xs:annotation>
                  <xs:documentation>The shadow color.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="ShadowXOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The shadow X offset.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="ShadowYOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The shadow Y offset.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The character spacing.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element default="100.0" name="CharacterWidth" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The character width.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element default="100.0" name="WordSpacing" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The word spacing.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Kerning" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if kerning is on.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Leading" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The character leading.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The flip angle.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="TypeSetting" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if typesetting is used.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The fill symbol.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The mask style.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="MaskSize" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The mask size.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MaskSymbol" type="Symbol">
                <xs:annotation>
                  <xs:documentation>The mask symbol.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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>A marker symbol based on a character from a font.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="CartographicMarkerSymbol">
            <xs:sequence>
              <xs:element name="CharacterIndex" type="xs:int">
                <xs:annotation>
                  <xs:documentation>Character index within font.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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>A marker symbol based on either a BMP or an EMF picture.</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:annotation>
                  <xs:documentation>Picture used for marker symbol.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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>A fill symbol based on either a BMP or an EMF picture.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FillSymbol">
            <xs:sequence>
              <xs:element name="Picture" type="xs:base64Binary">
                <xs:annotation>
                  <xs:documentation>Picture used for fill.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>Fill element separation along X-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="YSeparation" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Fill element separation along Y-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>Angle of picture fill.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="XOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Fill offset along X-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="YOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Fill offset along Y-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" default="1.0" name="XScale" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Scale of picture fill along X-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" default="1.0" name="YScale" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Scale of picture fill along Y-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </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:annotation>
                  <xs:documentation>Symbol scale along X-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element default="1.0" name="YScale" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Symbol scale along Y-axis.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="XMLBinarySymbol">
        <xs:annotation>
          <xs:documentation>XML shim class for symbols that don't implement IXMLSerialize.</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>XML shim class for fill symbols that don't implement IXMLSerialize.</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>A collection of Color objects.</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>A collection of ColorRamp objects.</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>Defines an algorithmic color ramp, where ramp is defined by two colors and the algorithm used to traverse the intervening color space between them.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="ColorRamp">
            <xs:sequence>
              <xs:element minOccurs="0" name="Algorithm" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The algorithm used to ramp between the first and last colors.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FromColor" type="HsvColor">
                <xs:annotation>
                  <xs:documentation>The first color in the color ramp.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ToColor" type="HsvColor">
                <xs:annotation>
                  <xs:documentation>The last color in the color ramp.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RandomColorRamp">
        <xs:annotation>
          <xs:documentation>Defines a random color ramp, where ramp is a list of randomly picked colors.</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:annotation>
                  <xs:documentation>Indicates if a seed is used when the ramp is generated.  Set this property to True without changing the Seed to generate identical color ramps in succession.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Seed" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The seed of the random number generator.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MinValue" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The minimum value (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MaxValue" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The maximum value (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MinSaturation" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The minimum saturation (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MaxSaturation" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The maximum saturation (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="StartHue" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The start hue (0-360).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="EndHue" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The end hue (0-360).</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PresetColorRamp">
        <xs:annotation>
          <xs:documentation>Defines a preset color ramp, where ramp is defined by a list of exactly 13 manually specified colors.</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>Defines a multi part color ramp, where ramp is defined by a list of constituent color ramps.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="ColorRamp">
            <xs:sequence>
              <xs:element minOccurs="0" name="NumColorRamps" type="xs:int" />
              <xs:element minOccurs="0" name="ColorRamps" type="ArrayOfColorRamp" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PropertySetProperty">
        <xs:annotation>
          <xs:documentation>ESRI PropertySet Property object.</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>ESRI PropertySet Property Array object.</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>ESRI Property Set object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="PropertyArray" type="ArrayOfPropertySetProperty" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="XMLPersistedObject">
        <xs:annotation>
          <xs:documentation>Object to serialize objects to XML.</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>An object for formatting numbers in a variety of numeric formats.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="RoundingOption" type="esriRoundingOptionEnum">
            <xs:annotation>
              <xs:documentation>The rounding option applied to the ValueToString method.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="RoundingValue" type="xs:int">
            <xs:annotation>
              <xs:documentation>The rounding value, whose meaning depends on the rounding option.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="AlignmentOption" type="esriNumericAlignmentEnum">
            <xs:annotation>
              <xs:documentation>The alignment option applied to the ValueToString method.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="AlignmentWidth" type="xs:int">
            <xs:annotation>
              <xs:documentation>The alignment width applied to the ValueToString method.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="UseSeparator" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if formatted numbers contain digit grouping symbols.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ZeroPad" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if formatted numbers contain padded zeros to the right of the decimal.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ShowPlus" type="xs:boolean" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfInt">
        <xs:annotation>
          <xs:documentation>An object for holding a Long array.</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>An object for holding a String array.</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>An object for holding a Double array.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Double" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriUnits">
        <xs:annotation>
          <xs:documentation>ESRI measurement units.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriUnknownUnits">
            <xs:annotation>
              <xs:documentation>Unknown.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriInches">
            <xs:annotation>
              <xs:documentation>Inches.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriPoints">
            <xs:annotation>
              <xs:documentation>Points.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFeet">
            <xs:annotation>
              <xs:documentation>Feet.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriYards">
            <xs:annotation>
              <xs:documentation>Yards.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriMiles">
            <xs:annotation>
              <xs:documentation>Miles.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNauticalMiles">
            <xs:annotation>
              <xs:documentation>Nautical miles.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriMillimeters">
            <xs:annotation>
              <xs:documentation>Millimeters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriCentimeters">
            <xs:annotation>
              <xs:documentation>Centimeters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriMeters">
            <xs:annotation>
              <xs:documentation>Meters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriKilometers">
            <xs:annotation>
              <xs:documentation>Kilometers.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriDecimalDegrees">
            <xs:annotation>
              <xs:documentation>Decimal degrees.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriDecimeters">
            <xs:annotation>
              <xs:documentation>Decimeters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriRoundingOptionEnum">
        <xs:annotation>
          <xs:documentation>Number format rounding options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRoundNumberOfDecimals">
            <xs:annotation>
              <xs:documentation>Specify the number of decimal places.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRoundNumberOfSignificantDigits">
            <xs:annotation>
              <xs:documentation>Specify the number of significant digits.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNumericAlignmentEnum">
        <xs:annotation>
          <xs:documentation>Number format alignment options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriAlignRight">
            <xs:annotation>
              <xs:documentation>Right-justify formatted numbers within the AlignmentWidth.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriAlignLeft">
            <xs:annotation>
              <xs:documentation>Left-justify formatted numbers.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriJobMessageType">
        <xs:annotation>
          <xs:documentation>Job message type.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriJobMessageTypeInformative">
            <xs:annotation>
              <xs:documentation>Informative.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobMessageTypeWarning">
            <xs:annotation>
              <xs:documentation>Warning.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobMessageTypeError">
            <xs:annotation>
              <xs:documentation>Error.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobMessageTypeEmpty">
            <xs:annotation>
              <xs:documentation>Empty.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobMessageTypeAbort">
            <xs:annotation>
              <xs:documentation>Abort.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriJobStatus">
        <xs:annotation>
          <xs:documentation>Job status.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriJobNew">
            <xs:annotation>
              <xs:documentation>The job is new.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobSubmitted">
            <xs:annotation>
              <xs:documentation>The job is submitted for execution.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobWaiting">
            <xs:annotation>
              <xs:documentation>The job is waiting for available job processor.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobExecuting">
            <xs:annotation>
              <xs:documentation>The job is being executed by job processor.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobSucceeded">
            <xs:annotation>
              <xs:documentation>The job has been completed successfully.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobFailed">
            <xs:annotation>
              <xs:documentation>The job execution has failed.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobTimedOut">
            <xs:annotation>
              <xs:documentation>The job execution has timed out.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobCancelling">
            <xs:annotation>
              <xs:documentation>The job is being cancelled.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobCancelled">
            <xs:annotation>
              <xs:documentation>The job has been cancelled.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobDeleting">
            <xs:annotation>
              <xs:documentation>The job is being deleted.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriJobDeleted">
            <xs:annotation>
              <xs:documentation>The job has been deleted.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="JobMessage">
        <xs:annotation>
          <xs:documentation>The JobMessage object which defines properties and behaviour og job messages.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="MessageDesc" type="xs:string" />
          <xs:element name="MessageType" type="esriJobMessageType">
            <xs:annotation>
              <xs:documentation>Message type.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfJobMessage">
        <xs:annotation>
          <xs:documentation>The JobMessages object which defines properties and behaviour of an array of job messages.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="JobMessage" type="JobMessage" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriGeometryType">
        <xs:annotation>
          <xs:documentation>The available kinds of geometry objects.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriGeometryPoint">
            <xs:annotation>
              <xs:documentation>A single zero dimensional geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGeometryMultipoint">
            <xs:annotation>
              <xs:documentation>An ordered collection of points.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGeometryPolyline">
            <xs:annotation>
              <xs:documentation>An ordered collection of paths.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGeometryPolygon">
            <xs:annotation>
              <xs:documentation>A collection of rings ordered by their containment relationship.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriGeometryMultiPatch">
            <xs:annotation>
              <xs:documentation>A collection of surface patches.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <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:annotation>
              <xs:documentation>The xy tolerance used to control point coalescing in the X and Y dimensions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ZTolerance" type="xs:double">
            <xs:annotation>
              <xs:documentation>The tolerance used to control point coalescing strictly along the Z axis.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="MTolerance" type="xs:double">
            <xs:annotation>
              <xs:documentation>The tolerance used to determine equality of M values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <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:sequence>
      </xs:complexType>
      <xs:complexType name="ProjectedCoordinateSystem">
        <xs:annotation>
          <xs:documentation>Creates a projected coordinate system.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="SpatialReference" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GeographicCoordinateSystem">
        <xs:annotation>
          <xs:documentation>Creates a geographic coordinate system.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="SpatialReference" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="UnknownCoordinateSystem">
        <xs:annotation>
          <xs:documentation>Creates an unknown coordinate system.</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>A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EnvelopeN">
        <xs:annotation>
          <xs:documentation>A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Envelope">
            <xs:sequence>
              <xs:element name="XMin" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The position of the left side.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="YMin" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The position of the bottom.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="XMax" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The position of the right side.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="YMax" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The position of the top.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ZMin" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The minimum Z value in the area of the envelope.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ZMax" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The maximum Z value in the area of the envelope.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MMin" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The minimum measure value in the area of the envelope.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="MMax" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The maximum measure value in the area of the envelope.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">
                <xs:annotation>
                  <xs:documentation>The spatial reference associated with this geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EnvelopeB">
        <xs:annotation>
          <xs:documentation>A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.</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>A two dimensional point, optionally with measure, height, and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PointN">
        <xs:annotation>
          <xs:documentation>A two dimensional point, optionally with measure, height, and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Point">
            <xs:sequence>
              <xs:element name="X" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The X coordinate.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Y" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The Y coordinate.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="M" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The measure attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Z" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The Z attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ID" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The Point ID attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">
                <xs:annotation>
                  <xs:documentation>The spatial reference associated with this geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PointB">
        <xs:annotation>
          <xs:documentation>A two dimensional point, optionally with measure, height, and ID attributes.</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>An ordered collection of points; optionally has measure, height and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultipointB">
        <xs:annotation>
          <xs:documentation>An ordered collection of points; optionally has measure, height and ID attributes.</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>An ordered collection of points; optionally has measure, height and ID attributes.</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:annotation>
                  <xs:documentation>The spatial reference associated with this geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Line">
        <xs:annotation>
          <xs:documentation>XML shim class for Line.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Segment" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EllipticArc">
        <xs:annotation>
          <xs:documentation>XML shim class for EllipticArc.</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>XML shim class for CircularArc.</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>XML shim class for BezierCurve.</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>A sequence of connected segments.</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>An area bounded by one, closed sequence of connected segments; optionally has measure, height and ID attributes at each vertex.</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>A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polycurve" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolygonN">
        <xs:annotation>
          <xs:documentation>A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.</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:annotation>
                  <xs:documentation>The spatial reference associated with this geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolygonB">
        <xs:annotation>
          <xs:documentation>A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.</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>An ordered collection of paths; optionally has measure, height and ID attributes.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polycurve" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolylineN">
        <xs:annotation>
          <xs:documentation>An ordered collection of paths; optionally has measure, height and ID attributes.</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:annotation>
                  <xs:documentation>The spatial reference associated with this geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolylineB">
        <xs:annotation>
          <xs:documentation>An ordered collection of paths; optionally has measure, height and ID attributes.</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>A collection of surface patches.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultiPatchB">
        <xs:annotation>
          <xs:documentation>A collection of surface patches.</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>A collection of surface patches.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MultiPatch">
            <xs:sequence>
              <xs:element name="HasID" type="xs:boolean" />
              <xs:element name="HasZ" type="xs:boolean" />
              <xs:element name="HasM" type="xs:boolean" />
              <xs:element name="Extent" type="Envelope" />
              <xs:element name="SurfacePatchArray" type="ArrayOfSurfacePatch" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfSurfacePatch">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="SurfacePatch" type="Geometry" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TriangleFan">
        <xs:annotation>
          <xs:documentation>A continuous 3D fan of triangles, where each triangle after the first shares an edge with the preceding triangle, and all triangles share a common pivot point.</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>A continuous 3D strip of triangles, where each triangle after the first shares an edge with the preceding triangle.</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="AreaPatch">
        <xs:annotation>
          <xs:documentation>Classs implements an Area legend patch.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Patch" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LegendClass">
        <xs:annotation>
          <xs:documentation>The legend/TOC entry for a single renderer class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Symbol" type="Symbol">
            <xs:annotation>
              <xs:documentation>Legend class symbol.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Label" type="xs:string">
            <xs:annotation>
              <xs:documentation>Legend class label.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Description" type="xs:string">
            <xs:annotation>
              <xs:documentation>Legend class description.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="LegendClassFormat" type="LegendClassFormat" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LegendClassFormat">
        <xs:annotation>
          <xs:documentation>Formatting information for the legend/TOC entry of a renderer class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="LabelSymbol" type="Symbol">
            <xs:annotation>
              <xs:documentation>Text symbol used to draw the legend group labels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="DescriptionSymbol" type="Symbol">
            <xs:annotation>
              <xs:documentation>Text symbol used to draw legend group descriptions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="LinePatch" type="LinePatch">
            <xs:annotation>
              <xs:documentation>The line patch. (Optional. If non-null, this overrides default line patch specified by ILegend.LegendFormat).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="AreaPatch" type="AreaPatch">
            <xs:annotation>
              <xs:documentation>The area patch. (Optional.  If non-null, this overrides default area patch specified by ILegend.LegendFormat).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="PatchWidth" type="xs:double">
            <xs:annotation>
              <xs:documentation>Width of the patch in points.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="PatchHeight" type="xs:double">
            <xs:annotation>
              <xs:documentation>Height of the patch in points.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LinePatch">
        <xs:annotation>
          <xs:documentation>Class implements a Line legend patch.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Patch" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Patch">
        <xs:annotation>
          <xs:documentation>legend patch.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" type="xs:string">
            <xs:annotation>
              <xs:documentation>Name of the patch.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="PreserveAspectRatio" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if aspect ratio of patch is preserved.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Geometry" type="Geometry">
            <xs:annotation>
              <xs:documentation>Patch geometry sized to fit the specified bounds.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriRotationType">
        <xs:annotation>
          <xs:documentation>Marker symbol rotation options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRotateSymbolGeographic">
            <xs:annotation>
              <xs:documentation>Clockwise rotation with 0 at the positive y-axis.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRotateSymbolArithmetic">
            <xs:annotation>
              <xs:documentation>Counter clockwise rotation with 0 at the positive x-axis.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNormalizationType">
        <xs:annotation>
          <xs:documentation>Various methods to normalize Data.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNormalizeByField">
            <xs:annotation>
              <xs:documentation>Normalize by field.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByLog">
            <xs:annotation>
              <xs:documentation>Normalize by Log.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByPercentOfTotal">
            <xs:annotation>
              <xs:documentation>Normalize by percent of total.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByArea">
            <xs:annotation>
              <xs:documentation>Normalize by area.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByNothing">
            <xs:annotation>
              <xs:documentation>Do not Normalize.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="FeatureRenderer" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="UniqueValueInfo">
        <xs:annotation>
          <xs:documentation>UniqueValueRendererInfoClass Class</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Value" type="xs:string">
            <xs:annotation>
              <xs:documentation>Unique value class label.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Label" type="xs:string">
            <xs:annotation>
              <xs:documentation>Unique value class label.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Description" type="xs:string">
            <xs:annotation>
              <xs:documentation>Class description.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Symbol" type="Symbol">
            <xs:annotation>
              <xs:documentation>Symbol used for rendering the class.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ClassBreakInfo">
        <xs:annotation>
          <xs:documentation>ClassBreaksRendererInfoClass Class</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="ClassMaximumValue" type="xs:double">
            <xs:annotation>
              <xs:documentation>Unique value class label.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Label" type="xs:string">
            <xs:annotation>
              <xs:documentation>Unique value class label.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Description" type="xs:string">
            <xs:annotation>
              <xs:documentation>Class description.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Symbol" type="Symbol">
            <xs:annotation>
              <xs:documentation>Symbol used for rendering the class.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfClassBreakInfo">
        <xs:annotation>
          <xs:documentation>A collection of UniqueValueInfo objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassBreakInfo" type="ClassBreakInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfUniqueValueInfo">
        <xs:annotation>
          <xs:documentation>A collection of UniqueValueInfo objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="UniqueValueInfo" type="UniqueValueInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SimpleRenderer">
        <xs:annotation>
          <xs:documentation>A simple renderer where the same symbol is drawn for each feature.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FeatureRenderer">
            <xs:sequence>
              <xs:element name="Symbol" type="Symbol">
                <xs:annotation>
                  <xs:documentation>Symbol used to draw each feature.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Label" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Renderer label.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Description" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Renderer description.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Rotation field.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationType" type="esriRotationType">
                <xs:annotation>
                  <xs:documentation>Rotation type.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="TransparencyField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Transparency field.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="UniqueValueRenderer">
        <xs:annotation>
          <xs:documentation>A unique values renderer where symbols are assigned to features based on an unique attribute values.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FeatureRenderer">
            <xs:sequence>
              <xs:element name="Field1" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The first field that contains the values to symbolize.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Field2" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The second value that will be used to create all unique combinations of unique values with the first value field.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Field3" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The third value that will be used to create all unique combinations of unique values with the two value fields you choose.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FieldDelimiter" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Delimiter used to separate field values.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DefaultSymbol" type="Symbol">
                <xs:annotation>
                  <xs:documentation>Symbol used to draw any unspecified values (may be NULL).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DefaultLabel" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Label used for unspecified values.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="UniqueValueInfos" type="ArrayOfUniqueValueInfo">
                <xs:annotation>
                  <xs:documentation>
                A collection of UniqueValueInfo objects.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Rotation field.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationType" type="esriRotationType">
                <xs:annotation>
                  <xs:documentation>Rotation type.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="TransparencyField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Transparency field.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ClassBreaksRenderer">
        <xs:annotation>
          <xs:documentation>A renderer that can be used to draw graduated color (choropleth) and graduated symbol maps.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FeatureRenderer">
            <xs:sequence>
              <xs:element name="Field" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Classification field.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="MinimumValue" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Minimum break, i.e. the lower bound of the first class.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="ClassBreakInfos" type="ArrayOfClassBreakInfo">
                <xs:annotation>
                  <xs:documentation>
                A collection of UniqueValueInfo objects.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="BackgroundSymbol" type="FillSymbol">
                <xs:annotation>
                  <xs:documentation>Background fill symbol used when graduated marker symbols are draw on polygon features.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="NormalizationField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Normalization field.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="NormalizationType" type="esriNormalizationType">
                <xs:annotation>
                  <xs:documentation>Normalization type.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="NormalizationTotal" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Total of all values (used when normalizing by percent of total).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Rotation field.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationType" type="esriRotationType">
                <xs:annotation>
                  <xs:documentation>Rotation type.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LayerDrawingDescription" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="FeatureLayerDrawingDescription">
        <xs:annotation>
          <xs:documentation>Feature layer drawing description.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LayerDrawingDescription">
            <xs:sequence>
              <xs:element minOccurs="0" name="FeatureRenderer" type="FeatureRenderer">
                <xs:annotation>
                  <xs:documentation>FeatureRenderer used to represent symbology of a feature layer.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ScaleSymbols" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if symbols are scaled for the layer.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Transparency" type="xs:short">
                <xs:annotation>
                  <xs:documentation>Layer transparency in percent (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Brightness" type="xs:short">
                <xs:annotation>
                  <xs:documentation>Layer brightness in percent (-100 - 100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Contrast" type="xs:short">
                <xs:annotation>
                  <xs:documentation>Layer contrast in percent (-100 - 100).</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfLegendClass">
        <xs:annotation>
          <xs:documentation>A collection of LegendClass objects.</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>The collection of legend classes provided by a renderer.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Visible" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the group is displayed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Editable" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the group can be edited. Default is editable.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Heading" type="xs:string">
            <xs:annotation>
              <xs:documentation>String heading.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="LegendClasses" type="ArrayOfLegendClass" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfLegendGroup">
        <xs:annotation>
          <xs:documentation>A collection of LegendGroup objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="LegendGroup" type="LegendGroup" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterLayerDrawingDescription">
        <xs:annotation>
          <xs:documentation>Raster layer drawing description.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LayerDrawingDescription">
            <xs:sequence>
              <xs:element minOccurs="0" name="RasterRenderer" type="RasterRenderer">
                <xs:annotation>
                  <xs:documentation>RasterRenderer used to represent symbology of a raster layer.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Transparency" type="xs:short">
                <xs:annotation>
                  <xs:documentation>Layer transparency in percent (0-100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Brightness" type="xs:short">
                <xs:annotation>
                  <xs:documentation>Layer brightness in percent (-100 - 100).</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Contrast" type="xs:short">
                <xs:annotation>
                  <xs:documentation>Layer contrast in percent (-100 - 100).</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterRenderer" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Indexed" type="xs:boolean" />
          <xs:element minOccurs="0" name="Brightness" type="xs:int" />
          <xs:element minOccurs="0" name="Contrast" type="xs:int" />
          <xs:element minOccurs="0" name="ResamplingType" type="xs:string">
            <xs:annotation>
              <xs:documentation>Resampling method for displaying a raster.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="NoDataColor" type="Color">
            <xs:annotation>
              <xs:documentation>Nodata color for a raster.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <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>A renderer for rasters with unique values.</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:annotation>
                  <xs:documentation>Indicates whether the default unique value renderer is currently active.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DefaultSymbol" type="Symbol">
                <xs:annotation>
                  <xs:documentation>Default unique value renderer.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DefaultLabel" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Default label for the unique value renderer.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The list of unique values.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp">
                <xs:annotation>
                  <xs:documentation>The color ramp of the color map.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterRGBRenderer">
        <xs:annotation>
          <xs:documentation>A true-color RGB renderer.</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:annotation>
                  <xs:documentation>Current stretch type.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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>A renderer with a color ramp for rasters with continuous values.</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:annotation>
                  <xs:documentation>Current stretch type.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>Color ramp.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="BkColor" type="Color" />
              <xs:element minOccurs="0" name="LegendGroup" type="LegendGroup">
                <xs:annotation>
                  <xs:documentation>Legend group at the specified index.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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>A renderer with a color ramp for rasters with classified values.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterRenderer">
            <xs:sequence>
              <xs:element minOccurs="0" name="ClassField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Field this renderer is using.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="NormField" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Normalization field this renderer is using.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>Number format for labels.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ShowClassGaps" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if gaps between classes are shown.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DeviationInterval" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Deviation interval. Range is 0 to 1, where 0 means no deviation is used.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <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:annotation>
                  <xs:documentation>The list of unique values.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="UseHillShader" type="xs:boolean" />
              <xs:element minOccurs="0" name="ZScale" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The Z factor multipled to z valuesg.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
    </xs:schema>
  </types>
  <message name="GetJobInputValuesIn">
    <part name="parameters" element="e:GetJobInputValues" />
  </message>
  <message name="GetJobInputValuesOut">
    <part name="parameters" element="e:GetJobInputValuesResponse" />
  </message>
  <message name="GetToolNamesIn">
    <part name="parameters" element="e:GetToolNames" />
  </message>
  <message name="GetToolNamesOut">
    <part name="parameters" element="e:GetToolNamesResponse" />
  </message>
  <message name="GetResultWorkspaceIn">
    <part name="parameters" element="e:GetResultWorkspace" />
  </message>
  <message name="GetResultWorkspaceOut">
    <part name="parameters" element="e:GetResultWorkspaceResponse" />
  </message>
  <message name="GetResultMapServerNameIn">
    <part name="parameters" element="e:GetResultMapServerName" />
  </message>
  <message name="GetResultMapServerNameOut">
    <part name="parameters" element="e:GetResultMapServerNameResponse" />
  </message>
  <message name="GetTaskInfosIn">
    <part name="parameters" element="e:GetTaskInfos" />
  </message>
  <message name="GetTaskInfosOut">
    <part name="parameters" element="e:GetTaskInfosResponse" />
  </message>
  <message name="GetTaskNamesIn">
    <part name="parameters" element="e:GetTaskNames" />
  </message>
  <message name="GetTaskNamesOut">
    <part name="parameters" element="e:GetTaskNamesResponse" />
  </message>
  <message name="GetToolInfoIn">
    <part name="parameters" element="e:GetToolInfo" />
  </message>
  <message name="GetToolInfoOut">
    <part name="parameters" element="e:GetToolInfoResponse" />
  </message>
  <message name="GetJobEnvironmentValuesIn">
    <part name="parameters" element="e:GetJobEnvironmentValues" />
  </message>
  <message name="GetJobEnvironmentValuesOut">
    <part name="parameters" element="e:GetJobEnvironmentValuesResponse" />
  </message>
  <message name="GetJobResultOptionsIn">
    <part name="parameters" element="e:GetJobResultOptions" />
  </message>
  <message name="GetJobResultOptionsOut">
    <part name="parameters" element="e:GetJobResultOptionsResponse" />
  </message>
  <message name="ExecuteIn">
    <part name="parameters" element="e:Execute" />
  </message>
  <message name="ExecuteOut">
    <part name="parameters" element="e:ExecuteResponse" />
  </message>
  <message name="GetJobResultIn">
    <part name="parameters" element="e:GetJobResult" />
  </message>
  <message name="GetJobResultOut">
    <part name="parameters" element="e:GetJobResultResponse" />
  </message>
  <message name="GetExecutionTypeIn">
    <part name="parameters" element="e:GetExecutionType" />
  </message>
  <message name="GetExecutionTypeOut">
    <part name="parameters" element="e:GetExecutionTypeResponse" />
  </message>
  <message name="GetJobStatusIn">
    <part name="parameters" element="e:GetJobStatus" />
  </message>
  <message name="GetJobStatusOut">
    <part name="parameters" element="e:GetJobStatusResponse" />
  </message>
  <message name="GetJobMessagesIn">
    <part name="parameters" element="e:GetJobMessages" />
  </message>
  <message name="GetJobMessagesOut">
    <part name="parameters" element="e:GetJobMessagesResponse" />
  </message>
  <message name="CancelJobIn">
    <part name="parameters" element="e:CancelJob" />
  </message>
  <message name="CancelJobOut">
    <part name="parameters" element="e:CancelJobResponse" />
  </message>
  <message name="SubmitJobIn">
    <part name="parameters" element="e:SubmitJob" />
  </message>
  <message name="SubmitJobOut">
    <part name="parameters" element="e:SubmitJobResponse" />
  </message>
  <message name="GetToolInfosIn">
    <part name="parameters" element="e:GetToolInfos" />
  </message>
  <message name="GetToolInfosOut">
    <part name="parameters" element="e:GetToolInfosResponse" />
  </message>
  <message name="GetJobToolNameIn">
    <part name="parameters" element="e:GetJobToolName" />
  </message>
  <message name="GetJobToolNameOut">
    <part name="parameters" element="e:GetJobToolNameResponse" />
  </message>
  <message name="GetJobResultMapExtentIn">
    <part name="parameters" element="e:GetJobResultMapExtent" />
  </message>
  <message name="GetJobResultMapExtentOut">
    <part name="parameters" element="e:GetJobResultMapExtentResponse" />
  </message>
  <portType name="GPServerPort">
    <documentation>GPServer Class.</documentation>
    <operation name="GetJobInputValues">
      <documentation>Returns the input values for the job.</documentation>
      <input message="e:GetJobInputValuesIn" />
      <output message="e:GetJobInputValuesOut" />
    </operation>
    <operation name="GetToolNames">
      <documentation>Returns the names of the available tools.</documentation>
      <input message="e:GetToolNamesIn" />
      <output message="e:GetToolNamesOut" />
    </operation>
    <operation name="GetResultWorkspace">
      <documentation>Returns a zip file of the results workspace.</documentation>
      <input message="e:GetResultWorkspaceIn" />
      <output message="e:GetResultWorkspaceOut" />
    </operation>
    <operation name="GetResultMapServerName">
      <documentation>Indicates if there is an associated map server to draw the results and the name of the map server.</documentation>
      <input message="e:GetResultMapServerNameIn" />
      <output message="e:GetResultMapServerNameOut" />
    </operation>
    <operation name="GetTaskInfos">
      <documentation>Returns the tool information of the available tasks.</documentation>
      <input message="e:GetTaskInfosIn" />
      <output message="e:GetTaskInfosOut" />
    </operation>
    <operation name="GetTaskNames">
      <documentation>Returns the names of the available tasks.</documentation>
      <input message="e:GetTaskNamesIn" />
      <output message="e:GetTaskNamesOut" />
    </operation>
    <operation name="GetToolInfo">
      <documentation>Returns the tool information of the specified tool name.</documentation>
      <input message="e:GetToolInfoIn" />
      <output message="e:GetToolInfoOut" />
    </operation>
    <operation name="GetJobEnvironmentValues">
      <documentation>Returns the enviornment values for the job.</documentation>
      <input message="e:GetJobEnvironmentValuesIn" />
      <output message="e:GetJobEnvironmentValuesOut" />
    </operation>
    <operation name="GetJobResultOptions">
      <documentation>Returns the result options for the job.</documentation>
      <input message="e:GetJobResultOptionsIn" />
      <output message="e:GetJobResultOptionsOut" />
    </operation>
    <operation name="Execute">
      <documentation>Executes the specified tool with the supplied values and options and returns the results.</documentation>
      <input message="e:ExecuteIn" />
      <output message="e:ExecuteOut" />
    </operation>
    <operation name="GetJobResult">
      <documentation>Returns the results of the specified job.</documentation>
      <input message="e:GetJobResultIn" />
      <output message="e:GetJobResultOut" />
    </operation>
    <operation name="GetExecutionType">
      <documentation>Indicates if the geoprocessing server is synchronous or asynchronous.</documentation>
      <input message="e:GetExecutionTypeIn" />
      <output message="e:GetExecutionTypeOut" />
    </operation>
    <operation name="GetJobStatus">
      <documentation>Returns the status of the specified job.</documentation>
      <input message="e:GetJobStatusIn" />
      <output message="e:GetJobStatusOut" />
    </operation>
    <operation name="GetJobMessages">
      <documentation>Returns the messages of the specified job.</documentation>
      <input message="e:GetJobMessagesIn" />
      <output message="e:GetJobMessagesOut" />
    </operation>
    <operation name="CancelJob">
      <documentation>Cancels the specified job.</documentation>
      <input message="e:CancelJobIn" />
      <output message="e:CancelJobOut" />
    </operation>
    <operation name="SubmitJob">
      <documentation>Submits the specified tool with the supplied values and options and returns the job id.</documentation>
      <input message="e:SubmitJobIn" />
      <output message="e:SubmitJobOut" />
    </operation>
    <operation name="GetToolInfos">
      <documentation>Returns the tool information of the available tools.</documentation>
      <input message="e:GetToolInfosIn" />
      <output message="e:GetToolInfosOut" />
    </operation>
    <operation name="GetJobToolName">
      <documentation>Returns the tool name for the job.</documentation>
      <input message="e:GetJobToolNameIn" />
      <output message="e:GetJobToolNameOut" />
    </operation>
    <operation name="GetJobResultMapExtent">
      <documentation>Returns the extent for the job.</documentation>
      <input message="e:GetJobResultMapExtentIn" />
      <output message="e:GetJobResultMapExtentOut" />
    </operation>
  </portType>
  <binding name="GPServerBinding" type="e:GPServerPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="GetJobInputValues">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetToolNames">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetResultWorkspace">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetResultMapServerName">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetTaskInfos">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetTaskNames">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetToolInfo">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetJobEnvironmentValues">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetJobResultOptions">
      <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="GetJobResult">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetExecutionType">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetJobStatus">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetJobMessages">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="CancelJob">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="SubmitJob">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetToolInfos">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetJobToolName">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetJobResultMapExtent">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="ESRI_CadastralData_Portland_GPServer">
    <port name="GPServerPort" binding="e:GPServerBinding">
      <soap:address location="http://sampleserver2.arcgisonline.com/ArcGIS/services/Portland/ESRI_CadastralData_Portland/GPServer" />
    </port>
  </service>
</definitions>