Network Analysis service (NAServer) WSDL

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:e="http://www.esri.com/schemas/ArcGIS/10.3" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.3">
  <types>
    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.3" xmlns="http://www.esri.com/schemas/ArcGIS/10.3">
      <xs:element name="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="NAServerTravelMode">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element name="Name" type="xs:string" />
          <xs:element name="ItemID" type="xs:string" />
          <xs:element name="ImpedanceAttributeName" type="xs:string" />
          <xs:element name="TimeAttributeName" type="xs:string" />
          <xs:element name="DistanceAttributeName" type="xs:string" />
          <xs:element name="RestrictionAttributeNames" type="ArrayOfString" />
          <xs:element name="AttributeParameterValues" type="ArrayOfNAAttributeParameterValue" />
          <xs:element name="UseHierarchy" type="xs:boolean" />
          <xs:element name="RestrictUTurns" type="esriNetworkForwardStarBacktrack" />
          <xs:element name="OutputGeometryPrecision" type="xs:anyType" />
          <xs:element name="OutputGeometryPrecisionUnits" type="esriUnits" />
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ArrayOfNAServerTravelMode">
        <xs:annotation>
          <xs:documentation />
        </xs:annotation>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="NAServerTravelMode" type="NAServerTravelMode" />
        </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:element minOccurs="0" name="ElevationModel" type="esriNetworkElevationModel" />
          <xs:element minOccurs="0" name="TravelModes" type="ArrayOfNAServerTravelMode" />
        </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:element minOccurs="0" name="TravelMode" 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:element minOccurs="0" name="IsInline" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>
                Indicates if the Raster column value is a managed inline raster dataset.
              </xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs: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:simpleType name="esriNetworkElevationModel">
        <xs:restriction base="xs:string">
          <xs:enumeration value="esriNEMNone" />
          <xs:enumeration value="esriNEMElevationFields" />
          <xs:enumeration value="esriNEMZCoordinates" />
        </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>

2/28/2020