GeoData Service (GeoDataServer) WSDL

 

<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.0" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.esri.com/schemas/ArcGIS/10.0">

  <types>

    <xs:schema targetNamespace="http://www.esri.com/schemas/ArcGIS/10.0" xmlns="http://www.esri.com/schemas/ArcGIS/10.0">

      <xs:element name="GetDataElements">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="BrowseOptions" type="DEBrowseOptions" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetDataElementsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfDElement" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetDefaultWorkingVersion">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetDefaultWorkingVersionResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetWrappedWorkspaceType">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetWrappedWorkspaceTypeResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="esriWorkspaceType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetMaxRecordCount">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetMaxRecordCountResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:int" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetReplicas">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetReplicasResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfGPReplica" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetVersions">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetVersionsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfGPVersionInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="CompareReplicaSchema">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="RelativeReplicaSchemaDoc" type="GDSData" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="CompareReplicaSchemaResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="CreateReplica">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ParentVersion" type="xs:string" minOccurs="0" />

            <xs:element name="ReplicaName" type="xs:string" />

            <xs:element name="ReplicaDescription" type="GPReplicaDescription" />

            <xs:element name="ReplicaOptions" type="GPReplicaOptions" />

            <xs:element name="ExportOptions" type="GDSExportOptions" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="CreateReplicaResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExpandReplicaDatasets">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaDatasets" type="ArrayOfGPReplicaDataset" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExpandReplicaDatasetsResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="ArrayOfGPReplicaDataset" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportAcknowledgement">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaName" type="xs:string" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportAcknowledgementResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportReplicaDataChanges">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaName" type="xs:string" />

            <xs:element name="ExportOptions" type="GDSExportOptions" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

            <xs:element name="GenerationsToExport" type="esriExportGenerationsOption" />

            <xs:element name="SwitchRole" type="xs:boolean" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportReplicaDataChangesResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportReplicaSchema">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaName" type="xs:string" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExportReplicaSchemaResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExtractData">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="VersionName" type="xs:string" minOccurs="0" />

            <xs:element name="ReplicaDescription" type="GPReplicaDescription" />

            <xs:element name="ExportOptions" type="GDSExportOptions" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ExtractDataResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetNextResultPortion">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="DesiredRange" type="ResultPortionInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetNextResultPortionResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSQueryResultPortion" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ImportAcknowledgement">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Data" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ImportAcknowledgementResponse">

        <xs:complexType />

      </xs:element>

      <xs:element name="ImportReplicaDataChanges">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="SourceType" type="esriGDSReplicaImportSource" />

            <xs:element name="ReconcilePolicy" type="esriReplicaReconcilePolicyType" />

            <xs:element name="ColumnLevel" type="xs:boolean" />

            <xs:element name="Data" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ImportReplicaDataChangesResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="xs:boolean" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ImportReplicaSchemaChanges">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="SchemaChangesDoc" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ImportReplicaSchemaChangesResponse">

        <xs:complexType />

      </xs:element>

      <xs:element name="ImportData">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Data" type="GDSData" />

            <xs:element name="ImportFormat" type="esriGDSImportFormat" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ImportDataResponse">

        <xs:complexType />

      </xs:element>

      <xs:element name="ReExportReplicaDataChanges">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaName" type="xs:string" />

            <xs:element name="ExportOptions" type="GDSExportOptions" />

            <xs:element name="TransportType" type="esriGDSTransportType" />

            <xs:element name="GenerationsToExport" type="esriExportGenerationsOption" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="ReExportReplicaDataChangesResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSData" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="TableSearch">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="VersionName" type="xs:string" />

            <xs:element name="TableName" type="xs:string" />

            <xs:element name="QueryFilter" type="QueryFilter" />

            <xs:element name="QueryRange" type="ResultPortionInfo" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="TableSearchResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GDSQueryResultPortion" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="UnregisterReplica">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="UnregisterReplicaResponse">

        <xs:complexType />

      </xs:element>

      <xs:element name="GetReplica">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="ReplicaName" type="xs:string" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:element name="GetReplicaResponse">

        <xs:complexType>

          <xs:sequence>

            <xs:element name="Result" type="GPReplica" />

          </xs:sequence>

        </xs:complexType>

      </xs:element>

      <xs:complexType name="DECadastralFabric">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element name="ConfigurationKeyword" type="xs:string" />

              <xs:element name="DefaultAccuracy" type="xs:int" />

              <xs:element name="CadastralFieldEditsCollection" type="ArrayOfCadastralFieldEdits" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfCadastralFieldEdits">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="CadastralFieldEdits" type="CadastralFieldEdits" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="CadastralFieldEdits">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="CadastralTableName" type="xs:string" />

          <xs:element name="ExtendedAttributeFields" type="Fields" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TerrainMembership">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ControllerMembership">

            <xs:sequence>

              <xs:element name="TerrainName" type="xs:string" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TerrainDataSource">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="FeatureClassID" type="xs:int" />

          <xs:element name="FeatureClassName" type="xs:string" />

          <xs:element name="GroupID" type="xs:int" />

          <xs:element name="SourceStatus" type="xs:int" />

          <xs:element name="SourceType" type="xs:int" />

          <xs:element name="SurfaceFeatureType" type="xs:int" />

          <xs:element name="IsBase" type="xs:boolean" />

          <xs:element name="ApplyToOverview" type="xs:boolean" />

          <xs:element name="AutoGeneralize" type="xs:boolean" />

          <xs:element name="ResolutionLowerBound" type="xs:double" />

          <xs:element name="ResolutionUpperBound" type="xs:double" />

          <xs:element name="SourceName" type="xs:string" />

          <xs:element name="HeightField" type="xs:string" />

          <xs:element name="TagValueField" type="xs:string" />

          <xs:element name="ReservedFields" type="ArrayOfString" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TerrainPyramidLevelZTol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="PyramidLevelStatus" type="xs:int" />

          <xs:element name="PointCount" type="xs:int" />

          <xs:element name="MaxScale" type="xs:int" />

          <xs:element name="Resolution" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TerrainPyramidLevelWindowSize">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="PyramidLevelStatus" type="xs:int" />

          <xs:element name="PointCount" type="xs:int" />

          <xs:element name="MaxScale" type="xs:int" />

          <xs:element name="Resolution" type="xs:double" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfTerrainDataSource">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="TerrainDataSource" type="TerrainDataSource" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfTerrainPyramidLevelZTol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="TerrainPyramidLevelZTol" type="TerrainPyramidLevelZTol" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfTerrainPyramidLevelWindowSize">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="TerrainPyramidLevelWindowSize" type="TerrainPyramidLevelWindowSize" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DETerrain">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element name="FeatureDatasetName" type="xs:string" />

              <xs:element name="PyramidType" type="xs:int" />

              <xs:element name="WindowSizeMethod" type="xs:int" />

              <xs:element name="WindowSizeZThreshold" type="xs:int" />

              <xs:element name="WindowSizeZThresholdStrategy" type="xs:int" />

              <xs:element name="TileSize" type="xs:int" />

              <xs:element name="MaxShapeSize" type="xs:int" />

              <xs:element name="MaxOverviewSize" type="xs:int" />

              <xs:element name="ConfigurationKeyword" type="xs:string" />

              <xs:element name="TerrainDataSources" type="ArrayOfTerrainDataSource" />

              <xs:element minOccurs="0" name="TerrainPyramidLevelZTols" type="ArrayOfTerrainPyramidLevelZTol" />

              <xs:element minOccurs="0" name="TerrainPyramidLevelWindowSizes" type="ArrayOfTerrainPyramidLevelWindowSize" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriGDSTransportType">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriGDSTransportTypeEmbedded" />

          <xs:enumeration value="esriGDSTransportTypeUrl" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriGDSExportFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriGDSExportFormatPersonalGdb" />

          <xs:enumeration value="esriGDSExportFormatXml" />

          <xs:enumeration value="esriGDSExportFormatFileGDB" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriGDSReplicaImportSource">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriGDSReplicaImportSourceDeltaXmlFile" />

          <xs:enumeration value="esriGDSReplicaImportSourceDeltaPersonalGDB" />

          <xs:enumeration value="esriGDSReplicaImportSourceDeltaFileGDB" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriGDSImportFormat">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriGDSImportFormatXmlWorkspace" />

          <xs:enumeration value="esriGDSImportFormatFileGDB" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="GDSExportOptions">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ExportFormat" type="esriGDSExportFormat" />

          <xs:element name="Compressed" type="xs:boolean" />

          <xs:element name="BinaryGeometry" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GDSData">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Compressed" type="xs:boolean" />

          <xs:element name="TransportType" type="esriGDSTransportType" />

          <xs:element minOccurs="0" name="EmbeddedData" type="xs:base64Binary" />

          <xs:element minOccurs="0" name="URL" type="xs:string" />

          <xs:element minOccurs="0" name="ConnectionProperties" type="PropertySet" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GDSQueryResultPortion">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ResultPortionInfo" type="ResultPortionInfo" />

          <xs:element name="RecordSet" type="RecordSet" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriExportGenerationsOption">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriExportGenerationsUnAcknowledged" />

          <xs:enumeration value="esriExportGenerationsNew" />

          <xs:enumeration value="esriExportGenerationsAll" />

          <xs:enumeration value="esriExportGenerationsNone" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRasterTableTypeEnum">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRasterTableIndex" />

          <xs:enumeration value="esriRasterTableValue" />

          <xs:enumeration value="esriRasterTableInvalid" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="DERasterDataset">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element minOccurs="0" name="Format" type="xs:string" />

              <xs:element minOccurs="0" name="CompressionType" type="xs:string" />

              <xs:element minOccurs="0" name="SensorType" type="xs:string" />

              <xs:element minOccurs="0" name="BandCount" type="xs:int" />

              <xs:element minOccurs="0" name="Permanent" type="xs:boolean" />

              <xs:element minOccurs="0" name="StorageDef" type="RasterStorageDef" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DERasterBand">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DETable">

            <xs:sequence>

              <xs:element minOccurs="0" name="IsInteger" type="xs:boolean" />

              <xs:element minOccurs="0" name="MeanCellHeight" type="xs:double" />

              <xs:element minOccurs="0" name="MeanCellWidth" type="xs:double" />

              <xs:element minOccurs="0" name="Height" type="xs:int" />

              <xs:element minOccurs="0" name="Width" type="xs:int" />

              <xs:element minOccurs="0" name="PixelType" type="rstPixelType" />

              <xs:element minOccurs="0" name="PrimaryField" type="xs:int" />

              <xs:element minOccurs="0" name="TableType" type="esriRasterTableTypeEnum" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DEMosaicDataset">

        <xs:annotation>

          <xs:documentation>The mosaic dataset data element.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element minOccurs="0" name="Content" type="xs:anyType">

                <xs:annotation>

                  <xs:documentation>The mosaic dataset content.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Referenced" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if this is a referenced mosaic dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="BandCount" type="xs:int" />

              <xs:element minOccurs="0" name="ChildrenNames" type="ArrayOfString">

                <xs:annotation>

                  <xs:documentation>The mosaic dataset table names.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="RasterCatalog" type="DERasterCatalog">

                <xs:annotation>

                  <xs:documentation>The DE raster catalog.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriWorkspaceType">

        <xs:annotation>

          <xs:documentation>Workspace types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriFileSystemWorkspace">

            <xs:annotation>

              <xs:documentation>File system Workspace.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriLocalDatabaseWorkspace">

            <xs:annotation>

              <xs:documentation>Local database Workspace.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRemoteDatabaseWorkspace">

            <xs:annotation>

              <xs:documentation>Remote database Workspace.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriDatasetType">

        <xs:annotation>

          <xs:documentation>Dataset Types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriDTAny">

            <xs:annotation>

              <xs:documentation>Any Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTContainer">

            <xs:annotation>

              <xs:documentation>Any Container Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTGeo">

            <xs:annotation>

              <xs:documentation>Any Geo Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTFeatureDataset">

            <xs:annotation>

              <xs:documentation>Feature Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTFeatureClass">

            <xs:annotation>

              <xs:documentation>Feature Class.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTPlanarGraph">

            <xs:annotation>

              <xs:documentation>Planar Graph.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTGeometricNetwork">

            <xs:annotation>

              <xs:documentation>Geometric Network.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTText">

            <xs:annotation>

              <xs:documentation>Text Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTTable">

            <xs:annotation>

              <xs:documentation>Table Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTRelationshipClass">

            <xs:annotation>

              <xs:documentation>Relationship Class.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTRasterDataset">

            <xs:annotation>

              <xs:documentation>Raster Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTRasterBand">

            <xs:annotation>

              <xs:documentation>Raster Band.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTTin">

            <xs:annotation>

              <xs:documentation>Tin Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTCadDrawing">

            <xs:annotation>

              <xs:documentation>CadDrawing Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTRasterCatalog">

            <xs:annotation>

              <xs:documentation>Raster Catalog.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTTopology">

            <xs:annotation>

              <xs:documentation>Topology.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTToolbox">

            <xs:annotation>

              <xs:documentation>Toolbox.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTTool">

            <xs:annotation>

              <xs:documentation>Tool.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTNetworkDataset">

            <xs:annotation>

              <xs:documentation>Network Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTTerrain">

            <xs:annotation>

              <xs:documentation>Terrain dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTRepresentationClass">

            <xs:annotation>

              <xs:documentation>Feature Class Representation.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTCadastralFabric">

            <xs:annotation>

              <xs:documentation>Cadastral Fabric.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTSchematicDataset">

            <xs:annotation>

              <xs:documentation>Schematic Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTLocator">

            <xs:annotation>

              <xs:documentation>Address Locator.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTMap">

            <xs:annotation>

              <xs:documentation>Map.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTLayer">

            <xs:annotation>

              <xs:documentation>Layer.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTStyle">

            <xs:annotation>

              <xs:documentation>Style.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDTMosaicDataset">

            <xs:annotation>

              <xs:documentation>Mosaic Dataset.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <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="esriNetworkAttributeUnits2">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="Unknown" />

          <xs:enumeration value="Inches" />

          <xs:enumeration value="Feet" />

          <xs:enumeration value="Yards" />

          <xs:enumeration value="Miles" />

          <xs:enumeration value="NauticalMiles" />

          <xs:enumeration value="Millimeters" />

          <xs:enumeration value="Centimeters" />

          <xs:enumeration value="Meters" />

          <xs:enumeration value="Kilometers" />

          <xs:enumeration value="DecimalDegrees" />

          <xs:enumeration value="Decimeters" />

          <xs:enumeration value="Seconds" />

          <xs:enumeration value="Minutes" />

          <xs:enumeration value="Hours" />

          <xs:enumeration value="Days" />

        </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:element name="Expression" type="xs:string" />

            </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="Index">

        <xs:annotation>

          <xs:documentation>ESRI Index Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the index.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="IsUnique" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the index is unique.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="IsAscending" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the index is based on ascending order.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Fields" type="Fields">

            <xs:annotation>

              <xs:documentation>The fields collection for this index.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfIndex">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Index" type="Index" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Indexes">

        <xs:annotation>

          <xs:documentation>ESRI Indices Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="IndexArray" type="ArrayOfIndex" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriFeatureType">

        <xs:annotation>

          <xs:documentation>Feature Types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriFTSimple">

            <xs:annotation>

              <xs:documentation>Simple Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTSimpleJunction">

            <xs:annotation>

              <xs:documentation>Simple Junction Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTSimpleEdge">

            <xs:annotation>

              <xs:documentation>Simple Edge Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTComplexJunction">

            <xs:annotation>

              <xs:documentation>Complex Junction Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTComplexEdge">

            <xs:annotation>

              <xs:documentation>Complex Edge Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTAnnotation">

            <xs:annotation>

              <xs:documentation>Annotation Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTCoverageAnnotation">

            <xs:annotation>

              <xs:documentation>Coverage Annotation Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTDimension">

            <xs:annotation>

              <xs:documentation>Dimension Feature.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriFTRasterCatalogItem">

            <xs:annotation>

              <xs:documentation>Raster Catalog Item.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <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="Rule" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="HelpString" type="xs:string" />

          <xs:element name="RuleID" type="xs:int" />

          <xs:element minOccurs="0" name="Category" type="xs:int">

            <xs:annotation>

              <xs:documentation>The name associated with the validation rule.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriWeightType">

        <xs:annotation>

          <xs:documentation>Logical network weight types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriWTNull">

            <xs:annotation>

              <xs:documentation>Null weight type.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriWTBitGate">

            <xs:annotation>

              <xs:documentation>Bit gate weight.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriWTInteger">

            <xs:annotation>

              <xs:documentation>32-bit signed integer weight.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriWTSingle">

            <xs:annotation>

              <xs:documentation>Single precision real weight.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriWTDouble">

            <xs:annotation>

              <xs:documentation>Double precision real weight.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriWTBoolean">

            <xs:annotation>

              <xs:documentation>Boolean weight.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriNetworkClassAncillaryRole">

        <xs:annotation>

          <xs:documentation>Network ancillary role types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriNCARNone">

            <xs:annotation>

              <xs:documentation>No ancillary role.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNCARSourceSink">

            <xs:annotation>

              <xs:documentation>Source Sink ancillary role.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriNetworkType">

        <xs:annotation>

          <xs:documentation>Logical network type options.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriNTStreetNetwork">

            <xs:annotation>

              <xs:documentation>Street network.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNTUtilityNetwork">

            <xs:annotation>

              <xs:documentation>Utility network.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="JunctionSubtype">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ClassID" type="xs:int" />

          <xs:element name="SubtypeCode" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfJunctionSubtype">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="JunctionSubtype" type="JunctionSubtype" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ConnectivityRule" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Rule" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EdgeConnectivityRule">

        <xs:annotation>

          <xs:documentation>ESRI Edge-Edge NetworkConnectivity rule object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ConnectivityRule">

            <xs:sequence>

              <xs:element name="FromClassID" type="xs:int" />

              <xs:element name="FromEdgeSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The subtype value of the source NetworkEdge feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ToClassID" type="xs:int" />

              <xs:element name="ToEdgeSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The subtype value of the target NetworkEdge feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="DefaultJunctionID" type="xs:int" />

              <xs:element name="DefaultJunctionSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The subtype value of the default junction feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="JunctionSubtypes" type="ArrayOfJunctionSubtype" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="JunctionConnectivityRule">

        <xs:annotation>

          <xs:documentation>ESRI Junction-Edge NetworkConnectivity rule object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ConnectivityRule">

            <xs:sequence>

              <xs:element name="EdgeClassID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The ID of the NetworkEdge FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="EdgeSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The subtype value of the NetworkEdge FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="JunctionClassID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The ID of the NetworkJunction FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SubtypeCode" type="xs:int" />

              <xs:element minOccurs="0" name="EdgeMinimumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The minimum cardinality value of the NetworkEdge FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="EdgeMaximumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The maxnimum cardinality value of the NetworkEdge FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="JunctionMinimumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The minimum cardinality value of the NetworkJunction FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="JunctionMaximumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The maximum cardinality value of the NetworkJunction FeatureClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="IsDefault" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="NetWeight">

        <xs:annotation>

          <xs:documentation>A container for defining a weight on the network.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="WeightID" type="xs:int">

            <xs:annotation>

              <xs:documentation>Internal ID of the network weight described by this NetWeight object.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="WeightName" type="xs:string">

            <xs:annotation>

              <xs:documentation>Name of the network weight described by this NetWeight object.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="WeightType" type="esriWeightType">

            <xs:annotation>

              <xs:documentation>Type of network weight described by this NetWeight object.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="BitGateSize" type="xs:int">

            <xs:annotation>

              <xs:documentation>Bit gate size of the network weight described by this NetWeight object.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetWeightAssociation">

        <xs:annotation>

          <xs:documentation>A container for defining an association between a network weight and a field in a table.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="WeightID" type="xs:int">

            <xs:annotation>

              <xs:documentation>Weight internal ID of the weight to which this table is associated.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="TableName" type="xs:string">

            <xs:annotation>

              <xs:documentation>Name of the table to which this weight is associated.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>Name of the field that contains the values for this weight.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriTopologyRuleType">

        <xs:annotation>

          <xs:documentation>Types of topology rules.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTRTAreaNoGaps">

            <xs:annotation>

              <xs:documentation>The rule is an area-no gap rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaNoOverlap">

            <xs:annotation>

              <xs:documentation>The rule is an area-no overlap rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaCoveredByAreaClass">

            <xs:annotation>

              <xs:documentation>The rule is an area covered by area class rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaAreaCoverEachOther">

            <xs:annotation>

              <xs:documentation>The rule is an 2 areas cover each other rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaCoveredByArea">

            <xs:annotation>

              <xs:documentation>The rule is an area covered by area rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaNoOverlapArea">

            <xs:annotation>

              <xs:documentation>The rule is an area covered by area rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineCoveredByAreaBoundary">

            <xs:annotation>

              <xs:documentation>The rule is a line covered by area boundary rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineInsideArea">

            <xs:annotation>

              <xs:documentation>The rule is a line must be inside area rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTPointCoveredByAreaBoundary">

            <xs:annotation>

              <xs:documentation>The rule is a point covered by area boundary rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTPointProperlyInsideArea">

            <xs:annotation>

              <xs:documentation>The rule is a point properly inside area rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaContainOnePoint">

            <xs:annotation>

              <xs:documentation>The rule is one point must be found in each area.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoOverlap">

            <xs:annotation>

              <xs:documentation>The rule is a line-no overlap rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoIntersection">

            <xs:annotation>

              <xs:documentation>The rule is a line-no intersection rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoDangles">

            <xs:annotation>

              <xs:documentation>The rule is a line-no dangles rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoPseudos">

            <xs:annotation>

              <xs:documentation>The rule is a line with no pseudo-nodes rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineCoveredByLineClass">

            <xs:annotation>

              <xs:documentation>The rule is a line covered by line class rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoOverlapLine">

            <xs:annotation>

              <xs:documentation>The rule is a line-no overlap line rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTPointCoveredByLine">

            <xs:annotation>

              <xs:documentation>The rule is a point covered by line rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTPointCoveredByLineEndpoint">

            <xs:annotation>

              <xs:documentation>The rule is a point covered by line endpoint rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTPointDisjoint">

            <xs:annotation>

              <xs:documentation>The rule is a point must be disjoint rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTPointCoincidePoint">

            <xs:annotation>

              <xs:documentation>The rule is a point must be coincident with point rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaBoundaryCoveredByLine">

            <xs:annotation>

              <xs:documentation>The rule is an area boundary covered by line rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaBoundaryCoveredByAreaBoundary">

            <xs:annotation>

              <xs:documentation>The rule is an area boundary covered by line rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoSelfOverlap">

            <xs:annotation>

              <xs:documentation>The rule is a line-no self overlap rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoSelfIntersect">

            <xs:annotation>

              <xs:documentation>The rule is a line-no self intersect rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoIntersectOrInteriorTouch">

            <xs:annotation>

              <xs:documentation>The rule is a line-no intersect or interior touch rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineEndpointCoveredByPoint">

            <xs:annotation>

              <xs:documentation>The rule is a line endpoint covered by point rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTAreaContainPoint">

            <xs:annotation>

              <xs:documentation>The rule is an area contain point rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoMultipart">

            <xs:annotation>

              <xs:documentation>The rule is a line cannot be multipart rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoIntersectLine">

            <xs:annotation>

              <xs:documentation>The rule is a line must not intersect with line rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriTRTLineNoIntersectOrInteriorTouchLine">

            <xs:annotation>

              <xs:documentation>The rule is a line must not intersect or touch interior of line rule.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="TopologyRule">

        <xs:annotation>

          <xs:documentation>ESRI Topology Rule Object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Rule">

            <xs:sequence>

              <xs:element name="Name" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Name of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="GUID" type="xs:string">

                <xs:annotation>

                  <xs:documentation>GUID of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="TopologyRuleType" type="esriTopologyRuleType">

                <xs:annotation>

                  <xs:documentation>Topology rule type of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OriginClassID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>Origin ClassID of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="OriginSubtype" type="xs:int">

                <xs:annotation>

                  <xs:documentation>Origin subtype of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="DestinationClassID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>Destination ClassID of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DestinationSubtype" type="xs:int">

                <xs:annotation>

                  <xs:documentation>Destination subtype of the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="TriggerErrorEvents" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if error events are triggered for the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="AllOriginSubtypes" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if all origin subtypes are specified for the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="AllDestinationSubtypes" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if all destination subtypes are specified for the topology rule.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriRelNotification">

        <xs:annotation>

          <xs:documentation>Relationship Notification Direction.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelNotificationNone">

            <xs:annotation>

              <xs:documentation>None - no messages are sent.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelNotificationForward">

            <xs:annotation>

              <xs:documentation>Forward - messages are sent only from origin objects to destination objects.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelNotificationBackward">

            <xs:annotation>

              <xs:documentation>Backward - messages are sent only from destination objects to source objects.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelNotificationBoth">

            <xs:annotation>

              <xs:documentation>Both - messages are sent in both directions.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRelCardinality">

        <xs:annotation>

          <xs:documentation>Relationship Cardinality.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelCardinalityOneToOne">

            <xs:annotation>

              <xs:documentation>One To One.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelCardinalityOneToMany">

            <xs:annotation>

              <xs:documentation>One To Many.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelCardinalityManyToMany">

            <xs:annotation>

              <xs:documentation>Many To Many.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRelClassKey">

        <xs:annotation>

          <xs:documentation>Type of Class Key for multi-set Relationship Classes</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelClassKeyUndefined">

            <xs:annotation>

              <xs:documentation>Code is undefined</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelClassKeyClassID">

            <xs:annotation>

              <xs:documentation>GDB ClassID is used</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelClassKeyClassCode">

            <xs:annotation>

              <xs:documentation>User provided code is used</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRelKeyType">

        <xs:annotation>

          <xs:documentation>Build mode for keys in mult-set Relationship Classes</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelKeyTypeSingle">

            <xs:annotation>

              <xs:documentation>Key is a single value</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelKeyTypeDual">

            <xs:annotation>

              <xs:documentation>Key is a couple Class Identifier, Object Identifier</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRelKeyRole">

        <xs:annotation>

          <xs:documentation>Key role in the multi-set Relationship Class</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelKeyRoleOriginPrimary">

            <xs:annotation>

              <xs:documentation>Origin Primary Key</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelKeyRoleDestinationPrimary">

            <xs:annotation>

              <xs:documentation>Destination Primary Key</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelKeyRoleOriginForeign">

            <xs:annotation>

              <xs:documentation>Origin Foreign Key</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRelKeyRoleDestinationForeign">

            <xs:annotation>

              <xs:documentation>Destination Foreign Key</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="RelationshipRule">

        <xs:annotation>

          <xs:documentation>ESRI relationship rule object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Rule">

            <xs:sequence>

              <xs:element name="DestinationClassID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The ID of the destination ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="DestinationSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The subtype value of the destination ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OriginClassID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The ID of the origin ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OriginSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The subtype value of the origin ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DestinationMinimumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The minimum cardinality value of the destination ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DestinationMaximumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The maximum cardinality value of the destination ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="OriginMinimumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The minimum cardinality value of the origin ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="OriginMaximumCardinality" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The maximum cardinality value of the origin ObjectClass.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Names">

        <xs:annotation>

          <xs:documentation>An object to hold a collection of names.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Name" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="XmlPropertySet">

        <xs:annotation>

          <xs:documentation>ESRI XML PropertySet object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="XmlDoc" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DataElement" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="CatalogPath" type="xs:string">

            <xs:annotation>

              <xs:documentation>The string used to retrieve the element.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>The user assigned name for the element.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="ChildrenExpanded" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the children have been expanded.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FullPropsRetrieved" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if full properties have been retrieved.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="MetadataRetrieved" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the metadata has been retrieved.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Metadata" nillable="true" type="XmlPropertySet">

            <xs:annotation>

              <xs:documentation>The PropertySet containing metadata.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Children" type="ArrayOfDataElement">

            <xs:annotation>

              <xs:documentation>The list of sub-elements.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfDataElement">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="DataElement" type="DataElement" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfDElement">

        <xs:annotation>

          <xs:documentation>A collection of DataElement objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="DElement" type="DataElement" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DEDataset">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DataElement">

            <xs:sequence>

              <xs:element name="DatasetType" type="esriDatasetType">

                <xs:annotation>

                  <xs:documentation>Dataset type.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DSID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The id of the dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Versioned" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if this dataset is versioned.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="CanVersion" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if this dataset can be versioned.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ConfigurationKeyword" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Configuration keyword.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DEWorkspace">

        <xs:annotation>

          <xs:documentation>Database Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DataElement">

            <xs:sequence>

              <xs:element name="WorkspaceType" type="esriWorkspaceType">

                <xs:annotation>

                  <xs:documentation>The workspace type.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="WorkspaceFactoryProgID" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The workspace factory prog id.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ConnectionString" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The connection string.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ConnectionInfo" type="PropertySet" />

              <xs:element name="DomainArray" type="ArrayOfDomain" />

              <xs:element name="MajorVersion" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The major version of the release.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="MinorVersion" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The minor version of the release.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="BugfixVersion" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The bugfix version of the release.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfDomain">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Domain" type="Domain" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DEGeoDataset">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEDataset">

            <xs:sequence>

              <xs:element name="Extent" type="Envelope">

                <xs:annotation>

                  <xs:documentation>The extent of the coverage.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SpatialReference" type="SpatialReference">

                <xs:annotation>

                  <xs:documentation>The spatial reference of the geodataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DEFeatureDataset">

        <xs:annotation>

          <xs:documentation>Feature Dataset Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfConnectivityRule">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="ConnectivityRule" type="ConnectivityRule" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfNetWeight">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="NetWeight" type="NetWeight" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfNetWeightAssociation">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="NetWeightAssociation" type="NetWeightAssociation" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DEGeometricNetwork">

        <xs:annotation>

          <xs:documentation>GeometricNetwork Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element name="NetworkType" type="esriNetworkType">

                <xs:annotation>

                  <xs:documentation>The type of associated logical network.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OrphanJunctionFeatureClassName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The FeatureClass containing the OrphanJunctionFeatures.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="FeatureClassNames" type="Names">

                <xs:annotation>

                  <xs:documentation>The feature classes involved in the geometric network.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ConnectivityRules" type="ArrayOfConnectivityRule" />

              <xs:element name="NetworkWeights" type="ArrayOfNetWeight">

                <xs:annotation>

                  <xs:documentation>The weights of the geometric network.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="WeightAssociations" type="ArrayOfNetWeightAssociation">

                <xs:annotation>

                  <xs:documentation>The weight associations of the geometric network.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="UseZsForConnectivity" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if Z coordinates are used for connectivity.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="XYSnapTolerance" type="xs:double">

                <xs:annotation>

                  <xs:documentation>XY snap tolerance.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ZSnapTolerance" type="xs:double">

                <xs:annotation>

                  <xs:documentation>Z snap tolerance.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="LogicalNetworkID" type="xs:int" />

              <xs:element name="FormatNumber" type="xs:int" />

              <xs:element name="ReduceNetworkConflicts" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if network conflicts should be reduced during reconcile.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DETable">

        <xs:annotation>

          <xs:documentation>Table Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEDataset">

            <xs:sequence>

              <xs:element name="HasOID" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the table has an object id field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="OIDFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the OID Field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Fields" type="Fields">

                <xs:annotation>

                  <xs:documentation>The list of Fields.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Indexes" type="Indexes">

                <xs:annotation>

                  <xs:documentation>The list of Indexes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="CLSID" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The GUID for the COM Class (Object) corresponding to instances of the object class represented by the table data element.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="EXTCLSID" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The GUID for the COM Class (Object) corresponding to the class extension of the object class represented by the table data element.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="RelationshipClassNames" type="Names">

                <xs:annotation>

                  <xs:documentation>The names of the Relationship Classes this object class participates in.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="AliasName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The alias name for the table.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ModelName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The model name for the table.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HasGlobalID" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the table has a GlobalID field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="GlobalIDFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the GlobalID Field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="RasterFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the raster field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ExtensionProperties" type="PropertySet">

                <xs:annotation>

                  <xs:documentation>The properties for the class extension.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="SubtypeFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the Subtype Field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DefaultSubtypeCode" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The default subtype code.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Subtypes" type="ArrayOfSubtype">

                <xs:annotation>

                  <xs:documentation>The set of Subtypes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ControllerMemberships" type="ArrayOfControllerMembership">

                <xs:annotation>

                  <xs:documentation>The set of controller memberships for the table.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DEFeatureClass">

        <xs:annotation>

          <xs:documentation>Feature Class Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DETable">

            <xs:sequence>

              <xs:element name="FeatureType" type="esriFeatureType">

                <xs:annotation>

                  <xs:documentation>The feature type of the feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ShapeType" type="esriGeometryType">

                <xs:annotation>

                  <xs:documentation>The geometry type of the feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ShapeFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The shape field name of the feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HasM" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the feature class supports Ms.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HasZ" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the feature class supports Zs.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HasSpatialIndex" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the feature class has a spatial index.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="AreaFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The geometry area field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="LengthFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The geometry length field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="Extent" type="Envelope">

                <xs:annotation>

                  <xs:documentation>The extent of the coverage.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">

                <xs:annotation>

                  <xs:documentation>The spatial reference of the geodataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Subtype">

        <xs:annotation>

          <xs:documentation>The (GP) Subtype Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="SubtypeName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the subtype.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SubtypeCode" type="xs:int">

            <xs:annotation>

              <xs:documentation>The code of the subtype.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FieldInfos" type="ArrayOfSubtypeFieldInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfSubtype">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Subtype" type="Subtype" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="SubtypeFieldInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="FieldName" type="xs:string" />

          <xs:element minOccurs="0" name="DomainName" type="xs:string" />

          <xs:element minOccurs="0" name="DefaultValue" type="xs:anyType" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfSubtypeFieldInfo">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="SubtypeFieldInfo" type="SubtypeFieldInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRelationshipRule">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationshipRule" type="RelationshipRule" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DERelationshipClass">

        <xs:annotation>

          <xs:documentation>Relationship Class Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DETable">

            <xs:sequence>

              <xs:element name="Cardinality" type="esriRelCardinality">

                <xs:annotation>

                  <xs:documentation>The cardinality for the relationship class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Notification" type="esriRelNotification">

                <xs:annotation>

                  <xs:documentation>The notification direction for the relationship class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="IsAttributed" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the relationships in this relationship class have attributes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="IsComposite" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the relationship class represents a composite relationship in which the origin object class represents the composite object.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OriginClassNames" type="Names">

                <xs:annotation>

                  <xs:documentation>The names of the origin classes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="DestinationClassNames" type="Names">

                <xs:annotation>

                  <xs:documentation>The names of the destination classes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="KeyType" type="esriRelKeyType">

                <xs:annotation>

                  <xs:documentation>Key type for the relationship class (Dual or Single).</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ClassKey" type="esriRelClassKey">

                <xs:annotation>

                  <xs:documentation>Class key used for the relationship class (Undefined, ClassID or Class Code).</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ForwardPathLabel" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The forward path label for the relationship class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="BackwardPathLabel" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The backward path label for the relationship class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="IsReflexive" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if origin and destination sets intersect.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OriginClassKeys" type="ArrayOfRelationshipClassKey">

                <xs:annotation>

                  <xs:documentation>An array with the relationship class keys (IGPRelationshipClassKey) of the origin classes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DestinationClassKeys" type="ArrayOfRelationshipClassKey">

                <xs:annotation>

                  <xs:documentation>An array with the relationship class keys (IGPRelationshipClassKey) of the destination classes.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="RelationshipRules" type="ArrayOfRelationshipRule">

                <xs:annotation>

                  <xs:documentation>The relationship rules that apply to this relationship class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="IsAttachmentRelationship" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if the relationship class represents a table attachment.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="RelationshipClassKey">

        <xs:annotation>

          <xs:documentation>The (GP) Relationship Class Key Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ObjectKeyName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the field that contains object identifiers.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ClassKeyName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the field that contains object class identifiers.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="KeyRole" type="esriRelKeyRole">

            <xs:annotation>

              <xs:documentation>The role of the key in the relationship class.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRelationshipClassKey">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationshipClassKey" type="RelationshipClassKey" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ControllerMembership" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

      </xs:complexType>

      <xs:complexType name="GeometricNetworkMembership">

        <xs:annotation>

          <xs:documentation>The Geometric Network Membership object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ControllerMembership">

            <xs:sequence>

              <xs:element name="GeometricNetworkName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the Geometric Network this feature participates in.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="EnabledFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The enabled field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="AncillaryRoleFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The ancillary role field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="NetworkClassAncillaryRole" type="esriNetworkClassAncillaryRole" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TopologyMembership">

        <xs:annotation>

          <xs:documentation>The Topology Membership object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ControllerMembership">

            <xs:sequence>

              <xs:element name="TopologyName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the Topology this feature class participates in.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Weight" type="xs:double">

                <xs:annotation>

                  <xs:documentation>The weight of the feature class in the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="XYRank" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The XYRank of the feature class in the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ZRank" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The ZRank of the feature class in the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="EventNotificationOnValidate" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if event notification is fired on validate.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfControllerMembership">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="ControllerMembership" type="ControllerMembership" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfTopologyRule">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="TopologyRule" type="TopologyRule" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DETopology">

        <xs:annotation>

          <xs:documentation>Topology Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element name="ClusterTolerance" type="xs:double">

                <xs:annotation>

                  <xs:documentation>The cluster tolerance of the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="ZClusterTolerance" type="xs:double">

                <xs:annotation>

                  <xs:documentation>The z cluster tolerance of the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="MaxGeneratedErrorCount" type="xs:int" />

              <xs:element name="FeatureClassNames" type="Names">

                <xs:annotation>

                  <xs:documentation>The feature classes involved in the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="TopologyRules" type="ArrayOfTopologyRule" />

              <xs:element name="TopologyID" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The ID of the topology.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriRasterCompressionType">

        <xs:annotation>

          <xs:documentation>Different methods to perform raster compression.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRasterCompressionUncompressed">

            <xs:annotation>

              <xs:documentation>No compression.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionLZ77">

            <xs:annotation>

              <xs:documentation>The LZ77 encoding.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionJPEG">

            <xs:annotation>

              <xs:documentation>The JPEG encoding.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionJPEG2000">

            <xs:annotation>

              <xs:documentation>The JPEG 2000 encoding.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionPackBits">

            <xs:annotation>

              <xs:documentation>The Packbits encoding (TIFF).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionLZW">

            <xs:annotation>

              <xs:documentation>The LZW encoding (TIFF).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionRLE">

            <xs:annotation>

              <xs:documentation>The ESRI Run-Length Encoding (GRID and IMAGINE Image).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionCCITTG3">

            <xs:annotation>

              <xs:documentation>The CCITT Group 3 (TIFF).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionCCITTG4">

            <xs:annotation>

              <xs:documentation>The CCITT Group 4 (TIFF).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRasterCompressionCCITTRLE">

            <xs:annotation>

              <xs:documentation>The CCITT RLE (TIFF).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="rstResamplingTypes">

        <xs:annotation>

          <xs:documentation>Different methods to perform raster resampling.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="RSP_NearestNeighbor">

            <xs:annotation>

              <xs:documentation>Resample pixel by nearest neighbor.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="RSP_BilinearInterpolation">

            <xs:annotation>

              <xs:documentation>Resample pixel by bilinear interpolation.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="RSP_CubicConvolution">

            <xs:annotation>

              <xs:documentation>Resample pixel by cubic convolution.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="RSP_Majority">

            <xs:annotation>

              <xs:documentation>Resample pixel by majority value.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="RasterDef">

        <xs:annotation>

          <xs:documentation>Raster Column Definition Class.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="Description" type="xs:string">

            <xs:annotation>

              <xs:documentation>The raster column description.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="IsByRef" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>

            Indicates if the Raster column value is to be managed by GeoDatabase.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference">

            <xs:annotation>

              <xs:documentation>The SpatialReference of the raster.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="IsByFunction" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>

            Indicates if the Raster column value is of type function raster dataset.

          </xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RasterStorageDef">

        <xs:annotation>

          <xs:documentation>Raster Value Storage Definition Class.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="CompressionQuality" type="xs:int">

            <xs:annotation>

              <xs:documentation>The compression quality (in case of JPEG compression) to be applied to the raster being stored.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="CompressionType" type="esriRasterCompressionType">

            <xs:annotation>

              <xs:documentation>The compression type to be applied on the raster being stored.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="PyramidLevel" type="xs:int">

            <xs:annotation>

              <xs:documentation>The number of pyramid levels.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="PyramidResampleType" type="rstResamplingTypes">

            <xs:annotation>

              <xs:documentation>The method used for pyramid resampling.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Tiled" type="xs:boolean" />

          <xs:element name="TileHeight" type="xs:int">

            <xs:annotation>

              <xs:documentation>The raster storage tile height.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="TileWidth" type="xs:int">

            <xs:annotation>

              <xs:documentation>The raster storage tile width.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Origin" type="Point">

            <xs:annotation>

              <xs:documentation>The origin of the raster to be stored.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="CellSizeX" type="xs:double" />

          <xs:element minOccurs="0" name="CellSizeY" type="xs:double" />

          <xs:element minOccurs="0" name="CreationOptions" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DERasterCatalog">

        <xs:annotation>

          <xs:documentation>Raster Catalog Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEFeatureClass" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DEToolbox">

        <xs:annotation>

          <xs:documentation>The toolbox Data Element.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEDataset">

            <xs:sequence>

              <xs:element minOccurs="0" name="Alias" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The toolbox alias.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="DisplayName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The display name of the toolbox.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HelpFile" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the (CHM) file containing help information for this toolbox.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HelpContext" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The context identifier of the topic within the help file for this toolbox.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DETool">

        <xs:annotation>

          <xs:documentation>The tool data element.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEDataset" />

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="esriDEExpandType">

        <xs:annotation>

          <xs:documentation>Data Elements expansion types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriDEExpandNone">

            <xs:annotation>

              <xs:documentation>Expand nothing.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDEExpandChildren">

            <xs:annotation>

              <xs:documentation>Expand the data element to load its immediate children.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriDEExpandDescendants">

            <xs:annotation>

              <xs:documentation>Expand the data element to load all its descendants.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="DEBrowseOptions">

        <xs:annotation>

          <xs:documentation>Data Element Browse Options Class.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ExpandType" type="esriDEExpandType">

            <xs:annotation>

              <xs:documentation>Data element expand type - none, immediate children or all descendants.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="RetrieveMetadata" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the data element's metadata should be fetched.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="RetrieveFullProperties" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if full properties of a data element should be fetched (heavy-weight properties that involve opening the underlying dataset).</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriReplicaRole">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriReplicaRoleChild" />

          <xs:enumeration value="esriReplicaRoleParent" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriReplicaModelType">

        <xs:annotation>

          <xs:documentation>Indicates how the data will be represented in the checked-out database.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriModelTypeFullGeodatabase">

            <xs:annotation>

              <xs:documentation>The data is checked out with the same dataset types as the master geodatabase.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriModelTypeSimple">

            <xs:annotation>

              <xs:documentation>The data is checked out as simple types.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriRowsType">

        <xs:annotation>

          <xs:documentation>Defines the criteria for determining which rows to check out.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRowsTypeFilter">

            <xs:annotation>

              <xs:documentation>Apply the filters defined by the ReplicaDescription object.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRowsTypeAll">

            <xs:annotation>

              <xs:documentation>Check out all rows.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriRowsTypeNone">

            <xs:annotation>

              <xs:documentation>Check out the schema only.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriReplicaAccessType">

        <xs:annotation>

          <xs:documentation>Replica access types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriReplicaAccessNone">

            <xs:annotation>

              <xs:documentation>No replica access.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaChildReadOnly">

            <xs:annotation>

              <xs:documentation>Read only child replica.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaBothReadWrite">

            <xs:annotation>

              <xs:documentation>Read write on both parent and child replica.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="ArrayOfGPReplica">

        <xs:annotation>

          <xs:documentation>A collection of GPReplica objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPReplica" type="GPReplica" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GPReplicaDescription">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ModelType" type="esriReplicaModelType" />

          <xs:element name="SingleGeneration" type="xs:boolean" />

          <xs:element name="SpatialRelation" type="esriSpatialRelEnum" />

          <xs:element minOccurs="0" name="QueryGeometry" type="Geometry" />

          <xs:element name="GPReplicaDatasets" type="ArrayOfGPReplicaDataset" />

          <xs:element name="TransferRelatedObjects" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfGPReplicaDataset">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPReplicaDataset" type="GPReplicaDataset" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GPReplicaDataset">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="DatasetName" type="xs:string" />

          <xs:element name="DatasetType" type="esriDatasetType" />

          <xs:element name="RowsType" type="esriRowsType" />

          <xs:element name="IsPrivate" type="xs:boolean" />

          <xs:element name="UseGeometry" type="xs:boolean" />

          <xs:element minOccurs="0" name="DefQuery" type="xs:string" />

          <xs:element minOccurs="0" name="RelExtractDirection" type="esriRelExtractDirection">

            <xs:annotation>

              <xs:documentation>Set the related objects direction to either forward or backward direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="RelOriginClass" type="xs:string">

            <xs:annotation>

              <xs:documentation>The origin class for the relationship class.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="RelDestinationClass" type="xs:string">

            <xs:annotation>

              <xs:documentation>The destination class for the relationship class.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="SelectionIDs" type="ArrayOfInt" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriRelExtractDirection">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriRelExtractDirectionForward" />

          <xs:enumeration value="esriRelExtractDirectionBackward" />

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriReplicaState">

        <xs:annotation>

          <xs:documentation>Replica state.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriReplicaStateSendingData">

            <xs:annotation>

              <xs:documentation>Sending data state.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaStateWaitingForData">

            <xs:annotation>

              <xs:documentation>Waiting for data state</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaStateSendingAcknowledgment">

            <xs:annotation>

              <xs:documentation>Sending acknowledgement state.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaStateNone" />

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="GPReplica">

        <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="ReplicaVersion" type="xs:string" />

          <xs:element minOccurs="0" name="CreationDate" type="xs:string" />

          <xs:element name="GUID" type="xs:string" />

          <xs:element name="Role" type="esriReplicaRole" />

          <xs:element name="AccessType" type="esriReplicaAccessType" />

          <xs:element name="MyGenerationNumber" type="xs:int" />

          <xs:element name="SibGenerationNumber" type="xs:int" />

          <xs:element name="SibMyGenerationNumber" type="xs:int" />

          <xs:element name="ReplicaState" type="esriReplicaState" />

          <xs:element minOccurs="0" name="SibConnectionString" type="xs:string" />

          <xs:element name="GPReplicaDescription" type="GPReplicaDescription" />

          <xs:element name="ReconcilePolicy" type="esriReplicaReconcilePolicyType" />

          <xs:element minOccurs="0" name="HasConflicts" type="xs:boolean" />

          <xs:element minOccurs="0" name="UseArchiving" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriVersionAccess">

        <xs:annotation>

          <xs:documentation>Version Access Permissions.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriVersionAccessPrivate">

            <xs:annotation>

              <xs:documentation>The version's access permission is private.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriVersionAccessPublic">

            <xs:annotation>

              <xs:documentation>The version's access permission is public.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriVersionAccessProtected">

            <xs:annotation>

              <xs:documentation>The version's access permission is protected.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="GPVersionInfo">

        <xs:annotation>

          <xs:documentation>The (GP) VersionInfo Object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="VersionName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The version's name.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Description" type="xs:string">

            <xs:annotation>

              <xs:documentation>The version's description.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Created" type="xs:string">

            <xs:annotation>

              <xs:documentation>The date and time the version was created.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Modified" type="xs:string">

            <xs:annotation>

              <xs:documentation>The date and time the version was last modified.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Access" type="esriVersionAccess">

            <xs:annotation>

              <xs:documentation>The version's access permission.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ParentName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the parent version.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ChildrenNames" type="Names">

            <xs:annotation>

              <xs:documentation>The names of the child versions.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="AncestorNames" type="Names">

            <xs:annotation>

              <xs:documentation>The names of the ancestor versions.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfGPVersionInfo">

        <xs:annotation>

          <xs:documentation>A collection of GPVersionInfo objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="GPVersionInfo" type="GPVersionInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:simpleType name="esriReplicaReconcilePolicyType">

        <xs:annotation>

          <xs:documentation>Replica reconcile policy.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriReplicaDetectConflicts">

            <xs:annotation>

              <xs:documentation>Reconcile will detect conflicts.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaResolveConflictsInFavorOfImportedChanges">

            <xs:annotation>

              <xs:documentation>Reconcile will favor imported changes (no conflicts).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaResolveConflictsInFavorOfDatabaseChanges">

            <xs:annotation>

              <xs:documentation>Reconcile will favor database changes (no conflicts).</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriReplicaResolveConflictsNone">

            <xs:annotation>

              <xs:documentation>Reconcile will use the synchronization policy set at the replica creation time.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="GPReplicaOptions">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="IsChildFirstSender" type="xs:boolean" />

          <xs:element name="AccessType" type="esriReplicaAccessType" />

          <xs:element name="ChildReconcilePolicy" type="esriReplicaReconcilePolicyType" />

          <xs:element name="ParentReconcilePolicy" type="esriReplicaReconcilePolicyType" />

          <xs:element minOccurs="0" name="ChildConnectionString" type="xs:string" />

          <xs:element minOccurs="0" name="ParentConnectionString" type="xs:string" />

          <xs:element minOccurs="0" name="RegisterReplicaOnly" type="xs:boolean" />

          <xs:element minOccurs="0" name="UseArchiving" type="xs:boolean" />

          <xs:element minOccurs="0" name="IncludeMapLayers" type="xs:boolean" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ResultPortionInfo">

        <xs:annotation>

          <xs:documentation>A class used to define query result portion options.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Count" type="xs:int">

            <xs:annotation>

              <xs:documentation>The number of elements to return or being returned.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ResultID" type="xs:string">

            <xs:annotation>

              <xs:documentation>The unique ID of a result.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="StartIndex" type="xs:long">

            <xs:annotation>

              <xs:documentation>The zero-based index of the first element to return or being returned.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkDatasetMembership">

        <xs:annotation>

          <xs:documentation>The Network Dataset Membership object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="ControllerMembership">

            <xs:sequence>

              <xs:element name="NetworkDatasetName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the network dataset this feature class participates in.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="DERepresentationClass">

        <xs:annotation>

          <xs:documentation>Representation Class Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEDataset">

            <xs:sequence>

              <xs:element name="FeatureClassName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the attached feature class.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="RuleIDFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the RuleID field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="OverrideFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the Override field.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="RequireShapeOverride" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if a shape override is required for feature representations.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Rules" type="ArrayOfRepresentationRuleInfo">

                <xs:annotation>

                  <xs:documentation>The array of representation rules.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="GeneralAttributes" type="ArrayOfGraphicAttribute">

                <xs:annotation>

                  <xs:documentation>General attributes defined at the representation class level.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfRepresentationRuleInfo">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="RepresentationRuleInfo" type="RepresentationRuleInfo" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RepresentationRuleInfo">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="RuleName" type="xs:string" />

          <xs:element name="RuleID" type="xs:int" />

          <xs:element name="Rule" type="RepresentationRule" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DirectionsAttributeMapping">

        <xs:annotation>

          <xs:documentation>A container for a directions attribute mapping.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="KeyName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The directions key name of the directions attribute mapping.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="AttributeName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The network attribute name associated with the directions key name.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfDirectionsAttributeMapping">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="DirectionsAttributeMapping" type="DirectionsAttributeMapping" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkDirections">

        <xs:annotation>

          <xs:documentation>A container for describing and using network directions.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="DefaultOutputLengthUnits" type="esriNetworkAttributeUnits">

            <xs:annotation>

              <xs:documentation>The default length units that will be used for reporting distances in driving directions.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="LengthAttributeName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the network attribute to be used for reporting travel distances.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="TimeAttributeName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the network attribute to be used for reporting travel time.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="RoadClassAttributeName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the network attribute to be used for road classification.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SignpostFeatureClassName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the feature class containing the signposts.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SignpostStreetsTableName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the indexed table of signpost street references.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="AttributeMappings" nillable="true" type="ArrayOfDirectionsAttributeMapping">

            <xs:annotation>

              <xs:documentation>The collection of directions attribute mapping.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkAttributeParameter">

        <xs:annotation>

          <xs:documentation>A container for describing a network attribute parameter.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the parameter.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="VarType" type="xs:int">

            <xs:annotation>

              <xs:documentation>The VARTYPE of the parameter (e.g. VT_I4).</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Value" type="xs:anyType">

            <xs:annotation>

              <xs:documentation>The current value of the parameter.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="DefaultValue" type="xs:anyType">

            <xs:annotation>

              <xs:documentation>The default value of the parameter.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkAttribute">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset attribute.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ID" type="xs:int">

            <xs:annotation>

              <xs:documentation>Unique identifier of this network attribute.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>Name of this network attribute.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Units" type="esriNetworkAttributeUnits2">

            <xs:annotation>

              <xs:documentation>Units of this network attribute.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="DataType" type="esriNetworkAttributeDataType">

            <xs:annotation>

              <xs:documentation>Type of data used in this network attribute.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="UsageType" type="esriNetworkAttributeUsageType">

            <xs:annotation>

              <xs:documentation>Usage type of this network attribute.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="UserData" nillable="true" type="xs:anyType" />

          <xs:element name="UseByDefault" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if this network attribute is to be used by default.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="AttributeParameters" type="ArrayOfNetworkAttributeParameter" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="EvaluatedNetworkAttribute">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset attribute and its evaluators.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="NetworkAttribute" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Shield">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ShieldType" type="xs:string" />

          <xs:element name="ShieldDescription" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfShield">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Shield" type="Shield" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="Shields">

        <xs:annotation>

          <xs:documentation>A container for describing how driving directions are refined using shields.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="TypeFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name whose values contain the street type.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="NumberFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name whose values contain the house number.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="CombinedFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name whose values contain the whole address description.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="UseCombinedField" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if the combined field should be used for directions.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ArrayOfShield" type="ArrayOfShield" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="StreetNameFields">

        <xs:annotation>

          <xs:documentation>A container for describing street name fields used to generate driving directions.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="PrefixDirectionFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for prefix direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="PrefixTypeFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for prefix type.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="StreetNameFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for street name.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SuffixDirectionsFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for suffix direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="SuffixTypeFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for suffix type.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Priority" type="xs:int">

            <xs:annotation>

              <xs:documentation>The priority for when these street name fields are used.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="HighwayDirectionFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for highway direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="LanguageFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used for the language of the street.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FullNameFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name used to store the full street name.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfStreetNameFields">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="StreetNameFields" type="StreetNameFields" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DirectionsFieldMapping">

        <xs:annotation>

          <xs:documentation>A container for a directions field mapping.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="KeyName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The directions key name of the directions field mapping.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="UndirectedFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The network source field name associated with the directions key name in an undirected direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="AlongFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The network source field name associated with the directions key name in the along direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="AgainstFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The network source field name associated with the directions key name in the against direction.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfDirectionsFieldMapping">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="DirectionsFieldMapping" type="DirectionsFieldMapping" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkSourceDirections">

        <xs:annotation>

          <xs:documentation>A container for describing how to generate driving directions for a network dataset source.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="AdminAreaFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the field containing the administrative area information for generating driving directions.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Shields" nillable="true" type="Shields">

            <xs:annotation>

              <xs:documentation>The directions shields settings for this source.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="StreetNameFields" type="ArrayOfStreetNameFields">

            <xs:annotation>

              <xs:documentation>The fields containing the street names used in reporting driving directions.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="FieldMappings" nillable="true" type="ArrayOfDirectionsFieldMapping">

            <xs:annotation>

              <xs:documentation>The collection of directions field mapping.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkSource">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset source.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ID" type="xs:int">

            <xs:annotation>

              <xs:documentation>Unique identifier of this network source.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ClassID" type="xs:int" />

          <xs:element name="Name" type="xs:string">

            <xs:annotation>

              <xs:documentation>Name of the class associated with this network source.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ElementType" type="esriNetworkElementType">

            <xs:annotation>

              <xs:documentation>Network element type of this network source.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="Properties" nillable="true" type="PropertySet">

            <xs:annotation>

              <xs:documentation>Property set of this network source.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="NetworkSourceDirections" type="NetworkSourceDirections">

            <xs:annotation>

              <xs:documentation>The driving directions settings for this network source.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="SystemJunctionSource">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset source where junction elements are generated automatically when the network is built.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="NetworkSource">

            <xs:sequence>

              <xs:element name="ElevationFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The field name to be used as the elevation field when determining connectivity at coincident vertices.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="TurnFeatureSource">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset source whose elements are derived from turn feature geometry.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="NetworkSource" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EdgeFeatureSource">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset source whose edge elements are derived from line feature geometry.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="NetworkSource">

            <xs:sequence>

              <xs:element minOccurs="0" name="FromElevationFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The field name on the feature source to be used as the from elevation field when determining connectivity at coincident end vertices.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ToElevationFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The field name on the feature source to be used as the to elevation field when determining connectivity at coincident end vertices.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Connectivity" type="PropertySet" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="JunctionFeatureSource">

        <xs:annotation>

          <xs:documentation>A container for describing a network dataset source whose junction elements are derived from point feature geometry.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="NetworkSource">

            <xs:sequence>

              <xs:element minOccurs="0" name="ElevationFieldName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The field name on the feature source to be used as the elevation field when determining connectivity at coincident vertices.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Connectivity" type="PropertySet" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="NetworkGlobalTurnDelayCategory">

        <xs:annotation>

          <xs:documentation>A container for defining global turn delay for a specified angle category and from, to, and cross road category.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="AngleCategory" type="esriNetworkTurnAngleCategory">

            <xs:annotation>

              <xs:documentation>The turn angle category (straight, reverse, right, or left) of turns in this turn delay category.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FromRoadCategory" type="esriNetworkRoadCategory">

            <xs:annotation>

              <xs:documentation>The road category of the from road of turns in this turn delay category.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ToRoadCategory" type="esriNetworkRoadCategory">

            <xs:annotation>

              <xs:documentation>The road category of the to road of turns in this turn delay category.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="CrossRoadCategory" type="esriNetworkRoadCategory">

            <xs:annotation>

              <xs:documentation>The road category of the most major cross road of turns in this turn delay category.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="Seconds" type="xs:double">

            <xs:annotation>

              <xs:documentation>The expected traversal time in seconds of turns associated with this turn delay category (matching angle, from road, to road, and cross road categories).</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfNetworkGlobalTurnDelayCategory">

        <xs:annotation>

          <xs:documentation>ESRI NetworkGlobalTurnDelayCategory Array object.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="NetworkGlobalTurnDelayCategory" type="NetworkGlobalTurnDelayCategory" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GeoDataServerForceDeriveFromAnyType">

        <xs:annotation>

          <xs:documentation>A type used to force derivation from anyType in client frameworks.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ArrayOfNetworkGlobalTurnDelayCategory" type="ArrayOfNetworkGlobalTurnDelayCategory" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="NetworkAssignment">

        <xs:annotation>

          <xs:documentation>A container for associating a network evaluator with an attribute, a network element type or network source name, and an edge direction.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="IsDefault" type="xs:boolean">

            <xs:annotation>

              <xs:documentation>Indicates if this network assignment is associated with a network element type.  Otherwise this network assignment is associated with a network source.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="ID" type="xs:int" />

          <xs:element name="NetworkAttributeName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the network attribute associated with this network assignment.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="NetworkElementType" nillable="true" type="esriNetworkElementType">

            <xs:annotation>

              <xs:documentation>The network element type of the network assignment.  This property only applies if IsDefault is true.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element minOccurs="0" name="NetworkSourceName" nillable="true" type="xs:string">

            <xs:annotation>

              <xs:documentation>The network source name of this network assignment.  This property only applies if IsDefault is false.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="NetworkEvaluatorCLSID" type="xs:string">

            <xs:annotation>

              <xs:documentation>The CLSID of the network evaluator associated with this network assignment.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="NetworkEdgeDirection" type="esriNetworkEdgeDirection">

            <xs:annotation>

              <xs:documentation>The edge direction of this network assignment.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="NetworkEvaluatorData" type="PropertySet">

            <xs:annotation>

              <xs:documentation>The custom data of the network evaluator associated with this network assignment.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="TrafficData">

        <xs:annotation>

          <xs:documentation>A container for members in traffic data.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element name="ProfilesTableName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the table containing profiles.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="TimeSliceDurationInMinutes" type="xs:int">

            <xs:annotation>

              <xs:documentation>The duration of time slice in minutes.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FirstTimeSliceStartTime" type="xs:dateTime">

            <xs:annotation>

              <xs:documentation>The start time of valid period of a day for traffic data.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="FirstTimeSliceFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name of the first time slice of the given period in the profile table.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="LastTimeSliceFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name of the last time slice of the given period in the profile table.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="JoinTableName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The name of the join table between edges and profiles.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="JoinTableBaseTravelTimeFieldName" type="xs:string">

            <xs:annotation>

              <xs:documentation>The field name for base travel time in the join table.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="JoinTableBaseTravelTimeUnits" type="esriNetworkAttributeUnits2">

            <xs:annotation>

              <xs:documentation>Base travel time units.</xs:documentation>

            </xs:annotation>

          </xs:element>

          <xs:element name="JoinTableProfileIDFieldNames" type="ArrayOfString">

            <xs:annotation>

              <xs:documentation>The field names of the historic join table pointing to speed profiles.</xs:documentation>

            </xs:annotation>

          </xs:element>

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="DENetworkDataset">

        <xs:annotation>

          <xs:documentation>Network Dataset Data Element object.</xs:documentation>

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="DEGeoDataset">

            <xs:sequence>

              <xs:element name="LogicalNetworkName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The logical network name of this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="NetworkType" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The type of the network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Buildable" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if this network dataset is buildable.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SupportsTurns" type="xs:boolean">

                <xs:annotation>

                  <xs:documentation>Indicates if this network dataset supports network turn elements.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="NetworkDirections" type="NetworkDirections">

                <xs:annotation>

                  <xs:documentation>The driving directions settings for the network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="Properties" nillable="true" type="PropertySet">

                <xs:annotation>

                  <xs:documentation>Property set of this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="UserData" nillable="true" type="PropertySet">

                <xs:annotation>

                  <xs:documentation>User specified property set of this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="EdgeFeatureSources" type="ArrayOfEdgeFeatureSource">

                <xs:annotation>

                  <xs:documentation>Array of edge network sources in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="JunctionFeatureSources" type="ArrayOfJunctionFeatureSource">

                <xs:annotation>

                  <xs:documentation>Array of junction network sources in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="SystemJunctionSources" type="ArrayOfSystemJunctionSource">

                <xs:annotation>

                  <xs:documentation>Array of system junction network sources in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="TurnFeatureSources" type="ArrayOfTurnFeatureSource">

                <xs:annotation>

                  <xs:documentation>Array of turn network sources in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="EvaluatedNetworkAttributes" type="ArrayOfEvaluatedNetworkAttribute">

                <xs:annotation>

                  <xs:documentation>Array of evaluated network attributes in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="NetworkAttributes" type="ArrayOfNetworkAttribute">

                <xs:annotation>

                  <xs:documentation>Array of network attributes in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="NetworkAssignments" type="ArrayOfNetworkAssignment">

                <xs:annotation>

                  <xs:documentation>Array of network assignments in this network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="ConfigurationKeyword" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The database configuration keyword for the network dataset.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="HierarchyAttributeName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>The name of the network attribute used to optimize network building for hierarchical traversal.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="HierarchyMaxValues" type="ArrayOfInt">

                <xs:annotation>

                  <xs:documentation>Array of hierarchy level maximum values in increasing order.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="NetworkElevationModel" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The type of the network elevation model.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="LogicalNetworkID" type="xs:int" />

              <xs:element name="SchemaGeneration" type="xs:int" />

              <xs:element minOccurs="0" name="TrafficData" type="TrafficData">

                <xs:annotation>

                  <xs:documentation>Traffic data.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="TimeZoneAttributeName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Name of the time zone attribute.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element minOccurs="0" name="TimeZoneTableName" type="xs:string">

                <xs:annotation>

                  <xs:documentation>Name of the time zone table.</xs:documentation>

                </xs:annotation>

              </xs:element>

              <xs:element name="BuildTime" type="xs:int">

                <xs:annotation>

                  <xs:documentation>The date and time the network dataset was built.</xs:documentation>

                </xs:annotation>

              </xs:element>

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:simpleType name="rstPixelType">

        <xs:annotation>

          <xs:documentation>Supported raster pixel types.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="U1" />

          <xs:enumeration value="U2" />

          <xs:enumeration value="U4" />

          <xs:enumeration value="U8" />

          <xs:enumeration value="S8" />

          <xs:enumeration value="U16" />

          <xs:enumeration value="S16" />

          <xs:enumeration value="U32" />

          <xs:enumeration value="S32" />

          <xs:enumeration value="F32" />

          <xs:enumeration value="F64" />

          <xs:enumeration value="C64" />

          <xs:enumeration value="C128" />

          <xs:enumeration value="UNKNOWN" />

        </xs:restriction>

      </xs:simpleType>

      <xs: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="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="esriNetworkTurnAngleCategory">

        <xs:annotation>

          <xs:documentation>Network dataset turn angle category.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriNTACStraight">

            <xs:annotation>

              <xs:documentation>Straight Turn.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNTACReverse">

            <xs:annotation>

              <xs:documentation>Reverse Turn.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNTACRight">

            <xs:annotation>

              <xs:documentation>Right Turn.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNTACLeft">

            <xs:annotation>

              <xs:documentation>Left Turn.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:simpleType name="esriNetworkRoadCategory">

        <xs:annotation>

          <xs:documentation>Network dataset road category.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriNRCNone">

            <xs:annotation>

              <xs:documentation>No Road category.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNRCLocal">

            <xs:annotation>

              <xs:documentation>Local Road category.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNRCSecondary">

            <xs:annotation>

              <xs:documentation>Secondary Road category.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNRCPrimary">

            <xs:annotation>

              <xs:documentation>Primary Road category.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNRCMajor">

            <xs:annotation>

              <xs:documentation>Major Road category.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNRCAny">

            <xs:annotation>

              <xs:documentation>Any Road category.</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="esriNetworkEdgeDirection">

        <xs:annotation>

          <xs:documentation>The direction of a network edge element relative to the direction of its source object.</xs:documentation>

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriNEDNone">

            <xs:annotation>

              <xs:documentation>The network edge element's source object does not have a digitization direction.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNEDAlongDigitized">

            <xs:annotation>

              <xs:documentation>The network edge element is in the same direction as its source object direction.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

          <xs:enumeration value="esriNEDAgainstDigitized">

            <xs:annotation>

              <xs:documentation>The network edge element is in the opposite direction as its source object direction.</xs:documentation>

            </xs:annotation>

          </xs:enumeration>

        </xs:restriction>

      </xs:simpleType>

      <xs:complexType name="ArrayOfEdgeFeatureSource">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="EdgeFeatureSource" type="EdgeFeatureSource" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfJunctionFeatureSource">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="JunctionFeatureSource" type="JunctionFeatureSource" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfSystemJunctionSource">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="SystemJunctionSource" type="SystemJunctionSource" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfTurnFeatureSource">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="TurnFeatureSource" type="TurnFeatureSource" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfEvaluatedNetworkAttribute">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="EvaluatedNetworkAttribute" type="EvaluatedNetworkAttribute" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfNetworkAttributeParameter">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="NetworkAttributeParameter" type="NetworkAttributeParameter" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfNetworkAttribute">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="NetworkAttribute" type="NetworkAttribute" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfNetworkAssignment">

        <xs:annotation>

          <xs:documentation>Generic array of objects.</xs:documentation>

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="NetworkAssignment" type="NetworkAssignment" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfGraphicAttribute">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="GraphicAttribute" type="GraphicAttribute" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="GraphicAttribute">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element name="Value" type="xs:anyType" />

          <xs:element minOccurs="0" name="FieldName" type="xs:string" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RepresentationRule">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="GeometricEffects" type="ArrayOfGeometricEffect" />

          <xs:element name="Layers" type="ArrayOfBasicSymbol" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfBasicSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="BasicSymbol" type="BasicSymbol" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="BasicSymbol" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" name="GeometricEffects" type="ArrayOfGeometricEffect" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="BasicFillSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="BasicSymbol">

            <xs:sequence>

              <xs:element name="Pattern" type="RepresentationComponent" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="BasicLineSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="BasicSymbol">

            <xs:sequence>

              <xs:element name="Stroke" type="RepresentationComponent" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="BasicMarkerSymbol">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="BasicSymbol">

            <xs:sequence>

              <xs:element minOccurs="0" name="ID" type="xs:int" />

              <xs:element name="GraphicAttributes" type="ArrayOfGraphicAttribute" />

              <xs:element name="MarkerPlacement" type="RepresentationComponent" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfGeometricEffect">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="GeometricEffect" type="RepresentationComponent" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="RepresentationComponent">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element name="Name" type="xs:string" />

          <xs:element minOccurs="0" name="ID" type="xs:int" />

          <xs:element name="GraphicAttributes" type="ArrayOfGraphicAttribute" />

        </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="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="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: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="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="VCSWKID" type="xs:int" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ProjectedCoordinateSystem">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialReference" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="GeographicCoordinateSystem">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialReference" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="UnknownCoordinateSystem">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="SpatialReference" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Geometry">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

      </xs:complexType>

      <xs:complexType name="Curve" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Segment" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Curve">

            <xs:sequence>

              <xs:element name="FromPoint" type="Point" />

              <xs:element name="ToPoint" type="Point" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Polycurve" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Curve" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Envelope" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EnvelopeN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Envelope">

            <xs:sequence>

              <xs:element name="XMin" type="xs:double" />

              <xs:element name="YMin" type="xs:double" />

              <xs:element name="XMax" type="xs:double" />

              <xs:element name="YMax" type="xs:double" />

              <xs:element minOccurs="0" name="ZMin" type="xs:double" />

              <xs:element minOccurs="0" name="ZMax" type="xs:double" />

              <xs:element minOccurs="0" name="MMin" type="xs:double" />

              <xs:element minOccurs="0" name="MMax" type="xs:double" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EnvelopeB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Envelope">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Point" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PointN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Point">

            <xs:sequence>

              <xs:element name="X" type="xs:double" />

              <xs:element name="Y" type="xs:double" />

              <xs:element minOccurs="0" name="M" type="xs:double" />

              <xs:element minOccurs="0" name="Z" type="xs:double" />

              <xs:element minOccurs="0" name="ID" type="xs:int" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PointB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Point">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Multipoint" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultipointB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Multipoint">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultipointN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Multipoint">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Line">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="EllipticArc">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment">

            <xs:sequence>

              <xs:element name="EllipseStd" type="xs:boolean" />

              <xs:element name="CenterPoint" type="Point" />

              <xs:element name="Rotation" type="xs:double" />

              <xs:element name="MinorMajorRatio" type="xs:double" />

              <xs:element name="IsCounterClockwise" type="xs:boolean" />

              <xs:element name="IsMinor" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="CircularArc">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment">

            <xs:sequence>

              <xs:element name="CenterPoint" type="Point" />

              <xs:element minOccurs="0" name="FromAngle" type="xs:double" />

              <xs:element minOccurs="0" name="ToAngle" type="xs:double" />

              <xs:element name="IsCounterClockwise" type="xs:boolean" />

              <xs:element name="IsMinor" type="xs:boolean" />

              <xs:element name="IsLine" type="xs:boolean" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="BezierCurve">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Segment">

            <xs:sequence>

              <xs:element name="Degree" type="xs:int" />

              <xs:element name="ControlPointArray" type="ArrayOfPoint" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Path">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Curve">

            <xs:sequence>

              <xs:element minOccurs="0" name="PointArray" type="ArrayOfPoint" />

              <xs:element minOccurs="0" name="SegmentArray" type="ArrayOfSegment" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Ring">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Path" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Polygon" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polycurve" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolygonN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polygon">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element name="RingArray" type="ArrayOfRing" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolygonB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polygon">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="Polyline" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polycurve" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolylineN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polyline">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element minOccurs="0" name="Extent" type="Envelope" />

              <xs:element name="PathArray" type="ArrayOfPath" />

              <xs:element minOccurs="0" name="SpatialReference" type="SpatialReference" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="PolylineB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Polyline">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfPoint">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Point" type="Point" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfPath">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Path" type="Path" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfRing">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Ring" type="Ring" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ArrayOfSegment">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="Segment" type="Segment" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="MultiPatch" abstract="true">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="Geometry" />

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultiPatchB">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MultiPatch">

            <xs:sequence>

              <xs:element name="Bytes" type="xs:base64Binary" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="MultiPatchN">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:complexContent mixed="false">

          <xs:extension base="MultiPatch">

            <xs:sequence>

              <xs:element name="HasID" type="xs:boolean" />

              <xs:element name="HasZ" type="xs:boolean" />

              <xs:element name="HasM" type="xs:boolean" />

              <xs:element name="Extent" type="Envelope" />

              <xs:element name="SurfacePatchArray" type="ArrayOfSurfacePatch" />

            </xs:sequence>

          </xs:extension>

        </xs:complexContent>

      </xs:complexType>

      <xs:complexType name="ArrayOfSurfacePatch">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:sequence>

          <xs:element minOccurs="0" maxOccurs="unbounded" name="SurfacePatch" type="Geometry" />

        </xs:sequence>

      </xs:complexType>

      <xs:complexType name="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: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:simpleType name="esriTimeRelation">

        <xs:annotation>

          <xs:documentation />

        </xs:annotation>

        <xs:restriction base="xs:string">

          <xs:enumeration value="esriTimeRelationOverlaps" />

        </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:schema>

  </types>

  <message name="GetVersionsIn">

    <part name="parameters" element="e:GetVersions" />

  </message>

  <message name="GetVersionsOut">

    <part name="parameters" element="e:GetVersionsResponse" />

  </message>

  <message name="TableSearchIn">

    <part name="parameters" element="e:TableSearch" />

  </message>

  <message name="TableSearchOut">

    <part name="parameters" element="e:TableSearchResponse" />

  </message>

  <message name="ExpandReplicaDatasetsIn">

    <part name="parameters" element="e:ExpandReplicaDatasets" />

  </message>

  <message name="ExpandReplicaDatasetsOut">

    <part name="parameters" element="e:ExpandReplicaDatasetsResponse" />

  </message>

  <message name="ImportAcknowledgementIn">

    <part name="parameters" element="e:ImportAcknowledgement" />

  </message>

  <message name="ImportAcknowledgementOut">

    <part name="parameters" element="e:ImportAcknowledgementResponse" />

  </message>

  <message name="GetMaxRecordCountIn">

    <part name="parameters" element="e:GetMaxRecordCount" />

  </message>

  <message name="GetMaxRecordCountOut">

    <part name="parameters" element="e:GetMaxRecordCountResponse" />

  </message>

  <message name="ExportReplicaDataChangesIn">

    <part name="parameters" element="e:ExportReplicaDataChanges" />

  </message>

  <message name="ExportReplicaDataChangesOut">

    <part name="parameters" element="e:ExportReplicaDataChangesResponse" />

  </message>

  <message name="GetNextResultPortionIn">

    <part name="parameters" element="e:GetNextResultPortion" />

  </message>

  <message name="GetNextResultPortionOut">

    <part name="parameters" element="e:GetNextResultPortionResponse" />

  </message>

  <message name="CreateReplicaIn">

    <part name="parameters" element="e:CreateReplica" />

  </message>

  <message name="CreateReplicaOut">

    <part name="parameters" element="e:CreateReplicaResponse" />

  </message>

  <message name="ImportDataIn">

    <part name="parameters" element="e:ImportData" />

  </message>

  <message name="ImportDataOut">

    <part name="parameters" element="e:ImportDataResponse" />

  </message>

  <message name="GetWrappedWorkspaceTypeIn">

    <part name="parameters" element="e:GetWrappedWorkspaceType" />

  </message>

  <message name="GetWrappedWorkspaceTypeOut">

    <part name="parameters" element="e:GetWrappedWorkspaceTypeResponse" />

  </message>

  <message name="GetDefaultWorkingVersionIn">

    <part name="parameters" element="e:GetDefaultWorkingVersion" />

  </message>

  <message name="GetDefaultWorkingVersionOut">

    <part name="parameters" element="e:GetDefaultWorkingVersionResponse" />

  </message>

  <message name="ImportReplicaSchemaChangesIn">

    <part name="parameters" element="e:ImportReplicaSchemaChanges" />

  </message>

  <message name="ImportReplicaSchemaChangesOut">

    <part name="parameters" element="e:ImportReplicaSchemaChangesResponse" />

  </message>

  <message name="ExportAcknowledgementIn">

    <part name="parameters" element="e:ExportAcknowledgement" />

  </message>

  <message name="ExportAcknowledgementOut">

    <part name="parameters" element="e:ExportAcknowledgementResponse" />

  </message>

  <message name="ExportReplicaSchemaIn">

    <part name="parameters" element="e:ExportReplicaSchema" />

  </message>

  <message name="ExportReplicaSchemaOut">

    <part name="parameters" element="e:ExportReplicaSchemaResponse" />

  </message>

  <message name="ReExportReplicaDataChangesIn">

    <part name="parameters" element="e:ReExportReplicaDataChanges" />

  </message>

  <message name="ReExportReplicaDataChangesOut">

    <part name="parameters" element="e:ReExportReplicaDataChangesResponse" />

  </message>

  <message name="ExtractDataIn">

    <part name="parameters" element="e:ExtractData" />

  </message>

  <message name="ExtractDataOut">

    <part name="parameters" element="e:ExtractDataResponse" />

  </message>

  <message name="ImportReplicaDataChangesIn">

    <part name="parameters" element="e:ImportReplicaDataChanges" />

  </message>

  <message name="ImportReplicaDataChangesOut">

    <part name="parameters" element="e:ImportReplicaDataChangesResponse" />

  </message>

  <message name="CompareReplicaSchemaIn">

    <part name="parameters" element="e:CompareReplicaSchema" />

  </message>

  <message name="CompareReplicaSchemaOut">

    <part name="parameters" element="e:CompareReplicaSchemaResponse" />

  </message>

  <message name="UnregisterReplicaIn">

    <part name="parameters" element="e:UnregisterReplica" />

  </message>

  <message name="UnregisterReplicaOut">

    <part name="parameters" element="e:UnregisterReplicaResponse" />

  </message>

  <message name="GetReplicasIn">

    <part name="parameters" element="e:GetReplicas" />

  </message>

  <message name="GetReplicasOut">

    <part name="parameters" element="e:GetReplicasResponse" />

  </message>

  <message name="GetDataElementsIn">

    <part name="parameters" element="e:GetDataElements" />

  </message>

  <message name="GetDataElementsOut">

    <part name="parameters" element="e:GetDataElementsResponse" />

  </message>

  <message name="GetReplicaIn">

    <part name="parameters" element="e:GetReplica" />

  </message>

  <message name="GetReplicaOut">

    <part name="parameters" element="e:GetReplicaResponse" />

  </message>

  <portType name="GeoDataServerPort">

    <documentation></documentation>

    <operation name="GetVersions">

      <input message="e:GetVersionsIn" />

      <output message="e:GetVersionsOut" />

    </operation>

    <operation name="TableSearch">

      <input message="e:TableSearchIn" />

      <output message="e:TableSearchOut" />

    </operation>

    <operation name="ExpandReplicaDatasets">

      <input message="e:ExpandReplicaDatasetsIn" />

      <output message="e:ExpandReplicaDatasetsOut" />

    </operation>

    <operation name="ImportAcknowledgement">

      <input message="e:ImportAcknowledgementIn" />

      <output message="e:ImportAcknowledgementOut" />

    </operation>

    <operation name="GetMaxRecordCount">

      <input message="e:GetMaxRecordCountIn" />

      <output message="e:GetMaxRecordCountOut" />

    </operation>

    <operation name="ExportReplicaDataChanges">

      <input message="e:ExportReplicaDataChangesIn" />

      <output message="e:ExportReplicaDataChangesOut" />

    </operation>

    <operation name="GetNextResultPortion">

      <input message="e:GetNextResultPortionIn" />

      <output message="e:GetNextResultPortionOut" />

    </operation>

    <operation name="CreateReplica">

      <input message="e:CreateReplicaIn" />

      <output message="e:CreateReplicaOut" />

    </operation>

    <operation name="ImportData">

      <input message="e:ImportDataIn" />

      <output message="e:ImportDataOut" />

    </operation>

    <operation name="GetWrappedWorkspaceType">

      <input message="e:GetWrappedWorkspaceTypeIn" />

      <output message="e:GetWrappedWorkspaceTypeOut" />

    </operation>

    <operation name="GetDefaultWorkingVersion">

      <input message="e:GetDefaultWorkingVersionIn" />

      <output message="e:GetDefaultWorkingVersionOut" />

    </operation>

    <operation name="ImportReplicaSchemaChanges">

      <input message="e:ImportReplicaSchemaChangesIn" />

      <output message="e:ImportReplicaSchemaChangesOut" />

    </operation>

    <operation name="ExportAcknowledgement">

      <input message="e:ExportAcknowledgementIn" />

      <output message="e:ExportAcknowledgementOut" />

    </operation>

    <operation name="ExportReplicaSchema">

      <input message="e:ExportReplicaSchemaIn" />

      <output message="e:ExportReplicaSchemaOut" />

    </operation>

    <operation name="ReExportReplicaDataChanges">

      <input message="e:ReExportReplicaDataChangesIn" />

      <output message="e:ReExportReplicaDataChangesOut" />

    </operation>

    <operation name="ExtractData">

      <input message="e:ExtractDataIn" />

      <output message="e:ExtractDataOut" />

    </operation>

    <operation name="ImportReplicaDataChanges">

      <input message="e:ImportReplicaDataChangesIn" />

      <output message="e:ImportReplicaDataChangesOut" />

    </operation>

    <operation name="CompareReplicaSchema">

      <input message="e:CompareReplicaSchemaIn" />

      <output message="e:CompareReplicaSchemaOut" />

    </operation>

    <operation name="UnregisterReplica">

      <input message="e:UnregisterReplicaIn" />

      <output message="e:UnregisterReplicaOut" />

    </operation>

    <operation name="GetReplicas">

      <input message="e:GetReplicasIn" />

      <output message="e:GetReplicasOut" />

    </operation>

    <operation name="GetDataElements">

      <input message="e:GetDataElementsIn" />

      <output message="e:GetDataElementsOut" />

    </operation>

    <operation name="GetReplica">

      <input message="e:GetReplicaIn" />

      <output message="e:GetReplicaOut" />

    </operation>

  </portType>

  <binding name="GeoDataServerBinding" type="e:GeoDataServerPort">

    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

    <operation name="GetVersions">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="TableSearch">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExpandReplicaDatasets">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ImportAcknowledgement">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetMaxRecordCount">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExportReplicaDataChanges">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetNextResultPortion">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="CreateReplica">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ImportData">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetWrappedWorkspaceType">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetDefaultWorkingVersion">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ImportReplicaSchemaChanges">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExportAcknowledgement">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExportReplicaSchema">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ReExportReplicaDataChanges">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ExtractData">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="ImportReplicaDataChanges">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="CompareReplicaSchema">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="UnregisterReplica">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetReplicas">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetDataElements">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

    <operation name="GetReplica">

      <soap:operation soapAction="" style="document" />

      <input>

        <soap:body use="literal" />

      </input>

      <output>

        <soap:body use="literal" />

      </output>

    </operation>

  </binding>

  <service name="#NAME#">

    <port name="GeoDataServerPort" binding="e:GeoDataServerBinding">

      <soap:address location="#URL#" />

    </port>

  </service>

</definitions>