<?xml version="1.0" encoding="UTF-8"?>
<definitions name="QueryTypes" targetNamespace="urn:QueryTypes"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="urn:QueryTypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <types>
    <xsd:schema attributeFormDefault="qualified"
    elementFormDefault="qualified" targetNamespace="urn:QueryTypes">

      <xsd:element name="FindBooksQueryExpressionElement">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="bookQuery" type="tns:BookType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="MixedType1" mixed="1"> 
         <xsd:complexContent>
           <xsd:extension base="tns:BookType"/>
         </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="MixedType2" mixed="1"> 
         <xsd:complexContent>
           <xsd:restriction base="tns:BookType"/>
         </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="MixedType3"> 
         <xsd:complexContent mixed="true">
           <xsd:restriction base="tns:BookType"/>
         </xsd:complexContent>
      </xsd:complexType>

      <xsd:element name="QueryResultElement">
        <xsd:complexType>
            <xsd:sequence>
               <xsd:element name="resultList" type="tns:ResultListType"/>
            </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ResultListType">
        <xsd:sequence>
          <xsd:element name="result" minOccurs="0" maxOccurs="unbounded" type="tns:QueryResultType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BookType">
        <xsd:attribute name="subject" type="xsd:string"/>
      </xsd:complexType>

      <xsd:complexType name="QueryResultType">
        <xsd:attribute name="name" type="xsd:string"/>
        <xsd:attribute name="value" type="xsd:string"/>
        <xsd:attribute name="time" type="xsd:dateTime"/>
        <xsd:attribute name="queryType" type="xsd:QName"/>
        <xsd:attribute name="status" type="tns:StatusType"/>
      </xsd:complexType>

      <xsd:simpleType name="StatusType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MORE"/>
          <xsd:enumeration value="LESS"/>
        </xsd:restriction>
      </xsd:simpleType>

     <xsd:complexType name="AttributedURI">
       <xsd:simpleContent>
        <xsd:extension base="xsd:anyURI">
         <xsd:anyAttribute namespace="##other" processContents="lax"/>
        </xsd:extension>
       </xsd:simpleContent>
     </xsd:complexType>
      
    </xsd:schema>
  </types>
</definitions>

