Network Analysis service (NAServer) WSDL

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

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:e="http://www.esri.com/schemas/ArcGIS/10.1" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.1">
  <types>
    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.1" xmlns="http://www.esri.com/schemas/ArcGIS/10.1">
      <xs:element name="GetNALayerNames">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LayerType" type="esriNAServerLayerType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNALayerNamesResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="ArrayOfString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNetworkDescription">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="NALayerName" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetNetworkDescriptionResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="NAServerNetworkDescription" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetSolverParameters">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="NALayerName" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetSolverParametersResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="NAServerSolverParams" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Solve">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SolverParams" type="NAServerSolverParams" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SolveResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="NAServerSolverResults" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetSolverParameters2">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="NALayerName" type="xs:string" />
            <xs:element name="LayerToken" type="xs:string" />
            <xs:element name="PopulateNAClasses" type="xs:boolean" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetSolverParameters2Response">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Result" type="NAServerSolverParams" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:simpleType name="esriNAServerLayerType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAServerRouteLayer" />
          <xs:enumeration value="esriNAServerClosestFacilityLayer" />
          <xs:enumeration value="esriNAServerServiceAreaLayer" />
          <xs:enumeration value="esriNAServerODCostMatrixLayer" />
          <xs:enumeration value="esriNAServerVRPLayer" />
          <xs:enumeration value="esriNAServerLocationAllocationLayer" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriDirectionsOutputType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriDOTStandard" />
          <xs:enumeration value="esriDOTComplete" />
          <xs:enumeration value="esriDOTCompleteNoEvents" />
          <xs:enumeration value="esriDOTInstructionsOnly" />
          <xs:enumeration value="esriDOTSummaryOnly" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriDirectionsStringType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriDSTGeneral" />
          <xs:enumeration value="esriDSTDepart" />
          <xs:enumeration value="esriDSTArrive" />
          <xs:enumeration value="esriDSTLength" />
          <xs:enumeration value="esriDSTTime" />
          <xs:enumeration value="esriDSTSummary" />
          <xs:enumeration value="esriDSTTimeWindow" />
          <xs:enumeration value="esriDSTViolationTime" />
          <xs:enumeration value="esriDSTWaitTime" />
          <xs:enumeration value="esriDSTServiceTime" />
          <xs:enumeration value="esriDSTEstimatedArrivalTime" />
          <xs:enumeration value="esriDSTCumulativeLength" />
          <xs:enumeration value="esriDSTStreetName" />
          <xs:enumeration value="esriDSTAltName" />
          <xs:enumeration value="esriDSTBranch" />
          <xs:enumeration value="esriDSTToward" />
          <xs:enumeration value="esriDSTCrossStreet" />
          <xs:enumeration value="esriDSTExit" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriDirectionsManeuverType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriDMTUnknown" />
          <xs:enumeration value="esriDMTStop" />
          <xs:enumeration value="esriDMTStraight" />
          <xs:enumeration value="esriDMTBearLeft" />
          <xs:enumeration value="esriDMTBearRight" />
          <xs:enumeration value="esriDMTTurnLeft" />
          <xs:enumeration value="esriDMTTurnRight" />
          <xs:enumeration value="esriDMTSharpLeft" />
          <xs:enumeration value="esriDMTSharpRight" />
          <xs:enumeration value="esriDMTUTurn" />
          <xs:enumeration value="esriDMTFerry" />
          <xs:enumeration value="esriDMTRoundabout" />
          <xs:enumeration value="esriDMTHighwayMerge" />
          <xs:enumeration value="esriDMTHighwayExit" />
          <xs:enumeration value="esriDMTHighwayChange" />
          <xs:enumeration value="esriDMTForkCenter" />
          <xs:enumeration value="esriDMTForkLeft" />
          <xs:enumeration value="esriDMTForkRight" />
          <xs:enumeration value="esriDMTDepart" />
          <xs:enumeration value="esriDMTTripItem" />
          <xs:enumeration value="esriDMTEndOfFerry" />
          <xs:enumeration value="esriDMTRampRight" />
          <xs:enumeration value="esriDMTRampLeft" />
          <xs:enumeration value="esriDMTTurnLeftRight" />
          <xs:enumeration value="esriDMTTurnRightLeft" />
          <xs:enumeration value="esriDMTTurnRightRight" />
          <xs:enumeration value="esriDMTTurnLeftLeft" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNAOutputLineType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAOutputLineNone" />
          <xs:enumeration value="esriNAOutputLineStraight" />
          <xs:enumeration value="esriNAOutputLineTrueShape" />
          <xs:enumeration value="esriNAOutputLineTrueShapeWithMeasure" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNAOutputPolygonType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAOutputPolygonNone" />
          <xs:enumeration value="esriNAOutputPolygonSimplified" />
          <xs:enumeration value="esriNAOutputPolygonDetailed" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNATravelDirection">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNATravelDirectionFromFacility" />
          <xs:enumeration value="esriNATravelDirectionToFacility" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNAODCostMatrixType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAODCostMatrixNone" />
          <xs:enumeration value="esriNAODCostMatrixFull" />
          <xs:enumeration value="esriNAODCostMatrixUpdate" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNALocationAllocationProblemType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNALAPTMinimizeWeightedImpedance" />
          <xs:enumeration value="esriNALAPTMaximizeCoverage" />
          <xs:enumeration value="esriNALAPTMaximizeCoverageMinimizeFacilities" />
          <xs:enumeration value="esriNALAPTMaximizeAttendance" />
          <xs:enumeration value="esriNALAPTMaximizeMarketShare" />
          <xs:enumeration value="esriNALAPTTargetMarketShare" />
          <xs:enumeration value="esriNALAPTMaximizeCapacitatedCoverage" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNAImpedanceTransformationType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAITTLinear" />
          <xs:enumeration value="esriNAITTPower" />
          <xs:enumeration value="esriNAITTExponential" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNATimeOfDayUsage">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNATimeOfDayNotUsed" />
          <xs:enumeration value="esriNATimeOfDayUseAsStartTime" />
          <xs:enumeration value="esriNATimeOfDayUseAsEndTime" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="NAServerNetworkAttribute">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Units" type="esriNetworkAttributeUnits" />
          <xs:element name="DataType" type="esriNetworkAttributeDataType" />
          <xs:element name="UsageType" type="esriNetworkAttributeUsageType" />
          <xs:element minOccurs="0" name="ParameterNames" type="ArrayOfString" />
          <xs:element minOccurs="0" name="RestrictionUsageParameterName" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAServerNetworkAttribute">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAServerNetworkAttribute" type="NAServerNetworkAttribute" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerNetworkSource">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="ID" type="xs:int" />
          <xs:element name="SourceType" type="esriNetworkSourceType" />
          <xs:element name="ElementType" type="esriNetworkElementType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAServerNetworkSource">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAServerNetworkSource" type="NAServerNetworkSource" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerNetworkDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="NetworkAttributes" type="ArrayOfNAServerNetworkAttribute" />
          <xs:element minOccurs="0" name="NetworkSources" type="ArrayOfNAServerNetworkSource" />
          <xs:element minOccurs="0" name="NetworkDirections" type="NAServerNetworkDirections" />
          <xs:element minOccurs="0" name="BuildTime" type="xs:dateTime" />
          <xs:element minOccurs="0" name="State" type="esriNetworkDatasetState" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerNetworkDirections">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="AvailableStyleNames" type="ArrayOfString" />
          <xs:element minOccurs="0" name="SupportedLanguages" type="ArrayOfString" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAClassCandidateFieldMap">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="NAClassName" type="xs:string" />
          <xs:element minOccurs="0" name="CandidateFieldMaps" type="ArrayOfNACandidateFieldMap" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAClassCandidateFieldMap">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAClassCandidateFieldMap" type="NAClassCandidateFieldMap" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NACandidateFieldMap">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="FieldName" type="xs:string" />
          <xs:element minOccurs="0" name="DefaultValue" type="xs:anyType" />
          <xs:element minOccurs="0" name="CandidateFieldNames" type="ArrayOfString" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNACandidateFieldMap">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NACandidateFieldMap" type="NACandidateFieldMap" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerLocations" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="DoNotLocateOnRestrictedElements" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if restricted network elements should be considered when finding network locations.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerPropertySets">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerLocations">
            <xs:sequence>
              <xs:element name="PropertySets" type="ArrayOfPropertySet" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerRecordSet">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerLocations">
            <xs:sequence>
              <xs:element name="RecordSet" type="RecordSet" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerDataLayer">
        <xs:annotation>
          <xs:documentation>A container that references a data layer containing network locations.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerLocations">
            <xs:sequence>
              <xs:element name="DataLayerName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The name of the layer in the map.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="QueryFilter" type="QueryFilter">
                <xs:annotation>
                  <xs:documentation>The query filter.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAAttributeParameterValue">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="AttributeName" type="xs:string" />
          <xs:element name="ParameterName" type="xs:string" />
          <xs:element name="VarType" type="xs:long" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAAttributeParameterValue">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAAttributeParameterValue" type="NAAttributeParameterValue" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerSolverParams" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="NALayerName" type="xs:string" />
          <xs:element name="SnapTolerance" type="xs:double" />
          <xs:element name="MaxSnapTolerance" type="xs:double" />
          <xs:element name="SnapToleranceUnits" type="esriUnits" />
          <xs:element name="NAClassCandidateFieldMaps" type="ArrayOfNAClassCandidateFieldMap" />
          <xs:element name="ReturnMap" type="xs:boolean" />
          <xs:element minOccurs="0" name="MapDescription" type="MapDescription" />
          <xs:element minOccurs="0" name="ImageDescription" type="ImageDescription" />
          <xs:element minOccurs="0" name="OutputSpatialReference" type="SpatialReference" />
          <xs:element name="ReturnGeometriesAsBinary" type="xs:boolean" />
          <xs:element minOccurs="0" name="AccumulateAttributeNames" type="ArrayOfString" />
          <xs:element name="ImpedanceAttributeName" type="xs:string" />
          <xs:element name="IgnoreInvalidLocations" type="xs:boolean" />
          <xs:element name="RestrictUTurns" type="esriNetworkForwardStarBacktrack" />
          <xs:element minOccurs="0" name="RestrictionAttributeNames" type="ArrayOfString" />
          <xs:element name="UseHierarchy" type="xs:boolean" />
          <xs:element minOccurs="0" name="HierarchyAttributeName" type="xs:string" />
          <xs:element name="HierarchyLevelCount" type="xs:int" />
          <xs:element minOccurs="0" name="HierarchyMaxValues" type="ArrayOfInt" />
          <xs:element minOccurs="0" name="HierarchyNumTransitions" type="ArrayOfInt" />
          <xs:element name="ResetHierarchyRangesOnBind" type="xs:boolean" />
          <xs:element minOccurs="0" name="AttributeParameterValues" type="ArrayOfNAAttributeParameterValue" />
          <xs:element minOccurs="0" name="OutputGeometryPrecision" type="xs:anyType">
            <xs:annotation>
              <xs:documentation>Specifies the precision of the output geometry after generalization.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="OutputGeometryPrecisionUnits" type="esriUnits">
            <xs:annotation>
              <xs:documentation>Specifies the units of the output geometry precision.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ReturnPartialResultsOnError" type="xs:boolean" />
          <xs:element minOccurs="0" name="SaveLayerOnServer" type="xs:boolean" />
          <xs:element minOccurs="0" name="LayerToken" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerRouteParams">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverParams">
            <xs:sequence>
              <xs:element minOccurs="0" name="Stops" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Barriers" type="NAServerLocations" />
              <xs:element name="ReturnRouteGeometries" type="xs:boolean" />
              <xs:element name="ReturnRoutes" type="xs:boolean" />
              <xs:element name="ReturnStops" type="xs:boolean" />
              <xs:element name="ReturnBarriers" type="xs:boolean" />
              <xs:element name="ReturnDirections" type="xs:boolean" />
              <xs:element name="DirectionsLanguage" type="xs:string" />
              <xs:element name="DirectionsLengthUnits" type="esriNetworkAttributeUnits" />
              <xs:element name="DirectionsTimeAttributeName" type="xs:string" />
              <xs:element name="FindBestSequence" type="xs:boolean" />
              <xs:element name="PreserveFirstStop" type="xs:boolean" />
              <xs:element name="PreserveLastStop" type="xs:boolean" />
              <xs:element name="UseTimeWindows" type="xs:boolean" />
              <xs:element name="CreateTraversalResult" type="xs:boolean" />
              <xs:element name="OutputLines" type="esriNAOutputLineType" />
              <xs:element name="UseStartTime" type="xs:boolean" />
              <xs:element name="StartTime" type="xs:dateTime" />
              <xs:element name="ReturnCompactDirections" type="xs:boolean" />
              <xs:element minOccurs="0" name="DirectionsOutputType" type="esriDirectionsOutputType" />
              <xs:element minOccurs="0" name="DirectionsStyleName" type="xs:string" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="ReturnPolygonBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolylineBarriers" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerClosestFacilityParams">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverParams">
            <xs:sequence>
              <xs:element minOccurs="0" name="Facilities" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Incidents" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Barriers" type="NAServerLocations" />
              <xs:element name="ReturnCFRouteGeometries" type="xs:boolean" />
              <xs:element name="ReturnCFRoutes" type="xs:boolean" />
              <xs:element name="ReturnFacilities" type="xs:boolean" />
              <xs:element name="ReturnIncidents" type="xs:boolean" />
              <xs:element name="ReturnBarriers" type="xs:boolean" />
              <xs:element name="ReturnDirections" type="xs:boolean" />
              <xs:element name="DirectionsLanguage" type="xs:string" />
              <xs:element name="DirectionsLengthUnits" type="esriNetworkAttributeUnits" />
              <xs:element name="DirectionsTimeAttributeName" type="xs:string" />
              <xs:element name="DefaultTargetFacilityCount" type="xs:int" />
              <xs:element minOccurs="0" name="DefaultCutoff" type="xs:anyType" />
              <xs:element name="TravelDirection" type="esriNATravelDirection" />
              <xs:element name="CreateTraversalResult" type="xs:boolean" />
              <xs:element name="OutputLines" type="esriNAOutputLineType" />
              <xs:element name="ReturnCompactDirections" type="xs:boolean" />
              <xs:element minOccurs="0" name="DirectionsOutputType" type="esriDirectionsOutputType" />
              <xs:element minOccurs="0" name="DirectionsStyleName" type="xs:string" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="ReturnPolygonBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolylineBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeOfDay" type="xs:dateTime" />
              <xs:element minOccurs="0" name="TimeOfDayUsage" type="esriNATimeOfDayUsage" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerServiceAreaParams">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverParams">
            <xs:sequence>
              <xs:element minOccurs="0" name="Facilities" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Barriers" type="NAServerLocations" />
              <xs:element name="ReturnSALineGeometries" type="xs:boolean" />
              <xs:element name="ReturnSALines" type="xs:boolean" />
              <xs:element name="ReturnSAPolygonGeometries" type="xs:boolean" />
              <xs:element name="ReturnSAPolygons" type="xs:boolean" />
              <xs:element name="ReturnFacilities" type="xs:boolean" />
              <xs:element name="ReturnBarriers" type="xs:boolean" />
              <xs:element name="TravelDirection" type="esriNATravelDirection" />
              <xs:element name="DefaultBreaks" type="ArrayOfDouble" />
              <xs:element name="SplitPolygonsAtBreaks" type="xs:boolean" />
              <xs:element name="MergeSimilarPolygonRanges" type="xs:boolean" />
              <xs:element name="ExcludeSourcesFromPolygons" type="ArrayOfString" />
              <xs:element name="SplitLinesAtBreaks" type="xs:boolean" />
              <xs:element name="OverlapLines" type="xs:boolean" />
              <xs:element name="OutputPolygons" type="esriNAOutputPolygonType" />
              <xs:element name="OutputLines" type="esriNAOutputLineType" />
              <xs:element name="IncludeSourceInformationOnLines" type="xs:boolean" />
              <xs:element name="OverlapPolygons" type="xs:boolean" />
              <xs:element name="TrimOuterPolygon" type="xs:boolean" />
              <xs:element name="TrimPolygonDistance" type="xs:double" />
              <xs:element name="TrimPolygonDistanceUnits" type="esriUnits" />
              <xs:element name="CreateTraversalResult" type="xs:boolean" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="ReturnPolygonBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolylineBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeOfDay" type="xs:dateTime" />
              <xs:element minOccurs="0" name="TimeOfDayUsage" type="esriNATimeOfDayUsage" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerODCostMatrixParams">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverParams">
            <xs:sequence>
              <xs:element minOccurs="0" name="Origins" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Destinations" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Barriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="NAServerLocations" />
              <xs:element name="ReturnODLines" type="xs:boolean" />
              <xs:element name="ReturnODMatrix" type="xs:boolean" />
              <xs:element name="ReturnOrigins" type="xs:boolean" />
              <xs:element name="ReturnDestinations" type="xs:boolean" />
              <xs:element name="ReturnBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolygonBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolylineBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="DefaultCutoff" type="xs:anyType" />
              <xs:element minOccurs="0" name="DefaultTargetDestinationCount" type="xs:anyType" />
              <xs:element name="OutputLines" type="esriNAOutputLineType" />
              <xs:element name="MatrixResultType" type="esriNAODCostMatrixType" />
              <xs:element name="PopulateODLines" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeOfDay" type="xs:dateTime" />
              <xs:element minOccurs="0" name="TimeOfDayUsage" type="esriNATimeOfDayUsage" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerVRPParams">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverParams">
            <xs:sequence>
              <xs:element minOccurs="0" name="Orders" type="NAServerLocations" />
              <xs:element minOccurs="0" name="OrderPairs" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Depots" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Routes" type="NAServerLocations" />
              <xs:element minOccurs="0" name="RouteSeedPoints" type="NAServerLocations" />
              <xs:element minOccurs="0" name="RouteZones" type="NAServerLocations" />
              <xs:element minOccurs="0" name="RouteRenewals" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Barriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Breaks" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Specialties" type="NAServerLocations" />
              <xs:element name="ReturnRoutes" type="xs:boolean" />
              <xs:element name="ReturnOrders" type="xs:boolean" />
              <xs:element name="ReturnDepots" type="xs:boolean" />
              <xs:element name="ReturnDepotVisits" type="xs:boolean" />
              <xs:element name="ReturnBreaks" type="xs:boolean" />
              <xs:element name="ReturnRouteRenewals" type="xs:boolean" />
              <xs:element name="ReturnRouteSeedPoints" type="xs:boolean" />
              <xs:element name="ReturnRouteZones" type="xs:boolean" />
              <xs:element name="ReturnSpecialties" type="xs:boolean" />
              <xs:element name="ReturnOrderPairs" type="xs:boolean" />
              <xs:element name="ReturnBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolygonBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolylineBarriers" type="xs:boolean" />
              <xs:element name="ReturnCompactDirections" type="xs:boolean" />
              <xs:element name="DirectionsLanguage" type="xs:string" />
              <xs:element name="DirectionsLengthUnits" type="esriNetworkAttributeUnits" />
              <xs:element minOccurs="0" name="DirectionsOutputType" type="esriDirectionsOutputType" />
              <xs:element minOccurs="0" name="DirectionsStyleName" type="xs:string" />
              <xs:element name="DirectionsTimeAttributeName" type="xs:string" />
              <xs:element name="OutputLines" type="esriNAOutputLineType" />
              <xs:element name="DefaultDate" type="xs:dateTime" />
              <xs:element name="DistanceFieldUnits" type="esriNetworkAttributeUnits" />
              <xs:element name="ExcessTransitTimePenaltyFactor" type="xs:double" />
              <xs:element name="TimeWindowViolationPenaltyFactor" type="xs:double" />
              <xs:element name="CapacityCount" type="xs:int" />
              <xs:element name="GenerateInternalRouteContext" type="xs:boolean" />
              <xs:element name="InternalODCostMatrixType" type="esriNAODCostMatrixType" />
              <xs:element name="TimeFieldUnits" type="esriNetworkAttributeUnits" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerLocationAllocationParams">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverParams">
            <xs:sequence>
              <xs:element minOccurs="0" name="DemandPoints" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Facilities" type="NAServerLocations" />
              <xs:element minOccurs="0" name="Barriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="NAServerLocations" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="NAServerLocations" />
              <xs:element name="ReturnLALines" type="xs:boolean" />
              <xs:element name="ReturnDemandPoints" type="xs:boolean" />
              <xs:element name="ReturnFacilities" type="xs:boolean" />
              <xs:element name="ReturnBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolygonBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReturnPolylineBarriers" type="xs:boolean" />
              <xs:element minOccurs="0" name="DefaultCutoff" type="xs:anyType" />
              <xs:element name="OutputLines" type="esriNAOutputLineType" />
              <xs:element name="TravelDirection" type="esriNATravelDirection" />
              <xs:element name="ImpedanceTransformation" type="esriNAImpedanceTransformationType" />
              <xs:element name="NumberFacilitiesToLocate" type="xs:int" />
              <xs:element name="ProblemType" type="esriNALocationAllocationProblemType" />
              <xs:element name="TargetMarketSharePercentage" type="xs:double" />
              <xs:element name="TransformationParameter" type="xs:double" />
              <xs:element minOccurs="0" name="TimeOfDay" type="xs:dateTime" />
              <xs:element minOccurs="0" name="TimeOfDayUsage" type="esriNATimeOfDayUsage" />
              <xs:element minOccurs="0" name="DefaultCapacity" type="xs:double" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerSolverResults" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="MapImage" type="MapImage" />
          <xs:element minOccurs="0" name="SolveMessages" type="GPMessages" />
          <xs:element minOccurs="0" name="SolveErrorCode" type="xs:int" />
          <xs:element minOccurs="0" name="LayerToken" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAServerRouteResults">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverResults">
            <xs:sequence>
              <xs:element minOccurs="0" name="TotalImpedances" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="RouteGeometries" type="ArrayOfPolyline" />
              <xs:element minOccurs="0" name="Routes" type="RecordSet" />
              <xs:element minOccurs="0" name="Stops" type="RecordSet" />
              <xs:element minOccurs="0" name="Barriers" type="RecordSet" />
              <xs:element minOccurs="0" name="Directions" type="ArrayOfNAStreetDirections" />
              <xs:element minOccurs="0" name="CompactDirections" type="ArrayOfNACompactStreetDirections" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="RecordSet" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerClosestFacilityResults">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverResults">
            <xs:sequence>
              <xs:element minOccurs="0" name="TotalImpedances" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="CFRouteGeometries" type="ArrayOfPolyline" />
              <xs:element minOccurs="0" name="CFRoutes" type="RecordSet" />
              <xs:element minOccurs="0" name="Facilities" type="RecordSet" />
              <xs:element minOccurs="0" name="Incidents" type="RecordSet" />
              <xs:element minOccurs="0" name="Barriers" type="RecordSet" />
              <xs:element minOccurs="0" name="Directions" type="ArrayOfNAStreetDirections" />
              <xs:element minOccurs="0" name="CompactDirections" type="ArrayOfNACompactStreetDirections" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="RecordSet" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerServiceAreaResults">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverResults">
            <xs:sequence>
              <xs:element minOccurs="0" name="SALineGeometries" type="ArrayOfPolyline" />
              <xs:element minOccurs="0" name="SALines" type="RecordSet" />
              <xs:element minOccurs="0" name="SAPolygonGeometries" type="ArrayOfPolygon" />
              <xs:element minOccurs="0" name="SAPolygons" type="RecordSet" />
              <xs:element minOccurs="0" name="Facilities" type="RecordSet" />
              <xs:element minOccurs="0" name="Barriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="RecordSet" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerODCostMatrixResults">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverResults">
            <xs:sequence>
              <xs:element minOccurs="0" name="ODLines" type="RecordSet" />
              <xs:element minOccurs="0" name="Origins" type="RecordSet" />
              <xs:element minOccurs="0" name="Destinations" type="RecordSet" />
              <xs:element minOccurs="0" name="Barriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="OriginOIDIndex" type="ArrayOfInt" />
              <xs:element minOccurs="0" name="DestinationOIDIndex" type="ArrayOfInt" />
              <xs:element minOccurs="0" name="CostAttributeNameIndex" type="ArrayOfString" />
              <xs:element minOccurs="0" name="ODMatrix" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerVRPResults">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverResults">
            <xs:sequence>
              <xs:element minOccurs="0" name="Routes" type="RecordSet" />
              <xs:element minOccurs="0" name="Orders" type="RecordSet" />
              <xs:element minOccurs="0" name="Depots" type="RecordSet" />
              <xs:element minOccurs="0" name="DepotVisits" type="RecordSet" />
              <xs:element minOccurs="0" name="Breaks" type="RecordSet" />
              <xs:element minOccurs="0" name="RouteRenewals" type="RecordSet" />
              <xs:element minOccurs="0" name="RouteSeedPoints" type="RecordSet" />
              <xs:element minOccurs="0" name="RouteZones" type="RecordSet" />
              <xs:element minOccurs="0" name="Specialties" type="RecordSet" />
              <xs:element minOccurs="0" name="OrderPairs" type="RecordSet" />
              <xs:element minOccurs="0" name="Barriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="CompactDirections" type="ArrayOfNACompactStreetDirections" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAServerLocationAllocationResults">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="NAServerSolverResults">
            <xs:sequence>
              <xs:element minOccurs="0" name="LALines" type="RecordSet" />
              <xs:element minOccurs="0" name="DemandPoints" type="RecordSet" />
              <xs:element minOccurs="0" name="Facilities" type="RecordSet" />
              <xs:element minOccurs="0" name="Barriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolygonBarriers" type="RecordSet" />
              <xs:element minOccurs="0" name="PolylineBarriers" type="RecordSet" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="NAStreetDirections">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="RouteID" type="xs:int" />
          <xs:element name="RouteName" type="xs:string" />
          <xs:element name="Summary" type="NAStreetDirection" />
          <xs:element name="Directions" type="ArrayOfNAStreetDirection" />
          <xs:element name="StopNames" type="ArrayOfString" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAStreetDirection">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="DriveTime" type="xs:double" />
          <xs:element name="Envelope" type="Envelope" />
          <xs:element name="Length" type="xs:double" />
          <xs:element name="ManeuverPoint" type="Point" />
          <xs:element name="Time" type="xs:double" />
          <xs:element name="Strings" type="ArrayOfString" />
          <xs:element name="StringTypes" type="ArrayOfDirectionsStringType" />
          <xs:element name="CumulativeLength" type="xs:double" />
          <xs:element name="EstimatedArrivalTime" type="xs:dateTime" />
          <xs:element name="ManeuverType" type="esriDirectionsManeuverType" />
          <xs:element name="TurnAngle" type="xs:double" />
          <xs:element name="DepartBearing" type="xs:double" />
          <xs:element name="GeneralBearing" type="xs:double" />
          <xs:element minOccurs="0" name="Events" type="ArrayOfNAStreetDirectionEvent" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAStreetDirections">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAStreetDirections" type="NAStreetDirections" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAStreetDirection">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAStreetDirection" type="NAStreetDirection" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfDirectionsStringType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="DirectionsStringType" type="esriDirectionsStringType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NACompactStreetDirections">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="RouteID" type="xs:int" />
          <xs:element name="RouteName" type="xs:string" />
          <xs:element name="Summary" type="NACompactStreetDirectionSummary" />
          <xs:element name="Directions" type="ArrayOfNACompactStreetDirection" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NACompactStreetDirection">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Length" type="xs:double" />
          <xs:element name="Time" type="xs:double" />
          <xs:element name="Text" type="xs:string" />
          <xs:element name="CompressedGeometry" type="xs:string" />
          <xs:element name="ETA" type="xs:dateTime" />
          <xs:element name="ManeuverType" type="esriDirectionsManeuverType" />
          <xs:element name="TurnAngle" type="xs:double" />
          <xs:element name="DepartBearing" type="xs:double" />
          <xs:element name="GeneralBearing" type="xs:double" />
          <xs:element minOccurs="0" name="Events" type="ArrayOfNAStreetDirectionEvent" />
          <xs:element minOccurs="0" name="Strings" type="ArrayOfString" />
          <xs:element minOccurs="0" name="StringTypes" type="ArrayOfDirectionsStringType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNACompactStreetDirections">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NACompactStreetDirections" type="NACompactStreetDirections" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNACompactStreetDirection">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NACompactStreetDirection" type="NACompactStreetDirection" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NACompactStreetDirectionSummary">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="TotalLength" type="xs:double" />
          <xs:element name="TotalTime" type="xs:double" />
          <xs:element name="TotalDriveTime" type="xs:double" />
          <xs:element name="Envelope" type="Envelope" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NAStreetDirectionEvent">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="ETA" type="xs:dateTime" />
          <xs:element name="Point" type="Point" />
          <xs:element name="Strings" type="ArrayOfString" />
          <xs:element name="StringTypes" type="ArrayOfDirectionsStringType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAStreetDirectionEvent">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAStreetDirectionEvent" type="NAStreetDirectionEvent" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriJoinType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriLeftOuterJoin" />
          <xs:enumeration value="esriLeftInnerJoin" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="AreaPatch">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Patch" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfGraphicElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="GraphicElement" type="GraphicElement" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfLayerDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="LayerDescription" type="LayerDescription" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CenterAndScale">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapArea">
            <xs:sequence>
              <xs:element minOccurs="0" name="Center" type="Point" />
              <xs:element name="Scale" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The map scale.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DPI" type="xs:double">
                <xs:annotation>
                  <xs:documentation>The device resolution of the image.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DevBottom" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The X cooridnate for bottom right corner point.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DevLeft" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The X coordinate for the upper left corner point.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DevTop" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The Y coordinate for the upper left corner point.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DevRight" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The Y coordinate for the bottom right corner point.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CenterAndSize">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapArea">
            <xs:sequence>
              <xs:element minOccurs="0" name="Center" type="Point" />
              <xs:element name="Height" type="xs:double" />
              <xs:element name="Width" type="xs:double" />
              <xs:element name="Units" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="FeatureExtent">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapArea">
            <xs:sequence>
              <xs:element name="DefaultScale" type="xs:double" />
              <xs:element default="1.0" name="ExpandRatio" type="xs:double" />
              <xs:element minOccurs="0" name="FeatureIDs" type="ArrayOfInt" />
              <xs:element name="LayerID" type="xs:int" />
              <xs:element name="MapName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ImageDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="ImageType" type="ImageType">
            <xs:annotation>
              <xs:documentation>The type of image to be generated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ImageDisplay" type="ImageDisplay">
            <xs:annotation>
              <xs:documentation>The display characteristics of the image to be generated.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImageDisplay">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="ImageHeight" type="xs:int">
            <xs:annotation>
              <xs:documentation>The height of the image in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ImageWidth" type="xs:int">
            <xs:annotation>
              <xs:documentation>The width of the image in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ImageDPI" type="xs:double">
            <xs:annotation>
              <xs:documentation>The device resolution of the image (dots per inch).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="TransparentColor" type="Color" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriImageFormat">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriImageNone" />
          <xs:enumeration value="esriImageBMP" />
          <xs:enumeration value="esriImageJPG" />
          <xs:enumeration value="esriImageDIB" />
          <xs:enumeration value="esriImageTIFF" />
          <xs:enumeration value="esriImagePNG" />
          <xs:enumeration value="esriImagePNG24" />
          <xs:enumeration value="esriImageEMF" />
          <xs:enumeration value="esriImagePS" />
          <xs:enumeration value="esriImagePDF" />
          <xs:enumeration value="esriImageAI" />
          <xs:enumeration value="esriImageGIF" />
          <xs:enumeration value="esriImageSVG" />
          <xs:enumeration value="esriImagePNG32" />
          <xs:enumeration value="esriImageJPGPNG" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriImageReturnType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriImageReturnURL" />
          <xs:enumeration value="esriImageReturnMimeData" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="ImageType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="ImageFormat" type="esriImageFormat">
            <xs:annotation>
              <xs:documentation>The image format.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ImageReturnType" type="esriImageReturnType">
            <xs:annotation>
              <xs:documentation>The return type.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LayerDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapTableDescription">
            <xs:sequence>
              <xs:element name="LayerID" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The layer ID. This is a unique ID for the layer, and is used to identify the layer in a number of method calls.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Visible" type="xs:boolean" />
              <xs:element name="ShowLabels" type="xs:boolean" />
              <xs:element name="ScaleSymbols" type="xs:boolean" />
              <xs:element minOccurs="0" name="SelectionFeatures" type="ArrayOfInt" />
              <xs:element minOccurs="0" name="SelectionColor" type="Color" />
              <xs:element minOccurs="0" name="SelectionSymbol" type="Symbol" />
              <xs:element name="SetSelectionSymbol" type="xs:boolean" />
              <xs:element name="SelectionBufferDistance" type="xs:double" />
              <xs:element name="ShowSelectionBuffer" type="xs:boolean" />
              <xs:element name="DefinitionExpression" type="xs:string" />
              <xs:element minOccurs="0" name="SourceID" type="xs:string" />
              <xs:element minOccurs="0" name="SelectionBufferSymbol" type="FillSymbol" />
              <xs:element minOccurs="0" name="LayerResultOptions" type="LayerResultOptions" />
              <xs:element minOccurs="0" name="UseTime" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeDataCumulative" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeOffset" type="xs:double" />
              <xs:element minOccurs="0" name="TimeOffsetUnits" type="esriTimeUnits" />
              <xs:element minOccurs="0" name="DrawingDescription" type="LayerDrawingDescription" />
              <xs:element minOccurs="0" name="Source" type="MapServerSourceDescription" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LayerResultOptions">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" default="true" name="IncludeGeometry" type="xs:boolean" />
          <xs:element minOccurs="0" name="GeometryResultOptions" type="GeometryResultOptions" />
          <xs:element minOccurs="0" default="false" name="ReturnFieldNamesInResults" type="xs:boolean" />
          <xs:element minOccurs="0" default="true" name="FormatValuesInResults" type="xs:boolean" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LegendClass">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Symbol" type="Symbol" />
          <xs:element name="Label" type="xs:string" />
          <xs:element name="Description" type="xs:string" />
          <xs:element minOccurs="0" name="LegendClassFormat" type="LegendClassFormat" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LegendClassFormat">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="LabelSymbol" type="Symbol" />
          <xs:element minOccurs="0" name="DescriptionSymbol" type="Symbol" />
          <xs:element minOccurs="0" name="LinePatch" type="LinePatch" />
          <xs:element minOccurs="0" name="AreaPatch" type="AreaPatch" />
          <xs:element name="PatchWidth" type="xs:double" />
          <xs:element name="PatchHeight" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LinePatch">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Patch" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MapArea" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Extent" type="Envelope" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MapDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="MapArea" type="MapArea" />
          <xs:element minOccurs="0" name="LayerDescriptions" type="ArrayOfLayerDescription" />
          <xs:element name="Rotation" type="xs:double">
            <xs:annotation>
              <xs:documentation>The angle/rotation of the map (data frame) in degrees, measured anti-clockwise.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
          <xs:element minOccurs="0" name="TransparentColor" type="Color" />
          <xs:element minOccurs="0" name="SelectionColor" type="Color" />
          <xs:element minOccurs="0" name="BackgroundSymbol" type="FillSymbol" />
          <xs:element minOccurs="0" name="CustomGraphics" type="ArrayOfGraphicElement" />
          <xs:element minOccurs="0" name="GeoTransformation" type="GeoTransformation" />
          <xs:element minOccurs="0" name="TimeReference" type="TimeReference" />
          <xs:element minOccurs="0" name="TimeValue" type="TimeValue" />
          <xs:element minOccurs="0" name="HonorLayerReordering" type="xs:boolean" />
          <xs:element minOccurs="0" name="TimeRelation" type="esriTimeRelation" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MapExtent">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapArea" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MapImage">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="ImageData" type="xs:base64Binary">
            <xs:annotation>
              <xs:documentation>Binary data representing the generated image.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ImageURL" type="xs:string">
            <xs:annotation>
              <xs:documentation>The URL of the generated image.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Extent" type="Envelope">
            <xs:annotation>
              <xs:documentation>The extent of the map frame on the page.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="VisibleLayerIDs" type="ArrayOfInt">
            <xs:annotation>
              <xs:documentation>Array of the visible layers drawn for the generated map scale.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="MapScale" type="xs:double" />
          <xs:element name="ImageHeight" type="xs:int">
            <xs:annotation>
              <xs:documentation>The height of the image in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ImageWidth" type="xs:int">
            <xs:annotation>
              <xs:documentation>The width of the image in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ImageDPI" type="xs:double">
            <xs:annotation>
              <xs:documentation>The device resolution of the image specified in the request (dots per inch).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ImageType" type="xs:string">
            <xs:annotation>
              <xs:documentation>The MIME type of the image data.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MapServerBookmark">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapArea">
            <xs:sequence>
              <xs:element name="Name" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Shadow" abstract="true">
        <xs:annotation>
          <xs:documentation>Frame drop shadows.</xs:documentation>
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="Background" abstract="true">
        <xs:annotation>
          <xs:documentation>Frame Background.</xs:documentation>
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="SymbolBackground">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Background">
            <xs:sequence>
              <xs:element name="HorizontalGap" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Horizontal offset or gap between the decoration and the subject in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CornerRounding" type="xs:short" />
              <xs:element name="VerticalGap" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Vertical offset or gap between the decoration and the subject in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Symbol" type="FillSymbol">
                <xs:annotation>
                  <xs:documentation>Symbol used to draw the background.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Border" abstract="true">
        <xs:annotation>
          <xs:documentation>Frame border used by this element.</xs:documentation>
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="SymbolBorder">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Border">
            <xs:sequence>
              <xs:element name="HorizontalGap" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Horizontal offset or gap between the decoration and the subject in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CornerRounding" type="xs:short" />
              <xs:element name="VerticalGap" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Vertical offset or gap between the decoration and the subject in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Symbol" type="LineSymbol">
                <xs:annotation>
                  <xs:documentation>Symbol used to draw the border.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SymbolShadow">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Shadow">
            <xs:sequence>
              <xs:element minOccurs="0" name="Symbol" type="LineSymbol">
                <xs:annotation>
                  <xs:documentation>Symbol used to draw the shadow.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CornerRounding" type="xs:short" />
              <xs:element name="HorizontalOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Horizontal offset or gap between the decoration and the subject in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="VerticalOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Vertical offset or gap between the decoration and the subject in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Element" abstract="true">
        <xs:annotation>
          <xs:documentation>Element.</xs:documentation>
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="GraphicElement" abstract="true">
        <xs:annotation>
          <xs:documentation>Graphic Element Obejct.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Element">
            <xs:sequence />
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LineElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
              <xs:element name="Line" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a PolyLine.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CircleElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element name="Rectangle" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon or an Envelope.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EllipseElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element name="Rectangle" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon or an Envelope.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GroupElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Element">
            <xs:sequence>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element name="Elements" type="ArrayOfGraphicElement" />
              <xs:element minOccurs="0" name="Rectangle" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean" />
              <xs:element minOccurs="0" name="Border" type="Border" />
              <xs:element minOccurs="0" name="Background" type="Background" />
              <xs:element minOccurs="0" name="DraftMode" type="xs:boolean" />
              <xs:element minOccurs="0" name="Shadow" type="Shadow" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MarkerElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
              <xs:element name="Point" type="Point">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a Point.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ParagraphTextElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Text" type="xs:string" />
              <xs:element minOccurs="0" name="Scale" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Should have been boolean type. Indicates if the text scales with the map.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
              <xs:element name="TextGeometry" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a .</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FrameBorder" type="Border">
                <xs:annotation>
                  <xs:documentation>Frame border used by this element.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FrameBackground" type="Background">
                <xs:annotation>
                  <xs:documentation>Frame background used by this element.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FrameShadow" type="Shadow">
                <xs:annotation>
                  <xs:documentation>"Frame shadow used by this element.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ColumnGap" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Gap between columns in points.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="ColumnCount" type="xs:int">
                <xs:annotation>
                  <xs:documentation>Number of columns.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Margin" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Value for the margin.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolygonElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
              <xs:element name="Polygon" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the bounds has a fixed aspect ratio.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RectangleElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element name="Rectangle" type="Geometry">
                <xs:annotation>
                  <xs:documentation>Shape of the element as a geometry, in this case it is a Polygon.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
              <xs:element minOccurs="0" name="FixedAspectRatio" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the bounds has a fixed aspect ratio.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TextElement">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="GraphicElement">
            <xs:sequence>
              <xs:element minOccurs="0" name="Name" type="xs:string" />
              <xs:element minOccurs="0" name="Type" type="xs:string" />
              <xs:element minOccurs="0" name="AutoTransform" type="xs:boolean" />
              <xs:element minOccurs="0" name="ReferenceScale" type="xs:double" />
              <xs:element minOccurs="0" name="Text" type="xs:string" />
              <xs:element minOccurs="0" name="Scale" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the text scales with the map.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Symbol" type="Symbol" />
              <xs:element name="TextGeometry" type="Geometry" />
              <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Patch">
        <xs:annotation>
          <xs:documentation>legend patch.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" type="xs:string" />
          <xs:element minOccurs="0" name="PreserveAspectRatio" type="xs:boolean" />
          <xs:element minOccurs="0" name="Geometry" type="Geometry">
            <xs:annotation>
              <xs:documentation>Patch geometry sized to fit the specified bounds.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriRotationType">
        <xs:annotation>
          <xs:documentation>Marker symbol rotation options.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRotateSymbolGeographic">
            <xs:annotation>
              <xs:documentation>Clockwise rotation with 0 at the positive y-axis.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriRotateSymbolArithmetic">
            <xs:annotation>
              <xs:documentation>Counter clockwise rotation with 0 at the positive x-axis.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNormalizationType">
        <xs:annotation>
          <xs:documentation>Various methods to normalize Data.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNormalizeByField">
            <xs:annotation>
              <xs:documentation>Normalize by field.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByLog">
            <xs:annotation>
              <xs:documentation>Normalize by Log.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByPercentOfTotal">
            <xs:annotation>
              <xs:documentation>Normalize by percent of total.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByArea">
            <xs:annotation>
              <xs:documentation>Normalize by area.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNormalizeByNothing">
            <xs:annotation>
              <xs:documentation>Do not Normalize.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="FeatureRenderer" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="UniqueValueInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Value" type="xs:string" />
          <xs:element minOccurs="0" name="Label" type="xs:string" />
          <xs:element minOccurs="0" name="Description" type="xs:string" />
          <xs:element minOccurs="0" name="Symbol" type="Symbol" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ClassBreakInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="ClassMaximumValue" type="xs:double" />
          <xs:element minOccurs="0" name="Label" type="xs:string" />
          <xs:element minOccurs="0" name="Description" type="xs:string" />
          <xs:element name="Symbol" type="Symbol" />
          <xs:element name="ClassMinimumValue" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfClassBreakInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ClassBreakInfo" type="ClassBreakInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfUniqueValueInfo">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="UniqueValueInfo" type="UniqueValueInfo" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SimpleRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FeatureRenderer">
            <xs:sequence>
              <xs:element name="Symbol" type="Symbol" />
              <xs:element minOccurs="0" name="Label" type="xs:string" />
              <xs:element minOccurs="0" name="Description" type="xs:string" />
              <xs:element minOccurs="0" name="RotationField" type="xs:string" />
              <xs:element minOccurs="0" name="RotationType" type="esriRotationType" />
              <xs:element minOccurs="0" name="TransparencyField" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="UniqueValueRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FeatureRenderer">
            <xs:sequence>
              <xs:element name="Field1" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The first field that contains the values to symbolize.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Field2" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The second value that will be used to create all unique combinations of unique values with the first value field.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Field3" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The third value that will be used to create all unique combinations of unique values with the two value fields you choose.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FieldDelimiter" type="xs:string" />
              <xs:element minOccurs="0" name="DefaultSymbol" type="Symbol" />
              <xs:element minOccurs="0" name="DefaultLabel" type="xs:string" />
              <xs:element minOccurs="0" name="UniqueValueInfos" type="ArrayOfUniqueValueInfo">
                <xs:annotation>
                  <xs:documentation>
                A collection of UniqueValueInfo objects.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="RotationField" type="xs:string" />
              <xs:element minOccurs="0" name="RotationType" type="esriRotationType" />
              <xs:element minOccurs="0" name="TransparencyField" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ClassBreaksRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FeatureRenderer">
            <xs:sequence>
              <xs:element name="Field" type="xs:string" />
              <xs:element name="MinimumValue" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Minimum break, i.e. the lower bound of the first class.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="ClassBreakInfos" type="ArrayOfClassBreakInfo">
                <xs:annotation>
                  <xs:documentation>
                A collection of ClassBreakInfo objects.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="BackgroundSymbol" type="FillSymbol" />
              <xs:element minOccurs="0" name="NormalizationField" type="xs:string" />
              <xs:element minOccurs="0" name="NormalizationType" type="esriNormalizationType" />
              <xs:element minOccurs="0" name="NormalizationTotal" type="xs:double" />
              <xs:element minOccurs="0" name="RotationField" type="xs:string" />
              <xs:element minOccurs="0" name="RotationType" type="esriRotationType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LabelingDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="LabelClassDescriptions" type="ArrayOfLabelClassDescription" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriServerPointLabelPlacementType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriServerPointLabelPlacementAboveCenter" />
          <xs:enumeration value="esriServerPointLabelPlacementAboveLeft" />
          <xs:enumeration value="esriServerPointLabelPlacementAboveRight" />
          <xs:enumeration value="esriServerPointLabelPlacementBelowCenter" />
          <xs:enumeration value="esriServerPointLabelPlacementBelowLeft" />
          <xs:enumeration value="esriServerPointLabelPlacementBelowRight" />
          <xs:enumeration value="esriServerPointLabelPlacementCenterCenter" />
          <xs:enumeration value="esriServerPointLabelPlacementCenterLeft" />
          <xs:enumeration value="esriServerPointLabelPlacementCenterRight" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriServerLineLabelPlacementType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriServerLinePlacementAboveAfter" />
          <xs:enumeration value="esriServerLinePlacementAboveAlong" />
          <xs:enumeration value="esriServerLinePlacementAboveBefore" />
          <xs:enumeration value="esriServerLinePlacementAboveStart" />
          <xs:enumeration value="esriServerLinePlacementAboveEnd" />
          <xs:enumeration value="esriServerLinePlacementBelowAfter" />
          <xs:enumeration value="esriServerLinePlacementBelowAlong" />
          <xs:enumeration value="esriServerLinePlacementBelowBefore" />
          <xs:enumeration value="esriServerLinePlacementBelowStart" />
          <xs:enumeration value="esriServerLinePlacementBelowEnd" />
          <xs:enumeration value="esriServerLinePlacementCenterAfter" />
          <xs:enumeration value="esriServerLinePlacementCenterAlong" />
          <xs:enumeration value="esriServerLinePlacementCenterBefore" />
          <xs:enumeration value="esriServerLinePlacementCenterStart" />
          <xs:enumeration value="esriServerLinePlacementCenterEnd" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriServerPolygonLabelPlacementType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriServerPolygonPlacementAlwaysHorizontal" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="LabelPlacementDescription" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="PointLabelPlacementDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LabelPlacementDescription">
            <xs:sequence>
              <xs:element name="Type" type="esriServerPointLabelPlacementType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LineLabelPlacementDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LabelPlacementDescription">
            <xs:sequence>
              <xs:element name="Type" type="esriServerLineLabelPlacementType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolygonLabelPlacementDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LabelPlacementDescription">
            <xs:sequence>
              <xs:element name="Type" type="esriServerPolygonLabelPlacementType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LabelClassDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="LabelPlacementDescription" type="LabelPlacementDescription" />
          <xs:element minOccurs="0" name="LabelExpression" type="xs:string" />
          <xs:element minOccurs="0" name="Symbol" type="SimpleTextSymbol" />
          <xs:element minOccurs="0" name="UseCodedValue" type="xs:boolean" />
          <xs:element minOccurs="0" name="MaximumScale" type="xs:double" />
          <xs:element minOccurs="0" name="MinimumScale" type="xs:double" />
          <xs:element minOccurs="0" name="LabelExpressionType" type="esriLabelExpressionType" />
          <xs:element minOccurs="0" name="WhereClause" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfLabelClassDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="LabelClassDescription" type="LabelClassDescription" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LayerDrawingDescription" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="FeatureLayerDrawingDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LayerDrawingDescription">
            <xs:sequence>
              <xs:element minOccurs="0" name="FeatureRenderer" type="FeatureRenderer" />
              <xs:element minOccurs="0" name="ScaleSymbols" type="xs:boolean" />
              <xs:element minOccurs="0" name="Transparency" type="xs:short" />
              <xs:element minOccurs="0" name="Brightness" type="xs:short" />
              <xs:element minOccurs="0" name="Contrast" type="xs:short" />
              <xs:element minOccurs="0" name="LabelingDescription" type="LabelingDescription" />
              <xs:element minOccurs="0" name="SourceLayerID" type="xs:int" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfLegendClass">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="LegendClass" type="LegendClass" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="LegendGroup">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Visible" type="xs:boolean" />
          <xs:element name="Editable" type="xs:boolean" />
          <xs:element name="Heading" type="xs:string" />
          <xs:element minOccurs="0" name="LegendClasses" type="ArrayOfLegendClass" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfLegendGroup">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="LegendGroup" type="LegendGroup" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ImageQueryFilter">
        <xs:annotation>
          <xs:documentation>Esri Image Query Filter Object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="TimeQueryFilter">
            <xs:sequence>
              <xs:element name="PixelSize" type="Point" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterLayerDrawingDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LayerDrawingDescription">
            <xs:sequence>
              <xs:element minOccurs="0" name="RasterRenderer" type="RasterRenderer" />
              <xs:element minOccurs="0" name="Transparency" type="xs:short" />
              <xs:element minOccurs="0" name="Brightness" type="xs:short" />
              <xs:element minOccurs="0" name="Contrast" type="xs:short" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterRenderer" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Indexed" type="xs:boolean" />
          <xs:element minOccurs="0" name="Brightness" type="xs:int" />
          <xs:element minOccurs="0" name="Contrast" type="xs:int" />
          <xs:element minOccurs="0" name="ResamplingType" type="xs:string" />
          <xs:element minOccurs="0" name="NoDataColor" type="Color" />
          <xs:element minOccurs="0" name="NoDataValue" type="ArrayOfDouble" />
          <xs:element minOccurs="0" name="AlphaBandIndex" type="xs:int" />
          <xs:element minOccurs="0" name="UseAlphaBand" type="xs:boolean" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RasterUniqueValueRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterRenderer">
            <xs:sequence>
              <xs:element minOccurs="0" name="ValueField" type="xs:string" />
              <xs:element minOccurs="0" name="ClassField" type="xs:string" />
              <xs:element minOccurs="0" name="ColorSchema" type="xs:string" />
              <xs:element minOccurs="0" name="UseDefaultSymbol" type="xs:boolean" />
              <xs:element minOccurs="0" name="DefaultSymbol" type="Symbol" />
              <xs:element minOccurs="0" name="DefaultLabel" type="xs:string" />
              <xs:element minOccurs="0" name="LegendGroupsCount" type="xs:int" />
              <xs:element minOccurs="0" name="LegendGroups" type="ArrayOfLegendGroup" />
              <xs:element minOccurs="0" name="ClassValuesCount" type="xs:int" />
              <xs:element minOccurs="0" name="ClassesInLegend" type="ArrayOfInt" />
              <xs:element minOccurs="0" name="ClassesInLegendSize" type="ArrayOfInt" />
              <xs:element minOccurs="0" name="UniqueValueVariants" type="ArrayOfValue" />
              <xs:element minOccurs="0" name="Global" type="xs:boolean" />
              <xs:element minOccurs="0" name="UniqueValues" type="RasterUniqueValues" />
              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterRGBRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterRenderer">
            <xs:sequence>
              <xs:element minOccurs="0" name="LayerIndex1" type="xs:int" />
              <xs:element minOccurs="0" name="LayerIndex2" type="xs:int" />
              <xs:element minOccurs="0" name="LayerIndex3" type="xs:int" />
              <xs:element minOccurs="0" name="UseRGBBand" type="xs:unsignedByte" />
              <xs:element minOccurs="0" name="StretchType" type="xs:string" />
              <xs:element minOccurs="0" name="StandardDeviations" type="xs:double" />
              <xs:element minOccurs="0" name="IsInvert" type="xs:boolean" />
              <xs:element minOccurs="0" name="DisplayBkValue" type="xs:boolean" />
              <xs:element minOccurs="0" name="BlackValue" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="IsLegendExpand" type="xs:boolean" />
              <xs:element minOccurs="0" name="BkColor" type="Color" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterStretchRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterRenderer">
            <xs:sequence>
              <xs:element minOccurs="0" name="ColorSchema" type="xs:string" />
              <xs:element minOccurs="0" name="LayerIndex1" type="xs:int" />
              <xs:element minOccurs="0" name="StretchType" type="xs:string" />
              <xs:element minOccurs="0" name="StandardDeviations" type="xs:double" />
              <xs:element minOccurs="0" name="IsInvert" type="xs:boolean" />
              <xs:element minOccurs="0" name="BlackValue" type="xs:double" />
              <xs:element minOccurs="0" name="ColorRamp" type="ColorRamp" />
              <xs:element minOccurs="0" name="BkColor" type="Color" />
              <xs:element minOccurs="0" name="LegendGroup" type="LegendGroup" />
              <xs:element minOccurs="0" name="DisplayBkValue" type="xs:boolean" />
              <xs:element minOccurs="0" name="InitCustomMinMax" type="xs:boolean" />
              <xs:element minOccurs="0" name="UseCustomMinMax" type="xs:boolean" />
              <xs:element minOccurs="0" name="CustomMin" type="xs:double" />
              <xs:element minOccurs="0" name="CustomMax" type="xs:double" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterClassifyRenderer">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="RasterRenderer">
            <xs:sequence>
              <xs:element minOccurs="0" name="ClassField" type="xs:string" />
              <xs:element minOccurs="0" name="NormField" type="xs:string" />
              <xs:element minOccurs="0" name="ClassificationComponent" type="xs:boolean" />
              <xs:element minOccurs="0" name="Guid" type="xs:string" />
              <xs:element minOccurs="0" name="ColorSchema" type="xs:string" />
              <xs:element minOccurs="0" name="LegendGroupsCount" type="xs:int" />
              <xs:element minOccurs="0" name="LegendGroups" type="ArrayOfLegendGroup" />
              <xs:element minOccurs="0" name="BreakSize" type="xs:int" />
              <xs:element minOccurs="0" name="ArrayOfBreak" type="ArrayOfDouble" />
              <xs:element minOccurs="0" name="Ascending" type="xs:boolean" />
              <xs:element minOccurs="0" name="NumberFormat" type="NumericFormat" />
              <xs:element minOccurs="0" name="ShowClassGaps" type="xs:boolean" />
              <xs:element minOccurs="0" name="DeviationInterval" type="xs:double" />
              <xs:element minOccurs="0" name="ExlusionValues" type="xs:anyType" />
              <xs:element minOccurs="0" name="ExclusionRanges" type="xs:anyType" />
              <xs:element minOccurs="0" name="ExclusionShowClass" type="xs:boolean" />
              <xs:element minOccurs="0" name="ExclusionLegendClass" type="LegendClass" />
              <xs:element minOccurs="0" name="UniqueValues" type="RasterUniqueValues" />
              <xs:element minOccurs="0" name="UseHillShader" type="xs:boolean" />
              <xs:element minOccurs="0" name="ZScale" type="xs:double" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MapTableDescription" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="MapServerSourceDescription" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:complexType name="DataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapServerSourceDescription">
            <xs:sequence>
              <xs:element name="WorkspaceID" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TableDataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataSourceDescription">
            <xs:sequence>
              <xs:element name="TableName" type="xs:string" />
              <xs:element name="VersionName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="QueryTableDataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataSourceDescription">
            <xs:sequence>
              <xs:element name="Query" type="xs:string" />
              <xs:element name="OIDFields" type="xs:string" />
              <xs:element name="GeometryType" type="esriGeometryType" />
              <xs:element name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterDataSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="DataSourceDescription">
            <xs:sequence>
              <xs:element name="RasterName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MapTableSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapServerSourceDescription">
            <xs:sequence>
              <xs:element name="MapTableID" type="xs:int" />
              <xs:element minOccurs="0" name="VersionName" type="xs:string" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="JoinTableSourceDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapServerSourceDescription">
            <xs:sequence>
              <xs:element name="LeftSourceDescription" type="MapServerSourceDescription" />
              <xs:element name="RightSourceDescription" type="MapServerSourceDescription" />
              <xs:element name="LeftTableKey" type="xs:string" />
              <xs:element name="RightTableKey" type="xs:string" />
              <xs:element minOccurs="0" name="JoinType" type="esriJoinType" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="StandaloneTableDescription">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MapTableDescription">
            <xs:sequence>
              <xs:element name="ID" type="xs:int">
                <xs:annotation>
                  <xs:documentation>The table ID. This is a unique ID for the table, and is used to identify the table in a number of method calls.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="DefinitionExpression" type="xs:string" />
              <xs:element minOccurs="0" name="SourceID" type="xs:string" />
              <xs:element minOccurs="0" name="UseTime" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeDataCumulative" type="xs:boolean" />
              <xs:element minOccurs="0" name="TimeOffset" type="xs:double" />
              <xs:element minOccurs="0" name="TimeOffsetUnits" type="esriTimeUnits" />
              <xs:element minOccurs="0" name="Source" type="MapServerSourceDescription" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriTimeRelation">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTimeRelationOverlaps" />
          <xs:enumeration value="esriTimeRelationOverlapsStartWithinEnd" />
          <xs:enumeration value="esriTimeRelationAfterStartOverlapsEnd" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="TimeQueryFilter">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="SpatialFilter">
            <xs:sequence>
              <xs:element name="TimeValue" type="TimeValue" />
              <xs:element name="OutputTimeReference" type="TimeReference" />
              <xs:element name="TimeRelation" type="esriTimeRelation" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriLabelExpressionType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriLabelExpressionSimple" />
          <xs:enumeration value="esriLabelExpressionPython" />
          <xs:enumeration value="esriLabelExpressionVBScript" />
          <xs:enumeration value="esriLabelExpressionJScript" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="Color" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="UseWindowsDithering" type="xs:boolean" />
          <xs:element minOccurs="0" name="AlphaValue" type="xs:unsignedByte">
            <xs:annotation>
              <xs:documentation>The Alpha Blending value. (0 for transparent, 255 for opaque).</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GrayColor">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="GrayLevel" type="xs:unsignedByte" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RgbColor">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Red" type="xs:unsignedByte" />
              <xs:element name="Green" type="xs:unsignedByte" />
              <xs:element name="Blue" type="xs:unsignedByte" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CmykColor">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Cyan" type="xs:unsignedByte" />
              <xs:element name="Magenta" type="xs:unsignedByte" />
              <xs:element name="Yellow" type="xs:unsignedByte" />
              <xs:element name="Black" type="xs:unsignedByte" />
              <xs:element name="Overprint" type="xs:boolean" />
              <xs:element name="IsSpot" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the color is a spot color.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="SpotDescription" type="xs:string" />
              <xs:element name="SpotPercent" type="xs:short">
                <xs:annotation>
                  <xs:documentation>The saturation of the spot plate.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="HlsColor">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Hue" type="xs:short" />
              <xs:element name="Lightness" type="xs:unsignedByte" />
              <xs:element name="Saturation" type="xs:unsignedByte" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="HsvColor">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Color">
            <xs:sequence>
              <xs:element name="Hue" type="xs:short" />
              <xs:element name="Saturation" type="xs:unsignedByte" />
              <xs:element name="Value" type="xs:unsignedByte" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Symbol" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence />
      </xs:complexType>
      <xs:simpleType name="esriSimpleFillStyle">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSFSSolid" />
          <xs:enumeration value="esriSFSNull" />
          <xs:enumeration value="esriSFSHorizontal" />
          <xs:enumeration value="esriSFSVertical" />
          <xs:enumeration value="esriSFSForwardDiagonal" />
          <xs:enumeration value="esriSFSBackwardDiagonal" />
          <xs:enumeration value="esriSFSCross" />
          <xs:enumeration value="esriSFSDiagonalCross" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSimpleLineStyle">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSLSSolid" />
          <xs:enumeration value="esriSLSDash" />
          <xs:enumeration value="esriSLSDot" />
          <xs:enumeration value="esriSLSDashDot" />
          <xs:enumeration value="esriSLSDashDotDot" />
          <xs:enumeration value="esriSLSNull" />
          <xs:enumeration value="esriSLSInsideFrame" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSimpleMarkerStyle">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSMSCircle" />
          <xs:enumeration value="esriSMSSquare" />
          <xs:enumeration value="esriSMSCross" />
          <xs:enumeration value="esriSMSX" />
          <xs:enumeration value="esriSMSDiamond" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextHorizontalAlignment">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTHALeft" />
          <xs:enumeration value="esriTHACenter" />
          <xs:enumeration value="esriTHARight" />
          <xs:enumeration value="esriTHAFull" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextVerticalAlignment">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTVATop" />
          <xs:enumeration value="esriTVACenter" />
          <xs:enumeration value="esriTVABaseline" />
          <xs:enumeration value="esriTVABottom" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextPosition">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTPNormal" />
          <xs:enumeration value="esriTPSuperscript" />
          <xs:enumeration value="esriTPSubscript" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextCase">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTCNormal" />
          <xs:enumeration value="esriTCLowercase" />
          <xs:enumeration value="esriTCAllCaps" />
          <xs:enumeration value="esriTCSmallCaps" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTextDirection">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTDHorizontal" />
          <xs:enumeration value="esriTDAngle" />
          <xs:enumeration value="esriTDVertical" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriMaskStyle">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriMSNone" />
          <xs:enumeration value="esriMSHalo" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="SimpleFillSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FillSymbol">
            <xs:sequence>
              <xs:element name="Style" type="esriSimpleFillStyle" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SimpleLineSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="LineSymbol">
            <xs:sequence>
              <xs:element name="Style" type="esriSimpleLineStyle" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="SimpleMarkerSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MarkerSymbol">
            <xs:sequence>
              <xs:element name="Outline" type="xs:boolean" />
              <xs:element name="OutlineSize" type="xs:double" />
              <xs:element name="OutlineColor" type="Color" />
              <xs:element name="Style" type="esriSimpleMarkerStyle" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriFontStyle">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="normal" />
          <xs:enumeration value="italic" />
          <xs:enumeration value="oblique" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriFontWeight">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="normal" />
          <xs:enumeration value="bold" />
          <xs:enumeration value="bolder" />
          <xs:enumeration value="lighter" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriFontDecoration">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="none" />
          <xs:enumeration value="underline" />
          <xs:enumeration value="line-through" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSimpleTextVerticalAlignment">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="top" />
          <xs:enumeration value="middle" />
          <xs:enumeration value="baseline" />
          <xs:enumeration value="bottom" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSimpleTextHorizontalAlignment">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="left" />
          <xs:enumeration value="center" />
          <xs:enumeration value="right" />
          <xs:enumeration value="justified" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="SimpleTextSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Symbol">
            <xs:sequence>
              <xs:element minOccurs="0" name="Color" type="Color">
                <xs:annotation>
                  <xs:documentation>Text color."</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="BackgroundColor" type="Color" />
              <xs:element minOccurs="0" name="OutlineColor" type="Color" />
              <xs:element minOccurs="0" name="VerticalAlignment" type="esriSimpleTextVerticalAlignment">
                <xs:annotation>
                  <xs:documentation>Vertical alignment style.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="HorizontalAlignment" type="esriSimpleTextHorizontalAlignment">
                <xs:annotation>
                  <xs:documentation>Horizontal alignment style.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" default="false" name="RightToLeft" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the text is drawn from right to left.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" default="0.0" name="Angle" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Text baseline angle.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" default="0.0" name="XOffset" type="xs:double" />
              <xs:element minOccurs="0" default="0.0" name="YOffset" type="xs:double" />
              <xs:element minOccurs="0" name="Size" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Text size.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontFamilyName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The name of the font family.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontStyle" type="esriFontStyle">
                <xs:annotation>
                  <xs:documentation>The font style.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontWeight" type="esriFontWeight">
                <xs:annotation>
                  <xs:documentation>
                The boldness or weight of the font.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontDecoration" type="esriFontDecoration" />
              <xs:element minOccurs="0" name="OutlineWidth" type="xs:double" />
              <xs:element minOccurs="0" name="Kerning" type="xs:boolean" />
              <xs:element minOccurs="0" name="MaskStyle" type="esriMaskStyle" />
              <xs:element minOccurs="0" name="MaskSize" type="xs:int" />
              <xs:element minOccurs="0" name="MaskSymbol" type="Symbol" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TextSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Symbol">
            <xs:sequence>
              <xs:element minOccurs="0" name="Color" type="Color">
                <xs:annotation>
                  <xs:documentation>Text color."</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="BreakCharIndex" type="xs:int">
                <xs:annotation>
                  <xs:documentation>Character to be interpreted as text line end.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="VerticalAlignment" type="esriTextVerticalAlignment">
                <xs:annotation>
                  <xs:documentation>Vertical alignment style.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="HorizontalAlignment" type="esriTextHorizontalAlignment">
                <xs:annotation>
                  <xs:documentation>Horizontal alignment style.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Clip" type="xs:boolean" />
              <xs:element name="RightToLeft" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates if the text is drawn from right to left.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Angle" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Text baseline angle.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="XOffset" type="xs:double" />
              <xs:element name="YOffset" type="xs:double" />
              <xs:element minOccurs="0" name="ShadowColor" type="Color" />
              <xs:element name="ShadowXOffset" type="xs:double" />
              <xs:element name="ShadowYOffset" type="xs:double" />
              <xs:element name="TextPosition" type="esriTextPosition">
                <xs:annotation>
                  <xs:documentation>The text position.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="TextCase" type="esriTextCase">
                <xs:annotation>
                  <xs:documentation>The text case.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CharacterSpacing" type="xs:double" />
              <xs:element default="100.0" name="CharacterWidth" type="xs:double" />
              <xs:element default="100.0" name="WordSpacing" type="xs:double" />
              <xs:element name="Kerning" type="xs:boolean" />
              <xs:element name="Leading" type="xs:double" />
              <xs:element name="TextDirection" type="esriTextDirection">
                <xs:annotation>
                  <xs:documentation>The text direction.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="FlipAngle" type="xs:double" />
              <xs:element name="TypeSetting" type="xs:boolean" />
              <xs:element minOccurs="0" name="TextPathClass" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Path of text baseline.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FillSymbol" type="Symbol" />
              <xs:element name="Text" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Text to draw.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Size" type="xs:double">
                <xs:annotation>
                  <xs:documentation>Text size.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="MaskStyle" type="esriMaskStyle" />
              <xs:element name="MaskSize" type="xs:double" />
              <xs:element minOccurs="0" name="MaskSymbol" type="Symbol" />
              <xs:element minOccurs="0" name="FontName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The name of the font family.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontItalic" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates whether the font is italicized.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontUnderline" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates whether the font is underlined.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontStrikethrough" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>
                Indicates whether the font is strikethrough.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontWeight" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                The boldness or weight of the font.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontCharset" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                The character set used in the font, such as ANSI_CHARSET, DEFAULT_CHARSET, or SYMBOL_CHARSET.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontSizeHi" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                Point size of the font expressed in a 64-bit CY variable whose upper 32-bits contains the integer point size.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontSizeLo" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                Point size of the font expressed in a 64-bit CY variable whose lower 32-bits contains the fractional point size.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="TextParserClass" type="xs:string">
                <xs:annotation>
                  <xs:documentation>Text Parser Class ID</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CharacterMarkerSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="CartographicMarkerSymbol">
            <xs:sequence>
              <xs:element name="CharacterIndex" type="xs:int" />
              <xs:element minOccurs="0" name="FontName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The name of the font family.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontItalic" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>
                Indicates whether the font is italicized.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontUnderline" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>
                Indicates whether the font is underlined.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontStrikethrough" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>
                Indicates whether the font is strikethrough.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontWeight" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                The boldness or weight of the font.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontCharset" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                The character set used in the font, such as ANSI_CHARSET, DEFAULT_CHARSET, or SYMBOL_CHARSET.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontSizeHi" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                Point size of the font expressed in a 64-bit CY variable whose upper 32-bits contains the integer point size.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FontSizeLo" type="xs:int">
                <xs:annotation>
                  <xs:documentation>
                Point size of the font expressed in a 64-bit CY variable whose lower 32-bits contains the fractional point size.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PictureMarkerSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="CartographicMarkerSymbol">
            <xs:sequence>
              <xs:element minOccurs="0" name="BgColor" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Background color of the picture for 1 bit images.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="BitmapTransColor" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Color within bitmap indicating transparency.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Picture" type="xs:base64Binary" />
              <xs:element minOccurs="0" name="PictureUri" type="xs:string" />
              <xs:element minOccurs="0" name="Width" type="xs:double" />
              <xs:element minOccurs="0" name="FgColor" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Foreground color of the picture for 1 bit images.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Swap1BitColor" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>
                Indicates if foreground and background colors are swapped on 1 Bit Images Only.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PictureFillSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FillSymbol">
            <xs:sequence>
              <xs:element minOccurs="0" name="Picture" type="xs:base64Binary" />
              <xs:element minOccurs="0" name="PictureUri" type="xs:string" />
              <xs:element minOccurs="0" name="Width" type="xs:double" />
              <xs:element minOccurs="0" name="Height" type="xs:double" />
              <xs:element minOccurs="0" name="BgColor" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Fill background color.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="FgColor" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Fill foreground color.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="BitmapTransColor" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Color within bitmap indicating transparency.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="XSeparation" type="xs:double" />
              <xs:element minOccurs="0" name="YSeparation" type="xs:double" />
              <xs:element minOccurs="0" name="Swap1BitColor" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>
                Indicates if the foreground and background colors are swapped on 1 Bit Images Only.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Angle" type="xs:double" />
              <xs:element minOccurs="0" name="XOffset" type="xs:double" />
              <xs:element minOccurs="0" name="YOffset" type="xs:double" />
              <xs:element minOccurs="0" default="1.0" name="XScale" type="xs:double" />
              <xs:element minOccurs="0" default="1.0" name="YScale" type="xs:double" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="FillSymbol" abstract="true">
        <xs:annotation>
          <xs:documentation>
        Fill Sybmol Properties.
      </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Symbol">
            <xs:sequence>
              <xs:element minOccurs="0" name="Color" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Fill color.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Outline" type="LineSymbol">
                <xs:annotation>
                  <xs:documentation>
                Line symbol of fill outline.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="LineSymbol" abstract="true">
        <xs:annotation>
          <xs:documentation>
        Line Symbol properties.
      </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Symbol">
            <xs:sequence>
              <xs:element minOccurs="0" name="Color" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Line symbol color.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Width" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Line symbol width.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MarkerSymbol" abstract="true">
        <xs:annotation>
          <xs:documentation>
        Marker Symbol Properties.
      </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Symbol">
            <xs:sequence>
              <xs:element name="Angle" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Marker symbol angle.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element minOccurs="0" name="Color" type="Color">
                <xs:annotation>
                  <xs:documentation>
                Marker symbol color.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Size" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Marker symbol size.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="XOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Symbol X-axis offset from point location.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="YOffset" type="xs:double">
                <xs:annotation>
                  <xs:documentation>
                Symbol Y-axis offset from point location.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CartographicMarkerSymbol" abstract="true">
        <xs:annotation>
          <xs:documentation>
        Cartographic marker symbol properties.
      </xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MarkerSymbol">
            <xs:sequence>
              <xs:element default="1.0" name="XScale" type="xs:double" />
              <xs:element default="1.0" name="YScale" type="xs:double" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="XMLBinarySymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Symbol">
            <xs:sequence>
              <xs:element name="Data" type="XMLPersistedObject" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="XMLBinaryFillSymbol">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FillSymbol">
            <xs:sequence>
              <xs:element name="Data" type="XMLPersistedObject" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfColor">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Color" type="Color" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ColorRamp" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Name" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfColorRamp">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="ColorRamp" type="ColorRamp" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="AlgorithmicColorRamp">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="ColorRamp">
            <xs:sequence>
              <xs:element minOccurs="0" name="Algorithm" type="xs:string" />
              <xs:element minOccurs="0" name="FromColor" type="HsvColor" />
              <xs:element minOccurs="0" name="ToColor" type="HsvColor" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RandomColorRamp">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="ColorRamp">
            <xs:sequence>
              <xs:element minOccurs="0" name="NumColors" type="xs:int" />
              <xs:element minOccurs="0" name="UseSeed" type="xs:boolean" />
              <xs:element minOccurs="0" name="Seed" type="xs:int" />
              <xs:element minOccurs="0" name="MinValue" type="xs:short" />
              <xs:element minOccurs="0" name="MaxValue" type="xs:short" />
              <xs:element minOccurs="0" name="MinSaturation" type="xs:short" />
              <xs:element minOccurs="0" name="MaxSaturation" type="xs:short" />
              <xs:element minOccurs="0" name="StartHue" type="xs:short" />
              <xs:element minOccurs="0" name="EndHue" type="xs:short" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PresetColorRamp">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="ColorRamp">
            <xs:sequence>
              <xs:element minOccurs="0" name="NumColors" type="xs:int" />
              <xs:element minOccurs="0" name="PresetSize" type="xs:int" />
              <xs:element minOccurs="0" name="Colors" type="ArrayOfColor" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultiPartColorRamp">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="ColorRamp">
            <xs:sequence>
              <xs:element minOccurs="0" name="NumColorRamps" type="xs:int" />
              <xs:element minOccurs="0" name="ColorRamps" type="ArrayOfColorRamp" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterUniqueValues">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="UniqueValuesSize" type="xs:int" />
          <xs:element minOccurs="0" name="Values" type="ArrayOfValue" />
          <xs:element minOccurs="0" name="Counts" type="ArrayOfInt" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="PropertySetProperty">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Key" type="xs:string" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfPropertySetProperty">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertySetProperty" type="PropertySetProperty" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="PropertySet">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="PropertyArray" type="ArrayOfPropertySetProperty" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfPropertySet">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertySet" type="PropertySet" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="XMLPersistedObject">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Bytes" type="xs:base64Binary" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="NumericFormat">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="RoundingOption" type="esriRoundingOptionEnum" />
          <xs:element minOccurs="0" name="RoundingValue" type="xs:int" />
          <xs:element minOccurs="0" name="AlignmentOption" type="esriNumericAlignmentEnum" />
          <xs:element minOccurs="0" name="AlignmentWidth" type="xs:int" />
          <xs:element minOccurs="0" name="UseSeparator" type="xs:boolean" />
          <xs:element minOccurs="0" name="ZeroPad" type="xs:boolean" />
          <xs:element minOccurs="0" name="ShowPlus" type="xs:boolean" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfInt">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Int" type="xs:int" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfString">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="String" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfDouble">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Double" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriUnits">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriUnknownUnits" />
          <xs:enumeration value="esriInches" />
          <xs:enumeration value="esriPoints" />
          <xs:enumeration value="esriFeet" />
          <xs:enumeration value="esriYards" />
          <xs:enumeration value="esriMiles" />
          <xs:enumeration value="esriNauticalMiles" />
          <xs:enumeration value="esriMillimeters" />
          <xs:enumeration value="esriCentimeters" />
          <xs:enumeration value="esriMeters" />
          <xs:enumeration value="esriKilometers" />
          <xs:enumeration value="esriDecimalDegrees" />
          <xs:enumeration value="esriDecimeters" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriRoundingOptionEnum">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriRoundNumberOfDecimals" />
          <xs:enumeration value="esriRoundNumberOfSignificantDigits" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNumericAlignmentEnum">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriAlignRight" />
          <xs:enumeration value="esriAlignLeft" />
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriTimeUnits">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriTimeUnitsUnknown" />
          <xs:enumeration value="esriTimeUnitsMilliseconds" />
          <xs:enumeration value="esriTimeUnitsSeconds" />
          <xs:enumeration value="esriTimeUnitsMinutes" />
          <xs:enumeration value="esriTimeUnitsHours" />
          <xs:enumeration value="esriTimeUnitsDays" />
          <xs:enumeration value="esriTimeUnitsWeeks" />
          <xs:enumeration value="esriTimeUnitsMonths" />
          <xs:enumeration value="esriTimeUnitsYears" />
          <xs:enumeration value="esriTimeUnitsDecades" />
          <xs:enumeration value="esriTimeUnitsCenturies" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="TimeReference">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="TimeZoneNameID" type="xs:string" />
          <xs:element minOccurs="0" name="RespectsDaylightSavingTime" type="xs:boolean" />
          <xs:element minOccurs="0" name="RespectsDynamicAdjustmentRules" type="xs:boolean" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TimeValue">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="TimeReference" type="TimeReference" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TimeInstant">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="TimeValue">
            <xs:sequence>
              <xs:element name="Time" type="xs:dateTime" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TimeExtent">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="TimeValue">
            <xs:sequence>
              <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
              <xs:element minOccurs="0" name="EndTime" type="xs:dateTime" />
              <xs:element minOccurs="0" default="false" name="Empty" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriGeometryType">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriGeometryPoint" />
          <xs:enumeration value="esriGeometryMultipoint" />
          <xs:enumeration value="esriGeometryPolyline" />
          <xs:enumeration value="esriGeometryPolygon" />
          <xs:enumeration value="esriGeometryMultiPatch" />
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="GeoTransformation">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="WKT" type="xs:string" />
          <xs:element minOccurs="0" name="WKID" type="xs:int" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpatialReference" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="WKT" type="xs:string" />
          <xs:element minOccurs="0" name="XOrigin" type="xs:double" />
          <xs:element minOccurs="0" name="YOrigin" type="xs:double" />
          <xs:element minOccurs="0" name="XYScale" type="xs:double" />
          <xs:element minOccurs="0" name="ZOrigin" type="xs:double" />
          <xs:element minOccurs="0" name="ZScale" type="xs:double" />
          <xs:element minOccurs="0" name="MOrigin" type="xs:double" />
          <xs:element minOccurs="0" name="MScale" type="xs:double" />
          <xs:element minOccurs="0" name="XYTolerance" type="xs:double" />
          <xs:element minOccurs="0" name="ZTolerance" type="xs:double" />
          <xs:element minOccurs="0" name="MTolerance" type="xs:double" />
          <xs:element minOccurs="0" name="HighPrecision" type="xs:boolean" />
          <xs:element minOccurs="0" name="LeftLongitude" type="xs:double" />
          <xs:element minOccurs="0" name="WKID" type="xs:int" />
          <xs:element minOccurs="0" name="LatestWKID" type="xs:int" />
          <xs:element minOccurs="0" name="VCSWKID" type="xs:int" />
          <xs:element minOccurs="0" name="LatestVCSWKID" type="xs:int" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ProjectedCoordinateSystem">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="SpatialReference" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="GeographicCoordinateSystem">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="SpatialReference" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="UnknownCoordinateSystem">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="SpatialReference" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Geometry">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
      </xs:complexType>
      <xs:complexType name="Curve" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Segment" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Curve">
            <xs:sequence>
              <xs:element name="FromPoint" type="Point" />
              <xs:element name="ToPoint" type="Point" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Polycurve" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Curve" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Envelope" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EnvelopeN">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Envelope">
            <xs:sequence>
              <xs:element name="XMin" type="xs:double" />
              <xs:element name="YMin" type="xs:double" />
              <xs:element name="XMax" type="xs:double" />
              <xs:element name="YMax" type="xs:double" />
              <xs:element minOccurs="0" name="ZMin" type="xs:double" />
              <xs:element minOccurs="0" name="ZMax" type="xs:double" />
              <xs:element minOccurs="0" name="MMin" type="xs:double" />
              <xs:element minOccurs="0" name="MMax" type="xs:double" />
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EnvelopeB">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Envelope">
            <xs:sequence>
              <xs:element name="Bytes" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Point" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PointN">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Point">
            <xs:sequence>
              <xs:element name="X" type="xs:double" />
              <xs:element name="Y" type="xs:double" />
              <xs:element minOccurs="0" name="M" type="xs:double" />
              <xs:element minOccurs="0" name="Z" type="xs:double" />
              <xs:element minOccurs="0" name="ID" type="xs:int" />
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PointB">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Point">
            <xs:sequence>
              <xs:element name="Bytes" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Multipoint" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultipointB">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Multipoint">
            <xs:sequence>
              <xs:element name="Bytes" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultipointN">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Multipoint">
            <xs:sequence>
              <xs:element name="HasID" type="xs:boolean" />
              <xs:element name="HasZ" type="xs:boolean" />
              <xs:element name="HasM" type="xs:boolean" />
              <xs:element minOccurs="0" name="Extent" type="Envelope" />
              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Line">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Segment" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="EllipticArc">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Segment">
            <xs:sequence>
              <xs:element name="EllipseStd" type="xs:boolean" />
              <xs:element name="CenterPoint" type="Point" />
              <xs:element name="Rotation" type="xs:double" />
              <xs:element name="MinorMajorRatio" type="xs:double" />
              <xs:element name="IsCounterClockwise" type="xs:boolean" />
              <xs:element name="IsMinor" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CircularArc">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Segment">
            <xs:sequence>
              <xs:element name="CenterPoint" type="Point" />
              <xs:element minOccurs="0" name="FromAngle" type="xs:double" />
              <xs:element minOccurs="0" name="ToAngle" type="xs:double" />
              <xs:element name="IsCounterClockwise" type="xs:boolean" />
              <xs:element name="IsMinor" type="xs:boolean" />
              <xs:element name="IsLine" type="xs:boolean" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="BezierCurve">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Segment">
            <xs:sequence>
              <xs:element name="Degree" type="xs:int" />
              <xs:element name="ControlPointArray" type="ArrayOfPoint" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Path">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Curve">
            <xs:sequence>
              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />
              <xs:element minOccurs="0" name="SegmentArray" type="ArrayOfSegment" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Ring">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Path" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Polygon" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polycurve" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolygonN">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polygon">
            <xs:sequence>
              <xs:element name="HasID" type="xs:boolean" />
              <xs:element name="HasZ" type="xs:boolean" />
              <xs:element name="HasM" type="xs:boolean" />
              <xs:element minOccurs="0" name="Extent" type="Envelope" />
              <xs:element name="RingArray" type="ArrayOfRing" />
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolygonB">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polygon">
            <xs:sequence>
              <xs:element name="Bytes" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="Polyline" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polycurve" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolylineN">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polyline">
            <xs:sequence>
              <xs:element name="HasID" type="xs:boolean" />
              <xs:element name="HasZ" type="xs:boolean" />
              <xs:element name="HasM" type="xs:boolean" />
              <xs:element minOccurs="0" name="Extent" type="Envelope" />
              <xs:element name="PathArray" type="ArrayOfPath" />
              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="PolylineB">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Polyline">
            <xs:sequence>
              <xs:element name="Bytes" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfPoint">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Point" type="Point" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfPath">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Path" type="Path" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRing">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Ring" type="Ring" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfSegment">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Segment" type="Segment" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfPolyline">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Polyline" type="Polyline" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfPolygon">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Polygon" type="Polygon" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MultiPatch" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultiPatchB">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MultiPatch">
            <xs:sequence>
              <xs:element name="Bytes" type="xs:base64Binary" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="MultiPatchN">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="MultiPatch">
            <xs:sequence>
              <xs:element name="HasID" type="xs:boolean" />
              <xs:element name="HasZ" type="xs:boolean" />
              <xs:element name="HasM" type="xs:boolean" />
              <xs:element name="Extent" type="Envelope" />
              <xs:element name="SurfacePatchArray" type="ArrayOfSurfacePatch" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfSurfacePatch">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="SurfacePatch" type="Geometry" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Triangles">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry">
            <xs:sequence>
              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TriangleFan">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry">
            <xs:sequence>
              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="TriangleStrip">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Geometry">
            <xs:sequence>
              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:simpleType name="esriFieldType">
        <xs:annotation>
          <xs:documentation>Field Types.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriFieldTypeInteger">
            <xs:annotation>
              <xs:documentation>Long Integer.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeSmallInteger">
            <xs:annotation>
              <xs:documentation>Integer.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeDouble">
            <xs:annotation>
              <xs:documentation>Double-precision floating-point number.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeSingle">
            <xs:annotation>
              <xs:documentation>Single-precision floating-point number.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeString">
            <xs:annotation>
              <xs:documentation>Character string.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeDate">
            <xs:annotation>
              <xs:documentation>Date.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeGeometry">
            <xs:annotation>
              <xs:documentation>Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeOID">
            <xs:annotation>
              <xs:documentation>Long Integer representing an object identifier.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeBlob">
            <xs:annotation>
              <xs:documentation>Binary Large Object.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeGlobalID">
            <xs:annotation>
              <xs:documentation>Esri Global ID.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeRaster">
            <xs:annotation>
              <xs:documentation>Raster.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeGUID">
            <xs:annotation>
              <xs:documentation>Globally Unique Identifier.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriFieldTypeXML">
            <xs:annotation>
              <xs:documentation>XML Document</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNetworkDatasetState">
        <xs:annotation>
          <xs:documentation>States to indicate whether a network dataset has been or needs to be built.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNDSUnbuilt">
            <xs:annotation>
              <xs:documentation>The network dataset or its sources have been edited since the last time it was built.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNDSBuilt">
            <xs:annotation>
              <xs:documentation>The network dataset has been built.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNDSEmpty">
            <xs:annotation>
              <xs:documentation>The network dataset has no network sources or elements.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="GeometryDef">
        <xs:annotation>
          <xs:documentation>Esri Geometry Definition Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="AvgNumPoints" type="xs:int">
            <xs:annotation>
              <xs:documentation>Estimated average number of points per feature.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="GeometryType" type="esriGeometryType">
            <xs:annotation>
              <xs:documentation>The enumerated geometry type.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="HasM" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the feature class has measure (M) values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="HasZ" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the featureClass has Z values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="SpatialReference" type="SpatialReference">
            <xs:annotation>
              <xs:documentation>The spatial reference for the dataset.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="GridSize0" type="xs:double" />
          <xs:element minOccurs="0" name="GridSize1" type="xs:double" />
          <xs:element minOccurs="0" name="GridSize2" type="xs:double" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriMergePolicyType">
        <xs:annotation>
          <xs:documentation>Merge policy types.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriMPTSumValues">
            <xs:annotation>
              <xs:documentation>Sum the values merge policy.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriMPTAreaWeighted">
            <xs:annotation>
              <xs:documentation>Area weighted merge policy.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriMPTDefaultValue">
            <xs:annotation>
              <xs:documentation>Default value merge policy.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSplitPolicyType">
        <xs:annotation>
          <xs:documentation>Split policy types.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSPTGeometryRatio">
            <xs:annotation>
              <xs:documentation>Geometry-ratioed split policy.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSPTDuplicate">
            <xs:annotation>
              <xs:documentation>Duplicate split policy.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSPTDefaultValue">
            <xs:annotation>
              <xs:documentation>Default value split policy.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="Domain" abstract="true">
        <xs:annotation>
          <xs:documentation>
        Domain Properties control and their merge split policies control.
      </xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="DomainName" type="xs:string">
            <xs:annotation>
              <xs:documentation>
            The ID of the domain.
          </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="FieldType" type="esriFieldType">
            <xs:annotation>
              <xs:documentation>The field type of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="MergePolicy" type="esriMergePolicyType">
            <xs:annotation>
              <xs:documentation>The merge policy.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="SplitPolicy" type="esriSplitPolicyType">
            <xs:annotation>
              <xs:documentation>The split policy.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Description" type="xs:string">
            <xs:annotation>
              <xs:documentation>The description of the domain.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Owner" type="xs:string">
            <xs:annotation>
              <xs:documentation>The owner of the domain.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Field">
        <xs:annotation>
          <xs:documentation>Esri Field Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string">
            <xs:annotation>
              <xs:documentation>The name of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Type" type="esriFieldType">
            <xs:annotation>
              <xs:documentation>The type of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="IsNullable" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the field can contain null values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Length" type="xs:int">
            <xs:annotation>
              <xs:documentation>The maximum length, in bytes, for values described by the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Precision" type="xs:int">
            <xs:annotation>
              <xs:documentation>The precision for field values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Scale" type="xs:int">
            <xs:annotation>
              <xs:documentation>The scale for field values.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Required" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the field is required.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" default="true" name="Editable" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the field is editable.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="DomainFixed" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates if the field's domain is fixed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="GeometryDef" type="GeometryDef">
            <xs:annotation>
              <xs:documentation>The geometry definition for the field if IsGeometry is TRUE.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="AliasName" type="xs:string">
            <xs:annotation>
              <xs:documentation>The alias name of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="ModelName" type="xs:string">
            <xs:annotation>
              <xs:documentation>The model name of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="DefaultValue" type="xs:anyType">
            <xs:annotation>
              <xs:documentation>The default value of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Domain" type="Domain">
            <xs:annotation>
              <xs:documentation>The default domain of the field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="RasterDef" type="RasterDef">
            <xs:annotation>
              <xs:documentation>The raster column definition.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfField">
        <xs:annotation>
          <xs:documentation>Esri FieldArray object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Field" type="Field" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Fields">
        <xs:annotation>
          <xs:documentation>Esri Fields Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="FieldArray" type="ArrayOfField" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfValue">
        <xs:annotation>
          <xs:documentation>Esri Value Array Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Value" nillable="true" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Record">
        <xs:annotation>
          <xs:documentation>Esri Record Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Values" type="ArrayOfValue" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfRecord">
        <xs:annotation>
          <xs:documentation>Esri RecordArray object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Record" type="Record" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RecordSet">
        <xs:annotation>
          <xs:documentation>Esri RecordSet Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Fields" type="Fields">
            <xs:annotation>
              <xs:documentation>returns the fields for the recordset</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Records" type="ArrayOfRecord" />
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriSearchOrder">
        <xs:annotation>
          <xs:documentation>Spatial Filter Search Order.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSearchOrderSpatial">
            <xs:annotation>
              <xs:documentation>Spatial query is applied first.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSearchOrderAttribute">
            <xs:annotation>
              <xs:documentation>Attribute query is applied first.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriSpatialRelEnum">
        <xs:annotation>
          <xs:documentation>Queryable Spatial Relationships.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriSpatialRelUndefined">
            <xs:annotation>
              <xs:documentation>No Defined Spatial Relationship.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelIntersects">
            <xs:annotation>
              <xs:documentation>Query Geometry Intersects Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelEnvelopeIntersects">
            <xs:annotation>
              <xs:documentation>Envelope of Query Geometry Intersects Envelope of Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelIndexIntersects">
            <xs:annotation>
              <xs:documentation>Query Geometry Intersects Index entry for Target Geometry (Primary Index Filter).</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelTouches">
            <xs:annotation>
              <xs:documentation>Query Geometry Touches Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelOverlaps">
            <xs:annotation>
              <xs:documentation>Query Geometry Overlaps Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelCrosses">
            <xs:annotation>
              <xs:documentation>Query Geometry Crosses Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelWithin">
            <xs:annotation>
              <xs:documentation>Query Geometry is Within Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelContains">
            <xs:annotation>
              <xs:documentation>Query Geometry Contains Target Geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriSpatialRelRelation">
            <xs:annotation>
              <xs:documentation>Query geometry IBE(Interior-Boundary-Exterior) relationship with target geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="FIDSet">
        <xs:annotation>
          <xs:documentation>Esri FID Set object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="FIDArray" type="ArrayOfInt" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="QueryFilter">
        <xs:annotation>
          <xs:documentation>Esri Query Filter Object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="SubFields" type="xs:string">
            <xs:annotation>
              <xs:documentation>The comma delimited list of field names for the filter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="WhereClause" type="xs:string">
            <xs:annotation>
              <xs:documentation>The where clause for the filter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="SpatialReferenceFieldName" type="xs:string">
            <xs:annotation>
              <xs:documentation>
            The field name of the output spatial reference.
          </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Resolution" type="xs:double">
            <xs:annotation>
              <xs:documentation>
            The spatial resolution in which to output geometry.
          </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="OutputSpatialReference" type="SpatialReference">
            <xs:annotation>
              <xs:documentation>The spatial reference in which to output geometry for a given field.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="FIDSet" type="FIDSet" />
          <xs:element minOccurs="0" name="PostfixClause" type="xs:string">
            <xs:annotation>
              <xs:documentation>A clause that will be appended to the end of the where clause. Most commonly used for clauses like ORDER BY.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="FilterDefs" type="ArrayOfFilterDef">
            <xs:annotation>
              <xs:documentation>The filter definitions specified for this query filter.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="PrefixClause" type="xs:string">
            <xs:annotation>
              <xs:documentation>A clause that will be appended to the select statement. Most commonly used for select statements with DISTINCT clause.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpatialFilter">
        <xs:annotation>
          <xs:documentation>Esri Spatial Filter Object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="QueryFilter">
            <xs:sequence>
              <xs:element name="SearchOrder" type="esriSearchOrder">
                <xs:annotation>
                  <xs:documentation>The search order used by the filter.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="SpatialRel" type="esriSpatialRelEnum">
                <xs:annotation>
                  <xs:documentation>The spatial relationship  checked by the filter.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="SpatialRelDescription" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The array elements which describe the spatial relation between the query geometry and the requested geometries. There are 9 chars in this string which can be either 'F', 'T' or '*'; e.g., TT*FFT***' represents CONTAIN.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="FilterGeometry" type="Geometry">
                <xs:annotation>
                  <xs:documentation>
                The query geometry used to filter results.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="GeometryFieldName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>
                The name of the Geometry field to which the filter applies.
              </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="FilterOwnsGeometry" type="xs:boolean">
                <xs:annotation>
                  <xs:documentation>Indicates whether the filter owns the query geometry.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="FilterDef" abstract="true">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
      </xs:complexType>
      <xs:complexType name="XMLFilterDef">
        <xs:annotation>
          <xs:documentation>Esri XML Filter Definition Object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="FilterDef">
            <xs:sequence>
              <xs:element name="FieldName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The field name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Expression" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The filter expression.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="ArrayOfFilterDef">
        <xs:annotation>
          <xs:documentation>An array of filter definition objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="FilterDef" type="FilterDef" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="RangeDomain">
        <xs:annotation>
          <xs:documentation>Esri Range Domain object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Domain">
            <xs:sequence>
              <xs:element name="MaxValue" type="xs:anyType">
                <xs:annotation>
                  <xs:documentation>The maximum value for the associated attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="MinValue" type="xs:anyType">
                <xs:annotation>
                  <xs:documentation>The minimum value for the associated attribute.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="CodedValue">
        <xs:annotation>
          <xs:documentation>
        Esri Attribute set constraint object.
      </xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="Code" type="xs:anyType" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfCodedValue">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="CodedValue" type="CodedValue" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="CodedValueDomain">
        <xs:annotation>
          <xs:documentation>Esri Attribute set constraint object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="Domain">
            <xs:sequence>
              <xs:element name="CodedValues" type="ArrayOfCodedValue" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="BitMaskCodedValueDomain">
        <xs:annotation>
          <xs:documentation>Esri Attribute bitmask constraint object.</xs:documentation>
        </xs:annotation>
        <xs:complexContent mixed="false">
          <xs:extension base="CodedValueDomain" />
        </xs:complexContent>
      </xs:complexType>
      <xs:complexType name="RasterDef">
        <xs:annotation>
          <xs:documentation>Raster Column Definition Class.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" name="Description" type="xs:string">
            <xs:annotation>
              <xs:documentation>The raster column description.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="IsByRef" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>
            Indicates if the Raster column value is to be managed by GeoDatabase.
          </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">
            <xs:annotation>
              <xs:documentation>The SpatialReference of the raster.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="IsByFunction" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>
            Indicates if the Raster column value is of type function raster dataset.
          </xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPMessages">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="GPMessages" type="ArrayOfGPMessage" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfGPMessage">
        <xs:annotation>
          <xs:documentation>Generic array of objects.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPMessage" type="GPMessage" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GPMessage">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="MessageType" type="xs:int" />
          <xs:element name="MessageCode" type="xs:int" />
          <xs:element name="MessageDesc" type="xs:string" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="GeometryResultOptions">
        <xs:annotation>
          <xs:documentation>Esri Geometry export options object.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" default="false" name="DensifyGeometries" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>if true, MaximumSegmentLength and MaximumDeviation will be honored to densify geometry in the results</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" default="-1.0" name="MaximumSegmentLength" type="xs:double">
            <xs:annotation>
              <xs:documentation>.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" default="0.0" name="MaximumDeviation" type="xs:double">
            <xs:annotation>
              <xs:documentation>.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" default="false" name="GeneralizeGeometries" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>if true, MaximumAllowableOffset will be honored to generalize the geometry in the results.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" default="0.0" name="MaximumAllowableOffset" type="xs:double">
            <xs:annotation>
              <xs:documentation>.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:simpleType name="esriNetworkAttributeUnits">
        <xs:annotation>
          <xs:documentation>Units of a network dataset attribute.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAUUnknown">
            <xs:annotation>
              <xs:documentation>Unknown.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUInches">
            <xs:annotation>
              <xs:documentation>Inches.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUPoints" />
          <xs:enumeration value="esriNAUFeet">
            <xs:annotation>
              <xs:documentation>Feet.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUYards">
            <xs:annotation>
              <xs:documentation>Yards.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUMiles">
            <xs:annotation>
              <xs:documentation>Miles.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUNauticalMiles">
            <xs:annotation>
              <xs:documentation>Nautical miles.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUMillimeters">
            <xs:annotation>
              <xs:documentation>Millimeters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUCentimeters">
            <xs:annotation>
              <xs:documentation>Centimeters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUMeters">
            <xs:annotation>
              <xs:documentation>Meters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUKilometers">
            <xs:annotation>
              <xs:documentation>Kilometers.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUDecimalDegrees">
            <xs:annotation>
              <xs:documentation>Decimal degrees.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUDecimeters">
            <xs:annotation>
              <xs:documentation>Decimeters.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUSeconds">
            <xs:annotation>
              <xs:documentation>Seconds.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUMinutes">
            <xs:annotation>
              <xs:documentation>Minutes.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUHours">
            <xs:annotation>
              <xs:documentation>Hours.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUDays">
            <xs:annotation>
              <xs:documentation>Days.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNetworkForwardStarBacktrack">
        <xs:annotation>
          <xs:documentation>Policy on whether to return the from-edge in the forward star's adjacency object.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNFSBNoBacktrack">
            <xs:annotation>
              <xs:documentation>Never return the from-edge in the forward star's adjacency object.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNFSBAllowBacktrack">
            <xs:annotation>
              <xs:documentation>Return the from-edge in the forward star's adjacency object.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNFSBAtDeadEndsOnly">
            <xs:annotation>
              <xs:documentation>Return the from-edge in the forward star's adjacency object only if it is the only edge that is adjacent.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNFSBAtDeadEndsAndIntersections">
            <xs:annotation>
              <xs:documentation>Return the from-edge in the forward star's adjacency object only if it is the only edge that is adjacent to the query junction or the query junction has 3 or more adjacencies.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNetworkAttributeDataType">
        <xs:annotation>
          <xs:documentation>Data type of a network dataset attribute.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNADTInteger">
            <xs:annotation>
              <xs:documentation>The network attribute is of Integer data type.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNADTFloat">
            <xs:annotation>
              <xs:documentation>The network attribute is of Float data type.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNADTDouble">
            <xs:annotation>
              <xs:documentation>The network attribute is of Double data type.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNADTBoolean">
            <xs:annotation>
              <xs:documentation>The network attribute is of Boolean data type.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNetworkAttributeUsageType">
        <xs:annotation>
          <xs:documentation>Usage type of a network dataset attribute.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNAUTCost">
            <xs:annotation>
              <xs:documentation>The network attribute indicates the cost to traverse each network element.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUTDescriptor">
            <xs:annotation>
              <xs:documentation>The network attribute describes a property of each network element.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUTRestriction">
            <xs:annotation>
              <xs:documentation>The network attribute indicates whether each network element is restricted.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNAUTHierarchy">
            <xs:annotation>
              <xs:documentation>The network attribute indicates the hierarchy level of each network element.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNetworkSourceType">
        <xs:annotation>
          <xs:documentation>Types of network dataset source.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNSTNetworkSource">
            <xs:annotation>
              <xs:documentation>Network dataset source whose elements are derived from an unknown source.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNSTSystemJunction">
            <xs:annotation>
              <xs:documentation>Network dataset source whose elements are automatically generated by the network dataset.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNSTJunctionFeature">
            <xs:annotation>
              <xs:documentation>Network dataset source whose junction elements are derived from point feature geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNSTEdgeFeature">
            <xs:annotation>
              <xs:documentation>Network dataset source whose edge elements are derived from line feature geometry.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNSTTurnFeature">
            <xs:annotation>
              <xs:documentation>Network dataset source whose elements are derived from turn features.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="esriNetworkElementType">
        <xs:annotation>
          <xs:documentation>Type of network element.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNETJunction">
            <xs:annotation>
              <xs:documentation>Junction network element.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNETEdge">
            <xs:annotation>
              <xs:documentation>Edge network element.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="esriNETTurn">
            <xs:annotation>
              <xs:documentation>Turn network element.</xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
    </xs:schema>
  </types>
  <message name="GetNALayerNamesIn">
    <part name="parameters" element="e:GetNALayerNames" />
  </message>
  <message name="GetNALayerNamesOut">
    <part name="parameters" element="e:GetNALayerNamesResponse" />
  </message>
  <message name="GetSolverParametersIn">
    <part name="parameters" element="e:GetSolverParameters" />
  </message>
  <message name="GetSolverParametersOut">
    <part name="parameters" element="e:GetSolverParametersResponse" />
  </message>
  <message name="GetSolverParameters2In">
    <part name="parameters" element="e:GetSolverParameters2" />
  </message>
  <message name="GetSolverParameters2Out">
    <part name="parameters" element="e:GetSolverParameters2Response" />
  </message>
  <message name="GetNetworkDescriptionIn">
    <part name="parameters" element="e:GetNetworkDescription" />
  </message>
  <message name="GetNetworkDescriptionOut">
    <part name="parameters" element="e:GetNetworkDescriptionResponse" />
  </message>
  <message name="SolveIn">
    <part name="parameters" element="e:Solve" />
  </message>
  <message name="SolveOut">
    <part name="parameters" element="e:SolveResponse" />
  </message>
  <portType name="NAServerPort">
    <documentation></documentation>
    <operation name="GetNALayerNames">
      <input message="e:GetNALayerNamesIn" />
      <output message="e:GetNALayerNamesOut" />
    </operation>
    <operation name="GetSolverParameters">
      <input message="e:GetSolverParametersIn" />
      <output message="e:GetSolverParametersOut" />
    </operation>
    <operation name="GetSolverParameters2">
      <input message="e:GetSolverParameters2In" />
      <output message="e:GetSolverParameters2Out" />
    </operation>
    <operation name="GetNetworkDescription">
      <input message="e:GetNetworkDescriptionIn" />
      <output message="e:GetNetworkDescriptionOut" />
    </operation>
    <operation name="Solve">
      <input message="e:SolveIn" />
      <output message="e:SolveOut" />
    </operation>
  </portType>
  <binding name="NAServerBinding" type="e:NAServerPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="GetNALayerNames">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetSolverParameters">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetSolverParameters2">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetNetworkDescription">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Solve">
      <soap:operation soapAction="" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="#NAME#">
    <port name="NAServerPort" binding="e:NAServerBinding">
      <soap:address location="#URL#" />
    </port>
  </service>
</definitions>

11/8/2016