<?xml version='1.0'?>
<!-- NOTE: this file is autogenerated by Apache XBean -->

<xs:schema elementFormDefault='qualified'
           targetNamespace='http://servicemix.apache.org/truezip/1.0'
           xmlns:xs='http://www.w3.org/2001/XMLSchema'
           xmlns:tns='http://servicemix.apache.org/truezip/1.0'>

  <!-- element for type: org.apache.servicemix.truezip.TrueZipComponent -->
  <xs:element name='component'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        File Component
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='endpoints' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='unbounded'>
              <xs:element ref='tns:poller'/>
              <xs:element ref='tns:sender'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='executorFactory' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              The executor factory to use to create the executor.
If none is provided, one will be retrieved from the JBI container when the component
is deployed into ServiceMix 3.x, or a default implementation will be used.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='executorFactory' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            The executor factory to use to create the executor.
If none is provided, one will be retrieved from the JBI container when the component
is deployed into ServiceMix 3.x, or a default implementation will be used.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


  <!-- element for type: org.apache.servicemix.truezip.TrueZipPollerEndpoint -->
  <xs:element name='poller'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        A polling endpoint which looks for a file or files in a directory and sends
the files into the JBI bus as messages, deleting the files by default when
they are processed.
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='component' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:component'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='filter' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Sets the optional filter to choose which files to process
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='lockManager' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='marshaler' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='scheduler' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              <p>
Sets a custom scheduler implementation if you need more fine-grained control over the polling schedule.
</p>
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='serviceUnit' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='autoCreateDirectory' type='xs:boolean'/>
      <xs:attribute name='component' type='xs:string'/>
      <xs:attribute name='concurrentPolling' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Sets whether more than one poll can be active at a time (true means yes). Default value is <code>false</code>.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='delay' type='xs:long'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Sets the amount of time in milliseconds that the endpoint should wait before making the first poll.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='deleteFile' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Returns whether or not we should delete the file when its processed
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='endpoint' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Get the endpoint implementation.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='file' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the file to poll, which can be a directory or a file.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='filter' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the optional filter to choose which files to process
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='firstTime' type='xs:date'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Sets the date on which the first poll will be executed. If a delay is
also set using <code>setDelay</code>, the delay interval will be added
after the date specified.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='interfaceName' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Get the qualified name of the endpoint interface.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='lockManager' type='xs:string'/>
      <xs:attribute name='marshaler' type='xs:string'/>
      <xs:attribute name='period' type='xs:long'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Sets the number of milliseconds between polling attempts.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='recursive' type='xs:boolean'/>
      <xs:attribute name='scheduler' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Sets a custom scheduler implementation if you need more fine-grained control over the polling schedule.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='service' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Get the service qualified name of the endpoint.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='serviceUnit' type='xs:string'/>
      <xs:attribute name='targetEndpoint' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            the name of the endpoint to which requests are sent
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetInterface' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            the QName of the interface to which requests are sent
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetOperation' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            the QName of the operation to which requests are sent
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetService' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            the QName of the service to which requests are sent
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetUri' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Gets the target URI of the consumer endpoint.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


  <!-- element for type: org.apache.servicemix.truezip.TrueZipSenderEndpoint -->
  <xs:element name='sender'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        An endpoint which receives a message and writes the content to a file.
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='component' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:component'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='marshaler' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='autoCreateDirectory' type='xs:boolean'/>
      <xs:attribute name='component' type='xs:string'/>
      <xs:attribute name='directory' type='xs:string'/>
      <xs:attribute name='endpoint' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Get the endpoint implementation.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='interfaceName' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Get the qualified name of the endpoint interface.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='marshaler' type='xs:string'/>
      <xs:attribute name='service' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            <p>
Get the service qualified name of the endpoint.
</p>
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='tempFilePrefix' type='xs:string'/>
      <xs:attribute name='tempFileSuffix' type='xs:string'/>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


</xs:schema>
