<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s1="http://www.ivoa.net/xml/ADQL/v0.7.4" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s3="urn:nvo-coords" xmlns:s2="urn:nvo-region" xmlns:s4="http://vizier.u-strasbg.fr/xml/VOTable-1.1.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="SkyPortal.ivoa.net" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="SkyPortal.ivoa.net" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="SkyPortal.ivoa.net">
      <s:import namespace="http://www.ivoa.net/xml/ADQL/v0.7.4" />
      <s:import namespace="http://www.w3.org/2001/XMLSchema" />
      <s:import namespace="http://vizier.u-strasbg.fr/xml/VOTable-1.1.xsd" />
      <s:element name="NewPlan">
        <s:complexType />
      </s:element>
      <s:element name="NewPlanResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="NewPlanResult" type="s:long" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CheckSyntax">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="qry" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CheckSyntaxResponse">
        <s:complexType />
      </s:element>
      <s:element name="SetPlan">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="plan" type="tns:ExecPlan" />
            <s:element minOccurs="1" maxOccurs="1" name="isJustUpdate" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ExecPlan">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="PlanId" type="s:long" />
          <s:element minOccurs="0" maxOccurs="1" name="Format" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PortalURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="UploadTableName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="UploadTableAlias" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PlanElements" type="tns:ArrayOfPlanElement" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfPlanElement">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PlanElement" nillable="true" type="tns:PlanElement" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PlanElement">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Statement" type="s1:selectType" />
          <s:element minOccurs="1" maxOccurs="1" name="Sigma" type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="Target" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Hosts" type="tns:ArrayOfString" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="SetPlanResponse">
        <s:complexType />
      </s:element>
      <s:element name="UpdateStatusWithMessage">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="fromNode" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="status" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="rows" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateStatusWithMessageResponse">
        <s:complexType />
      </s:element>
      <s:element name="UpdateStatus">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="fromNode" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="status" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="rows" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateStatusResponse">
        <s:complexType />
      </s:element>
      <s:element name="FailPlan">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FailPlanResponse">
        <s:complexType />
      </s:element>
      <s:element name="CompletePlan">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="result" type="tns:VOData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="VOData" abstract="true" />
      <s:complexType name="DataSetData">
        <s:complexContent mixed="false">
          <s:extension base="tns:VOData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="DataSet">
                <s:complexType>
                  <s:sequence>
                    <s:element ref="s:schema" />
                    <s:any />
                  </s:sequence>
                </s:complexType>
              </s:element>
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="VOTableData">
        <s:complexContent mixed="false">
          <s:extension base="tns:VOData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="VOTABLE" type="s4:VOTABLE" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="StringData">
        <s:complexContent mixed="false">
          <s:extension base="tns:VOData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="TheString" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ErrorData">
        <s:complexContent mixed="false">
          <s:extension base="tns:VOData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Error" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="CompletePlanResponse">
        <s:complexType />
      </s:element>
      <s:element name="CompletePlanWithStatus">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="status" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="result" type="tns:VOData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CompletePlanWithStatusResponse">
        <s:complexType />
      </s:element>
      <s:element name="NodeLog">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="planid" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="node" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="status" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="log" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="NodeLogResponse">
        <s:complexType />
      </s:element>
      <s:element name="FetchLog">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="node" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="howmany" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FetchLogResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="FetchLogResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FetchPlanLog">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="node" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="id" type="s:long" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FetchPlanLogResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="FetchPlanLogResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.ivoa.net/xml/ADQL/v0.7.4">
      <s:import namespace="urn:nvo-region" />
      <s:complexType name="selectType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Allow" type="s1:selectionOptionType" />
          <s:element minOccurs="0" maxOccurs="1" name="Restrict" type="s1:selectionLimitType" />
          <s:element minOccurs="0" maxOccurs="1" name="SelectionList" type="s1:selectionListType" />
          <s:element minOccurs="0" maxOccurs="1" name="From" type="s1:fromType" />
          <s:element minOccurs="0" maxOccurs="1" name="Where" type="s1:whereType" />
          <s:element minOccurs="0" maxOccurs="1" name="GroupBy" type="s1:groupByType" />
          <s:element minOccurs="0" maxOccurs="1" name="Having" type="s1:havingType" />
          <s:element minOccurs="0" maxOccurs="1" name="OrderBy" type="s1:orderExpressionType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="selectionOptionType">
        <s:attribute name="Option" type="s1:allOrDistinctType" use="required" />
      </s:complexType>
      <s:simpleType name="allOrDistinctType">
        <s:restriction base="s:string">
          <s:enumeration value="All" />
          <s:enumeration value="DISTINCT" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="selectionLimitType">
        <s:attribute name="Top" type="s:unsignedInt" use="required" />
      </s:complexType>
      <s:complexType name="selectionListType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Item" type="s1:selectionItemType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="selectionItemType" abstract="true" />
      <s:complexType name="scalarExpressionType" abstract="true">
        <s:complexContent mixed="false">
          <s:extension base="s1:selectionItemType" />
        </s:complexContent>
      </s:complexType>
      <s:complexType name="closedExprType">
        <s:complexContent mixed="false">
          <s:extension base="s1:scalarExpressionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Arg" type="s1:scalarExpressionType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="binaryExprType">
        <s:complexContent mixed="false">
          <s:extension base="s1:scalarExpressionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Arg" type="s1:scalarExpressionType" />
            </s:sequence>
            <s:attribute name="Oper" type="s1:binaryOperatorType" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:simpleType name="binaryOperatorType">
        <s:restriction base="s:string">
          <s:enumeration value="+" />
          <s:enumeration value="-" />
          <s:enumeration value="*" />
          <s:enumeration value="/" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="unaryExprType">
        <s:complexContent mixed="false">
          <s:extension base="s1:scalarExpressionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Arg" type="s1:scalarExpressionType" />
            </s:sequence>
            <s:attribute name="Oper" type="s1:unaryOperatorType" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:simpleType name="unaryOperatorType">
        <s:restriction base="s:string">
          <s:enumeration value="+" />
          <s:enumeration value="-" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="columnReferenceType">
        <s:complexContent mixed="false">
          <s:extension base="s1:scalarExpressionType">
            <s:attribute name="Table" type="s:string" />
            <s:attribute name="Name" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="atomType">
        <s:complexContent mixed="false">
          <s:extension base="s1:scalarExpressionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Literal" type="s1:literalType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="literalType" abstract="true" />
      <s:complexType name="numberType" abstract="true">
        <s:complexContent mixed="false">
          <s:extension base="s1:literalType" />
        </s:complexContent>
      </s:complexType>
      <s:complexType name="realType">
        <s:complexContent mixed="false">
          <s:extension base="s1:numberType">
            <s:attribute name="Value" type="s:double" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="integerType">
        <s:complexContent mixed="false">
          <s:extension base="s1:numberType">
            <s:attribute name="Value" type="s:long" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="stringType">
        <s:complexContent mixed="false">
          <s:extension base="s1:literalType">
            <s:attribute name="Value" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="functionType" abstract="true">
        <s:complexContent mixed="false">
          <s:extension base="s1:scalarExpressionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Allow" type="s1:selectionOptionType" />
              <s:element minOccurs="0" maxOccurs="1" name="Arg" type="s1:selectionItemType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="trigonometricFunctionType">
        <s:complexContent mixed="false">
          <s:extension base="s1:functionType">
            <s:attribute name="Name" type="s1:trigonometricFunctionNameType" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:simpleType name="trigonometricFunctionNameType">
        <s:restriction base="s:string">
          <s:enumeration value="SIN" />
          <s:enumeration value="COS" />
          <s:enumeration value="TAN" />
          <s:enumeration value="COT" />
          <s:enumeration value="ASIN" />
          <s:enumeration value="ACOS" />
          <s:enumeration value="ATAN" />
          <s:enumeration value="ATAN2" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="mathFunctionType">
        <s:complexContent mixed="false">
          <s:extension base="s1:functionType">
            <s:attribute name="Name" type="s1:mathFunctionNameType" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:simpleType name="mathFunctionNameType">
        <s:restriction base="s:string">
          <s:enumeration value="ABS" />
          <s:enumeration value="CEILING" />
          <s:enumeration value="DEGREES" />
          <s:enumeration value="EXP" />
          <s:enumeration value="FLOOR" />
          <s:enumeration value="LOG" />
          <s:enumeration value="PI" />
          <s:enumeration value="POWER" />
          <s:enumeration value="RADIANS" />
          <s:enumeration value="SQRT" />
          <s:enumeration value="SQUARE" />
          <s:enumeration value="LOG10" />
          <s:enumeration value="RAND" />
          <s:enumeration value="ROUND" />
          <s:enumeration value="TRUNCATE" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="aggregateFunctionType">
        <s:complexContent mixed="false">
          <s:extension base="s1:functionType">
            <s:attribute name="Name" type="s1:aggregateFunctionNameType" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:simpleType name="aggregateFunctionNameType">
        <s:restriction base="s:string">
          <s:enumeration value="AVG" />
          <s:enumeration value="MIN" />
          <s:enumeration value="MAX" />
          <s:enumeration value="SUM" />
          <s:enumeration value="COUNT" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="aliasSelectionItemType">
        <s:complexContent mixed="false">
          <s:extension base="s1:selectionItemType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Expression" type="s1:scalarExpressionType" />
            </s:sequence>
            <s:attribute name="As" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="allSelectionItemType">
        <s:complexContent mixed="false">
          <s:extension base="s1:selectionItemType" />
        </s:complexContent>
      </s:complexType>
      <s:complexType name="fromType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Table" type="s1:fromTableType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="fromTableType" abstract="true" />
      <s:complexType name="archiveTableType">
        <s:complexContent mixed="false">
          <s:extension base="s1:fromTableType">
            <s:attribute name="Archive" type="s:string" />
            <s:attribute name="Name" type="s:string" />
            <s:attribute name="Alias" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="tableType">
        <s:complexContent mixed="false">
          <s:extension base="s1:fromTableType">
            <s:attribute name="Name" type="s:string" />
            <s:attribute name="Alias" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="whereType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Condition" type="s1:searchType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="searchType" abstract="true" />
      <s:complexType name="intersectionSearchType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Condition" type="s1:searchType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="unionSearchType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Condition" type="s1:searchType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="xMatchType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Table" type="s1:xMatchTableAliasType" />
              <s:element minOccurs="1" maxOccurs="1" name="Nature" type="s1:comparisonType" />
              <s:element minOccurs="0" maxOccurs="1" name="Sigma" type="s1:numberType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="xMatchTableAliasType" abstract="true" />
      <s:complexType name="includeTableType">
        <s:complexContent mixed="false">
          <s:extension base="s1:xMatchTableAliasType">
            <s:attribute name="Name" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="dropTableType">
        <s:complexContent mixed="false">
          <s:extension base="s1:xMatchTableAliasType">
            <s:attribute name="Name" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:simpleType name="comparisonType">
        <s:restriction base="s:string">
          <s:enumeration value="=" />
          <s:enumeration value="&lt;&gt;" />
          <s:enumeration value="&gt;" />
          <s:enumeration value="&gt;=" />
          <s:enumeration value="&lt;" />
          <s:enumeration value="&lt;=" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="likePredType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Arg" type="s1:scalarExpressionType" />
              <s:element minOccurs="0" maxOccurs="1" name="Pattern" type="s1:atomType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="notLikePredType">
        <s:complexContent mixed="false">
          <s:extension base="s1:likePredType" />
        </s:complexContent>
      </s:complexType>
      <s:complexType name="closedSearchType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Condition" type="s1:searchType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="comparisonPredType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Arg" type="s1:scalarExpressionType" />
            </s:sequence>
            <s:attribute name="Comparison" type="s1:comparisonType" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="betweenPredType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Arg" type="s1:scalarExpressionType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="notBetweenPredType">
        <s:complexContent mixed="false">
          <s:extension base="s1:betweenPredType" />
        </s:complexContent>
      </s:complexType>
      <s:complexType name="inverseSearchType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Condition" type="s1:searchType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="regionSearchType">
        <s:complexContent mixed="false">
          <s:extension base="s1:searchType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Region" type="s2:regionType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="groupByType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Column" type="s1:columnReferenceType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="havingType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Condition" type="s1:searchType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="orderExpressionType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Item" type="s1:orderType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="orderType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Expression" type="s1:scalarExpressionType" />
          <s:element minOccurs="0" maxOccurs="1" name="Order" type="s1:orderOptionType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="orderOptionType">
        <s:attribute name="Direction" type="s1:orderDirectionType" use="required" />
      </s:complexType>
      <s:simpleType name="orderDirectionType">
        <s:restriction base="s:string">
          <s:enumeration value="ASC" />
          <s:enumeration value="DESC" />
        </s:restriction>
      </s:simpleType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="urn:nvo-region">
      <s:import namespace="urn:nvo-coords" />
      <s:complexType name="regionType" abstract="true">
        <s:attribute default="1" name="fill_factor" type="s:double" />
        <s:attribute name="note" type="s:string" />
      </s:complexType>
      <s:complexType name="unionType">
        <s:complexContent mixed="false">
          <s:extension base="s2:regionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Region" type="s2:regionType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="negationType">
        <s:complexContent mixed="false">
          <s:extension base="s2:regionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Region" type="s2:regionType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="shapeType" abstract="true">
        <s:complexContent mixed="false">
          <s:extension base="s2:regionType">
            <s:attribute name="coord_system_id" type="s:IDREF" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="convexHullType">
        <s:complexContent mixed="false">
          <s:extension base="s2:shapeType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Point" type="s3:coordsType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="circleType">
        <s:complexContent mixed="false">
          <s:extension base="s2:shapeType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Center" type="s3:coordsType" />
              <s:element minOccurs="1" maxOccurs="1" name="Radius" type="s:double" />
            </s:sequence>
            <s:attribute default="deg" name="radius_unit" type="s3:posUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ellipseType">
        <s:complexContent mixed="false">
          <s:extension base="s2:circleType">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="MinorRadius" type="s:double" />
              <s:element minOccurs="1" maxOccurs="1" name="PosAngle" type="s:double" />
            </s:sequence>
            <s:attribute default="deg" name="pos_angle_unit" type="s3:angleUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="convexType">
        <s:complexContent mixed="false">
          <s:extension base="s2:shapeType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Constraint" type="s2:constraintType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="constraintType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Vector" type="s3:coordsType" />
          <s:element minOccurs="1" maxOccurs="1" name="Offset" type="s:double" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="sectorType">
        <s:complexContent mixed="false">
          <s:extension base="s2:shapeType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Position" type="s3:coordsType" />
              <s:element minOccurs="1" maxOccurs="1" name="PosAngle1" type="s:double" />
              <s:element minOccurs="1" maxOccurs="1" name="PosAngle2" type="s:double" />
            </s:sequence>
            <s:attribute default="deg" name="pos_angle_unit" type="s3:posUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="polygonType">
        <s:complexContent mixed="false">
          <s:extension base="s2:shapeType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Vertex" type="s2:vertexType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="vertexType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Position" type="s3:coordsType" />
          <s:element minOccurs="1" maxOccurs="1" name="SmallCircle" nillable="true" type="s2:smallCircleType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="smallCircleType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Pole" type="s3:coordsType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="intersectionType">
        <s:complexContent mixed="false">
          <s:extension base="s2:regionType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Region" type="s2:regionType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="urn:nvo-coords">
      <s:complexType name="coordsType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="0" maxOccurs="1" name="VelScalar" type="s3:velScalarType" />
            <s:element minOccurs="0" maxOccurs="1" name="Vel3Vector" type="s3:vel3VectorType" />
            <s:element minOccurs="0" maxOccurs="1" name="Spectrum" type="s3:coordSpectralType" />
            <s:element minOccurs="0" maxOccurs="1" name="CoordFile" type="s:anyURI" />
            <s:element minOccurs="0" maxOccurs="1" name="Time" type="s3:coordTimeType" />
            <s:element minOccurs="0" maxOccurs="1" name="Vel2Vector" type="s3:vel2VectorType" />
            <s:element minOccurs="0" maxOccurs="1" name="Pos2Vector" type="s3:pos2VectorType" />
            <s:element minOccurs="0" maxOccurs="1" name="PosScalar" type="s3:posScalarType" />
            <s:element minOccurs="0" maxOccurs="1" name="Pos3Vector" type="s3:pos3VectorType" />
            <s:element minOccurs="0" maxOccurs="1" name="Redshift" type="s3:velScalarType" />
          </s:choice>
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="coord_system_id" type="s:IDREF" />
      </s:complexType>
      <s:complexType name="velScalarType">
        <s:complexContent mixed="false">
          <s:extension base="s3:velCoordType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coordValueType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="velCoordType" abstract="true">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
        </s:sequence>
        <s:attribute default="s" name="vel_time_unit" type="s3:velTimeUnitType" />
      </s:complexType>
      <s:simpleType name="velTimeUnitType">
        <s:restriction base="s:string">
          <s:enumeration value="s" />
          <s:enumeration value="h" />
          <s:enumeration value="d" />
          <s:enumeration value="a" />
          <s:enumeration value="yr" />
          <s:enumeration value="century" />
          <s:enumeration value="" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="vel2VectorType">
        <s:complexContent mixed="false">
          <s:extension base="s3:velCoordType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coord2ValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coord2SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coord2SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coord2SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coord2SizeType" />
            </s:sequence>
            <s:attribute default="deg" name="pos_ang_unit" type="s3:angleUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="coord2ValueType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="0" maxOccurs="1" name="Value" type="s3:ArrayOfDouble" />
            <s:element minOccurs="0" maxOccurs="1" name="Value60" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREFS" />
          </s:choice>
        </s:sequence>
        <s:attribute default="deg" name="pos1_unit" type="s3:posUnitType" />
        <s:attribute default="deg" name="pos2_unit" type="s3:posUnitType" />
      </s:complexType>
      <s:complexType name="ArrayOfDouble">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="double" type="s:double" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="posUnitType">
        <s:restriction base="s:string">
          <s:enumeration value="deg" />
          <s:enumeration value="rad" />
          <s:enumeration value="h" />
          <s:enumeration value="arcmin" />
          <s:enumeration value="arcsec" />
          <s:enumeration value="m" />
          <s:enumeration value="km" />
          <s:enumeration value="mm" />
          <s:enumeration value="au" />
          <s:enumeration value="pc" />
          <s:enumeration value="kpc" />
          <s:enumeration value="Mpc" />
          <s:enumeration value="lyr" />
          <s:enumeration value="" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="coord2SizeType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREFS" />
            <s:element minOccurs="1" maxOccurs="1" name="Matrix" type="s:double" />
            <s:element minOccurs="0" maxOccurs="1" name="PosAngleRef" type="s:IDREF" />
            <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
            <s:element minOccurs="1" maxOccurs="1" name="PosAngle" type="s:double" />
          </s:choice>
        </s:sequence>
        <s:attribute default="deg" name="pos1_unit" type="s3:posUnitType" />
        <s:attribute default="deg" name="pos2_unit" type="s3:posUnitType" />
      </s:complexType>
      <s:simpleType name="angleUnitType">
        <s:restriction base="s:string">
          <s:enumeration value="deg" />
          <s:enumeration value="rad" />
          <s:enumeration value="h" />
          <s:enumeration value="arcmin" />
          <s:enumeration value="arcsec" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="vel3VectorType">
        <s:complexContent mixed="false">
          <s:extension base="s3:velCoordType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coord3ValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coord3SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coord3SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coord3SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coord3SizeType" />
            </s:sequence>
            <s:attribute default="deg" name="pos_ang_unit" type="s3:angleUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="coord3ValueType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="0" maxOccurs="1" name="Value" type="s3:ArrayOfDouble" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREFS" />
          </s:choice>
        </s:sequence>
        <s:attribute name="pos1_unit" type="s3:posUnitType" />
        <s:attribute name="pos2_unit" type="s3:posUnitType" />
        <s:attribute name="pos3_unit" type="s3:posUnitType" />
      </s:complexType>
      <s:complexType name="coord3SizeType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
            <s:element minOccurs="0" maxOccurs="1" name="PosAngleRef" type="s:IDREFS" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREFS" />
            <s:element minOccurs="1" maxOccurs="1" name="PosAngle" type="s:double" />
            <s:element minOccurs="1" maxOccurs="1" name="Matrix" type="s:double" />
          </s:choice>
        </s:sequence>
        <s:attribute name="pos1_unit" type="s3:posUnitType" />
        <s:attribute name="pos2_unit" type="s3:posUnitType" />
        <s:attribute name="pos3_unit" type="s3:posUnitType" />
      </s:complexType>
      <s:complexType name="coordValueType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
            <s:element minOccurs="0" maxOccurs="1" name="Value60" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREF" />
          </s:choice>
        </s:sequence>
        <s:attribute default="deg" name="pos_unit" type="s3:posUnitType" />
      </s:complexType>
      <s:complexType name="coordSpectralType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coordSpectralValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coordSpectralValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coordSpectralValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coordSpectralValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coordSpectralValueType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="coordSpectralValueType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREF" />
          </s:choice>
        </s:sequence>
        <s:attribute default="Hz" name="spectral_unit" type="s3:spectralUnitType" />
      </s:complexType>
      <s:simpleType name="spectralUnitType">
        <s:restriction base="s:string">
          <s:enumeration value="Hz" />
          <s:enumeration value="kHz" />
          <s:enumeration value="MHz" />
          <s:enumeration value="GHz" />
          <s:enumeration value="m" />
          <s:enumeration value="mm" />
          <s:enumeration value="micron" />
          <s:enumeration value="nm" />
          <s:enumeration value="A" />
          <s:enumeration value="eV" />
          <s:enumeration value="keV" />
          <s:enumeration value="MeV" />
          <s:enumeration value="GeV" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="coordTimeType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:astronTimeType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coordTimeValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coordTimeValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coordTimeValueType" />
          <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coordTimeValueType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="astronTimeType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="1" maxOccurs="1" name="MJDRefTime" type="s:decimal" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s3:astronTimeTypeReference" />
            <s:element minOccurs="0" maxOccurs="1" name="RelativeTime" type="s3:astronTimeTypeRelativeTime" />
            <s:element minOccurs="1" maxOccurs="1" name="ISORefTime" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="ISOTime" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="JDTime" type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="MJDTime" type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="JDRefTime" type="s:decimal" />
          </s:choice>
          <s:element minOccurs="1" maxOccurs="1" name="TimeScale" type="s3:timeScaleType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="astronTimeTypeReference">
        <s:simpleContent>
          <s:extension base="s:IDREF">
            <s:attribute default="ISO8601" name="time_base" type="s3:astronTimeTypeReferenceTime_base" />
            <s:attribute default="s" name="unit" type="s3:astronTimeTypeReferenceUnit" />
          </s:extension>
        </s:simpleContent>
      </s:complexType>
      <s:simpleType name="astronTimeTypeReferenceTime_base">
        <s:restriction base="s:string">
          <s:enumeration value="ISO8601" />
          <s:enumeration value="JD" />
          <s:enumeration value="MJD" />
          <s:enumeration value="relative" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="astronTimeTypeReferenceUnit">
        <s:restriction base="s:string">
          <s:enumeration value="s" />
          <s:enumeration value="d" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="astronTimeTypeRelativeTime">
        <s:simpleContent>
          <s:extension base="s:double">
            <s:attribute default="s" name="unit" type="s3:astronTimeTypeRelativeTimeUnit" />
          </s:extension>
        </s:simpleContent>
      </s:complexType>
      <s:simpleType name="astronTimeTypeRelativeTimeUnit">
        <s:restriction base="s:string">
          <s:enumeration value="s" />
          <s:enumeration value="d" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="timeScaleType">
        <s:restriction base="s:string">
          <s:enumeration value="TT" />
          <s:enumeration value="TDT" />
          <s:enumeration value="ET" />
          <s:enumeration value="TDB" />
          <s:enumeration value="TCG" />
          <s:enumeration value="TCB" />
          <s:enumeration value="TAI" />
          <s:enumeration value="IAT" />
          <s:enumeration value="UTC" />
          <s:enumeration value="LST" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="coordTimeValueType">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
            <s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:IDREF" />
          </s:choice>
        </s:sequence>
        <s:attribute default="s" name="time_unit" type="s3:velTimeUnitType" />
      </s:complexType>
      <s:complexType name="pos2VectorType">
        <s:complexContent mixed="false">
          <s:extension base="s3:posCoordType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coord2ValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coord2SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coord2SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coord2SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coord2SizeType" />
            </s:sequence>
            <s:attribute default="deg" name="pos_ang_unit" type="s3:angleUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="posCoordType" abstract="true">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="pos3VectorType">
        <s:complexContent mixed="false">
          <s:extension base="s3:posCoordType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coord3ValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coord3SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coord3SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coord3SizeType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coord3SizeType" />
            </s:sequence>
            <s:attribute default="deg" name="pos_ang_unit" type="s3:angleUnitType" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="posScalarType">
        <s:complexContent mixed="false">
          <s:extension base="s3:posCoordType">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CoordValue" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordError" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordResolution" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordSize" type="s3:coordValueType" />
              <s:element minOccurs="0" maxOccurs="1" name="CoordPixsize" type="s3:coordValueType" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://vizier.u-strasbg.fr/xml/VOTable-1.1.xsd">
      <s:complexType name="VOTABLE">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DESCRIPTION" type="s4:anyTEXT" />
          <s:element minOccurs="0" maxOccurs="1" name="DEFINITIONS" type="s4:ArrayOfChoice1" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="INFO" type="s4:INFO" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="RESOURCE" type="s4:RESOURCE" />
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="version" type="s4:VOTABLEVersion" />
      </s:complexType>
      <s:complexType name="anyTEXT" mixed="true">
        <s:sequence>
          <s:any minOccurs="0" maxOccurs="unbounded" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfChoice1">
        <s:choice minOccurs="0" maxOccurs="unbounded">
          <s:element minOccurs="0" maxOccurs="1" name="PARAM" type="s4:PARAM" />
          <s:element minOccurs="0" maxOccurs="1" name="COOSYS" type="s4:COOSYS" />
        </s:choice>
      </s:complexType>
      <s:complexType name="PARAM">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DESCRIPTION" type="s4:anyTEXT" />
          <s:element minOccurs="0" maxOccurs="1" name="VALUES" type="s4:VALUES" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="LINK" type="s4:LINK" />
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="unit" type="s:token" />
        <s:attribute name="datatype" type="s4:dataType" use="required" />
        <s:attribute name="precision" type="s:token" />
        <s:attribute name="width" type="s:positiveInteger" />
        <s:attribute name="ref" type="s:IDREF" />
        <s:attribute name="name" type="s:token" />
        <s:attribute name="ucd" type="s:token" />
        <s:attribute name="utype" type="s:string" />
        <s:attribute name="value" type="s:string" />
        <s:attribute name="arraysize" type="s:token" />
      </s:complexType>
      <s:complexType name="VALUES">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="MIN" type="s4:MIN" />
          <s:element minOccurs="0" maxOccurs="1" name="MAX" type="s4:MAX" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="OPTION" type="s4:OPTION" />
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute default="legal" name="type" type="s4:VALUESType" />
        <s:attribute name="null" type="s:token" />
        <s:attribute name="ref" type="s:IDREF" />
      </s:complexType>
      <s:complexType name="MIN">
        <s:attribute name="value" type="s:string" />
        <s:attribute default="yes" name="inclusive" type="s4:yesno" />
      </s:complexType>
      <s:simpleType name="yesno">
        <s:restriction base="s:string">
          <s:enumeration value="yes" />
          <s:enumeration value="no" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="MAX">
        <s:attribute name="value" type="s:string" />
        <s:attribute default="yes" name="inclusive" type="s4:yesno" />
      </s:complexType>
      <s:complexType name="OPTION">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="OPTION" type="s4:OPTION" />
        </s:sequence>
        <s:attribute name="name" type="s:token" />
        <s:attribute name="value" type="s:string" />
      </s:complexType>
      <s:simpleType name="VALUESType">
        <s:restriction base="s:string">
          <s:enumeration value="legal" />
          <s:enumeration value="actual" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="LINK" mixed="true">
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="content-role" type="s4:LINKContentrole" />
        <s:attribute name="content-type" type="s:token" />
        <s:attribute name="title" type="s:string" />
        <s:attribute name="value" type="s:string" />
        <s:attribute name="href" type="s:anyURI" />
        <s:attribute name="gref" type="s:token" />
        <s:attribute name="action" type="s:anyURI" />
      </s:complexType>
      <s:simpleType name="LINKContentrole">
        <s:restriction base="s:string">
          <s:enumeration value="query" />
          <s:enumeration value="hints" />
          <s:enumeration value="doc" />
          <s:enumeration value="location" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="dataType">
        <s:restriction base="s:string">
          <s:enumeration value="boolean" />
          <s:enumeration value="bit" />
          <s:enumeration value="unsignedByte" />
          <s:enumeration value="short" />
          <s:enumeration value="int" />
          <s:enumeration value="long" />
          <s:enumeration value="char" />
          <s:enumeration value="unicodeChar" />
          <s:enumeration value="float" />
          <s:enumeration value="double" />
          <s:enumeration value="floatComplex" />
          <s:enumeration value="doubleComplex" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="COOSYS" mixed="true">
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="equinox" type="s:token" />
        <s:attribute name="epoch" type="s:token" />
        <s:attribute default="eq_FK5" name="system" type="s4:COOSYSSystem" />
      </s:complexType>
      <s:simpleType name="COOSYSSystem">
        <s:restriction base="s:string">
          <s:enumeration value="eq_FK4" />
          <s:enumeration value="eq_FK5" />
          <s:enumeration value="ICRS" />
          <s:enumeration value="ecl_FK4" />
          <s:enumeration value="ecl_FK5" />
          <s:enumeration value="galactic" />
          <s:enumeration value="supergalactic" />
          <s:enumeration value="xy" />
          <s:enumeration value="barycentric" />
          <s:enumeration value="geo_app" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="INFO" mixed="true">
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="name" type="s:token" />
        <s:attribute name="value" type="s:string" />
      </s:complexType>
      <s:complexType name="RESOURCE">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DESCRIPTION" type="s4:anyTEXT" />
          <s:choice minOccurs="0" maxOccurs="unbounded">
            <s:element minOccurs="0" maxOccurs="1" name="PARAM" type="s4:PARAM" />
            <s:element minOccurs="0" maxOccurs="1" name="INFO" type="s4:INFO" />
            <s:element minOccurs="0" maxOccurs="1" name="COOSYS" type="s4:COOSYS" />
          </s:choice>
          <s:element minOccurs="0" maxOccurs="unbounded" name="LINK" type="s4:LINK" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="TABLE" type="s4:TABLE" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="RESOURCE" type="s4:RESOURCE" />
          <s:any minOccurs="0" maxOccurs="unbounded" />
        </s:sequence>
        <s:attribute name="name" type="s:token" />
        <s:attribute name="ID" type="s:ID" />
        <s:attribute default="results" name="type" type="s4:RESOURCEType" />
        <s:anyAttribute />
      </s:complexType>
      <s:complexType name="TABLE">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DESCRIPTION" type="s4:anyTEXT" />
          <s:choice minOccurs="0" maxOccurs="unbounded">
            <s:element minOccurs="0" maxOccurs="1" name="PARAM" type="s4:PARAM" />
            <s:element minOccurs="0" maxOccurs="1" name="FIELD" type="s4:FIELD" />
            <s:element minOccurs="0" maxOccurs="1" name="GROUP" type="s4:GROUP" />
          </s:choice>
          <s:element minOccurs="0" maxOccurs="unbounded" name="LINK" type="s4:LINK" />
          <s:element minOccurs="0" maxOccurs="1" name="DATA" type="s4:DATA" />
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="name" type="s:token" />
        <s:attribute name="ref" type="s:IDREF" />
      </s:complexType>
      <s:complexType name="FIELD">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DESCRIPTION" type="s4:anyTEXT" />
          <s:element minOccurs="0" maxOccurs="1" name="VALUES" type="s4:VALUES" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="LINK" type="s4:LINK" />
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="unit" type="s:token" />
        <s:attribute name="datatype" type="s4:dataType" use="required" />
        <s:attribute name="precision" type="s:token" />
        <s:attribute name="width" type="s:positiveInteger" />
        <s:attribute name="ref" type="s:IDREF" />
        <s:attribute name="name" type="s:token" />
        <s:attribute name="ucd" type="s:token" />
        <s:attribute name="utype" type="s:string" />
        <s:attribute name="arraysize" type="s:string" />
      </s:complexType>
      <s:complexType name="GROUP">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DESCRIPTION" type="s4:anyTEXT" />
          <s:choice minOccurs="0" maxOccurs="unbounded">
            <s:element minOccurs="0" maxOccurs="1" name="PARAMref" type="s4:PARAMref" />
            <s:element minOccurs="0" maxOccurs="1" name="PARAM" type="s4:PARAM" />
            <s:element minOccurs="0" maxOccurs="1" name="FIELDref" type="s4:FIELDref" />
            <s:element minOccurs="0" maxOccurs="1" name="FIELD" type="s4:FIELD" />
            <s:element minOccurs="0" maxOccurs="1" name="GROUP" type="s4:GROUP" />
          </s:choice>
        </s:sequence>
        <s:attribute name="ID" type="s:ID" />
        <s:attribute name="name" type="s:token" />
        <s:attribute name="ref" type="s:IDREF" />
        <s:attribute name="ucd" type="s:token" />
        <s:attribute name="utype" type="s:string" />
      </s:complexType>
      <s:complexType name="PARAMref">
        <s:attribute name="ref" type="s:IDREF" />
      </s:complexType>
      <s:complexType name="FIELDref">
        <s:attribute name="ref" type="s:IDREF" />
      </s:complexType>
      <s:complexType name="DATA">
        <s:sequence>
          <s:choice minOccurs="1" maxOccurs="1">
            <s:element minOccurs="0" maxOccurs="1" name="TABLEDATA" type="s4:TABLEDATA" />
            <s:element minOccurs="0" maxOccurs="1" name="FITS" type="s4:FITS" />
            <s:element minOccurs="0" maxOccurs="1" name="BINARY" type="s4:BINARY" />
          </s:choice>
        </s:sequence>
      </s:complexType>
      <s:complexType name="TABLEDATA">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="TR" type="s4:TR" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="TR">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="TD" type="s4:TD" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="TD" mixed="true">
        <s:attribute name="encoding" type="s4:encodingType" />
      </s:complexType>
      <s:simpleType name="encodingType">
        <s:restriction base="s:string">
          <s:enumeration value="gzip" />
          <s:enumeration value="base64" />
          <s:enumeration value="dynamic" />
          <s:enumeration value="none" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="FITS">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="STREAM" type="s4:STREAM" />
        </s:sequence>
        <s:attribute name="extnum" type="s:positiveInteger" />
      </s:complexType>
      <s:complexType name="STREAM">
        <s:simpleContent>
          <s:extension base="s:string">
            <s:attribute default="locator" name="type" type="s4:STREAMType" />
            <s:attribute name="href" type="s:anyURI" />
            <s:attribute default="onRequest" name="actuate" type="s4:STREAMActuate" />
            <s:attribute default="none" name="encoding" type="s4:encodingType" />
            <s:attribute name="expires" type="s:dateTime" />
            <s:attribute name="rights" type="s:token" />
          </s:extension>
        </s:simpleContent>
      </s:complexType>
      <s:simpleType name="STREAMType">
        <s:restriction base="s:string">
          <s:enumeration value="locator" />
          <s:enumeration value="other" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="STREAMActuate">
        <s:restriction base="s:string">
          <s:enumeration value="onLoad" />
          <s:enumeration value="onRequest" />
          <s:enumeration value="other" />
          <s:enumeration value="none" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="BINARY">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="STREAM" type="s4:STREAM" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="RESOURCEType">
        <s:restriction base="s:string">
          <s:enumeration value="results" />
          <s:enumeration value="meta" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="VOTABLEVersion">
        <s:restriction base="s:string">
          <s:enumeration value="1.1" />
        </s:restriction>
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="NewPlanSoapIn">
    <wsdl:part name="parameters" element="tns:NewPlan" />
  </wsdl:message>
  <wsdl:message name="NewPlanSoapOut">
    <wsdl:part name="parameters" element="tns:NewPlanResponse" />
  </wsdl:message>
  <wsdl:message name="CheckSyntaxSoapIn">
    <wsdl:part name="parameters" element="tns:CheckSyntax" />
  </wsdl:message>
  <wsdl:message name="CheckSyntaxSoapOut">
    <wsdl:part name="parameters" element="tns:CheckSyntaxResponse" />
  </wsdl:message>
  <wsdl:message name="SetPlanSoapIn">
    <wsdl:part name="parameters" element="tns:SetPlan" />
  </wsdl:message>
  <wsdl:message name="SetPlanSoapOut">
    <wsdl:part name="parameters" element="tns:SetPlanResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateStatusWithMessageSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateStatusWithMessage" />
  </wsdl:message>
  <wsdl:message name="UpdateStatusWithMessageSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateStatusWithMessageResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateStatusSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateStatus" />
  </wsdl:message>
  <wsdl:message name="UpdateStatusSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateStatusResponse" />
  </wsdl:message>
  <wsdl:message name="FailPlanSoapIn">
    <wsdl:part name="parameters" element="tns:FailPlan" />
  </wsdl:message>
  <wsdl:message name="FailPlanSoapOut">
    <wsdl:part name="parameters" element="tns:FailPlanResponse" />
  </wsdl:message>
  <wsdl:message name="CompletePlanSoapIn">
    <wsdl:part name="parameters" element="tns:CompletePlan" />
  </wsdl:message>
  <wsdl:message name="CompletePlanSoapOut">
    <wsdl:part name="parameters" element="tns:CompletePlanResponse" />
  </wsdl:message>
  <wsdl:message name="CompletePlanWithStatusSoapIn">
    <wsdl:part name="parameters" element="tns:CompletePlanWithStatus" />
  </wsdl:message>
  <wsdl:message name="CompletePlanWithStatusSoapOut">
    <wsdl:part name="parameters" element="tns:CompletePlanWithStatusResponse" />
  </wsdl:message>
  <wsdl:message name="NodeLogSoapIn">
    <wsdl:part name="parameters" element="tns:NodeLog" />
  </wsdl:message>
  <wsdl:message name="NodeLogSoapOut">
    <wsdl:part name="parameters" element="tns:NodeLogResponse" />
  </wsdl:message>
  <wsdl:message name="FetchLogSoapIn">
    <wsdl:part name="parameters" element="tns:FetchLog" />
  </wsdl:message>
  <wsdl:message name="FetchLogSoapOut">
    <wsdl:part name="parameters" element="tns:FetchLogResponse" />
  </wsdl:message>
  <wsdl:message name="FetchPlanLogSoapIn">
    <wsdl:part name="parameters" element="tns:FetchPlanLog" />
  </wsdl:message>
  <wsdl:message name="FetchPlanLogSoapOut">
    <wsdl:part name="parameters" element="tns:FetchPlanLogResponse" />
  </wsdl:message>
  <wsdl:portType name="Portal_x0020_JobsSoap">
    <wsdl:operation name="NewPlan">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">portal</documentation>
      <wsdl:input message="tns:NewPlanSoapIn" />
      <wsdl:output message="tns:NewPlanSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CheckSyntax">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">checks qry syntax.  SkyQL queries will fail.</documentation>
      <wsdl:input message="tns:CheckSyntaxSoapIn" />
      <wsdl:output message="tns:CheckSyntaxSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SetPlan">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">portal</documentation>
      <wsdl:input message="tns:SetPlanSoapIn" />
      <wsdl:output message="tns:SetPlanSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateStatusWithMessage">
      <wsdl:input message="tns:UpdateStatusWithMessageSoapIn" />
      <wsdl:output message="tns:UpdateStatusWithMessageSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateStatus">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Update node status for a plan</documentation>
      <wsdl:input message="tns:UpdateStatusSoapIn" />
      <wsdl:output message="tns:UpdateStatusSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="FailPlan">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">fail an entire plan</documentation>
      <wsdl:input message="tns:FailPlanSoapIn" />
      <wsdl:output message="tns:FailPlanSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CompletePlan">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">signal a plan has completed execution sucessfully</documentation>
      <wsdl:input message="tns:CompletePlanSoapIn" />
      <wsdl:output message="tns:CompletePlanSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CompletePlanWithStatus">
      <wsdl:input message="tns:CompletePlanWithStatusSoapIn" />
      <wsdl:output message="tns:CompletePlanWithStatusSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="NodeLog">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">for nodes to log events</documentation>
      <wsdl:input message="tns:NodeLogSoapIn" />
      <wsdl:output message="tns:NodeLogSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="FetchLog">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">viewing node logs</documentation>
      <wsdl:input message="tns:FetchLogSoapIn" />
      <wsdl:output message="tns:FetchLogSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="FetchPlanLog">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">viewing node logs</documentation>
      <wsdl:input message="tns:FetchPlanLogSoapIn" />
      <wsdl:output message="tns:FetchPlanLogSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="Portal_x0020_JobsSoap" type="tns:Portal_x0020_JobsSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="NewPlan">
      <soap:operation soapAction="SkyPortal.ivoa.net/NewPlan" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CheckSyntax">
      <soap:operation soapAction="SkyPortal.ivoa.net/CheckSyntax" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetPlan">
      <soap:operation soapAction="SkyPortal.ivoa.net/SetPlan" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateStatusWithMessage">
      <soap:operation soapAction="SkyPortal.ivoa.net/UpdateStatusWithMessage" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateStatus">
      <soap:operation soapAction="SkyPortal.ivoa.net/UpdateStatus" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FailPlan">
      <soap:operation soapAction="SkyPortal.ivoa.net/FailPlan" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CompletePlan">
      <soap:operation soapAction="SkyPortal.ivoa.net/CompletePlan" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CompletePlanWithStatus">
      <soap:operation soapAction="SkyPortal.ivoa.net/CompletePlanWithStatus" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="NodeLog">
      <soap:operation soapAction="SkyPortal.ivoa.net/NodeLog" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FetchLog">
      <soap:operation soapAction="SkyPortal.ivoa.net/FetchLog" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FetchPlanLog">
      <soap:operation soapAction="SkyPortal.ivoa.net/FetchPlanLog" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Portal_x0020_Jobs">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/" />
    <wsdl:port name="Portal_x0020_JobsSoap" binding="tns:Portal_x0020_JobsSoap">
      <soap:address location="http://www.openskyquery.net/Sky/SkyPortal/PortalJobs.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>