<!--
   This schema stands in for a schema for WSDL.

   It has none of the real structure of a WSDL except "imports" and
   the 2nd-level tag names.

   When compiling schemas within .wsdl files, we use this schema to load
   the WSDL files.  Of course, WSDL files are actually in the
   http://schemas.xmlsoap.org/wsdl/ namespace, but we use the
   LoadSubstituteNamespaces option in order to internally substitute
   the namespace below.
-->


<xs:schema
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:tns="http://www.apache.org/internal/xmlbeans/wsdlsubst"
   targetNamespace="http://www.apache.org/internal/xmlbeans/wsdlsubst"
   elementFormDefault="qualified">

  <xs:element name="definitions">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="import" type="tns:TImport"/>
        <xs:element name="types"/>               			
        <xs:element name="message"/>
        <xs:element name="binding"/>
        <xs:element name="portType"/>
        <xs:element name="service"/>
        <xs:any namespace="##other"/>
      </xs:choice>
      <xs:anyAttribute/>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="TImport">
    <xs:attribute name="namespace" type="xs:anyURI" use="required"/>
    <xs:attribute name="location" type="xs:anyURI" use="required"/>
    <xs:anyAttribute namespace="##other"/>		
  </xs:complexType>

</xs:schema>
