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

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

  <!-- element for type: org.apache.servicemix.scripting.ScriptingComponent -->
  <xs:element name='component'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        ServiceMix Scripting
      ]]></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:endpoint'/>
              <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.scripting.ScriptingEndpoint -->
  <xs:element name='endpoint'>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='bindings' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              A Map with additional variables that are made available during script execution.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='marshaler' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Custom marshaler implementation to handle startup/shutdown, loading the script code and registering additional user beans.
            ]]></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='script' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Spring Resource referring to the script location.
            ]]></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='scriptLogger' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              returns the script logger
            ]]></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='bindings' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            A Map with additional variables that are made available during script execution.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='copyAttachments' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Copy the attachments into the 'out' message. Defaults to <code>true</code>.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='copyProperties' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Copy the properties into the 'out' message. Defaults to <code>true</code>.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='disableOutput' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Set this flag to true to <code>true</code> to avoid sending back a response message.
Defaults to <code>false</code>
          ]]></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='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='language' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            The scripting language to be used. Defaults to <code>autodetect</code> to determine the language
by the script file extension.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='logResourceBundle' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            The resource bundle to use when logging internationalized messages.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='marshaler' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Custom marshaler implementation to handle startup/shutdown, loading the script code and registering additional user beans.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='script' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Spring Resource referring to the script location.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='scriptLogger' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            returns the script logger
          ]]></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='targetEndpoint' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Target endpoint for the output exchange that is created by the script.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetInterface' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Target interface for the output exchange that is created by the script.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetOperation' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Target operation for the output exchange that is created by the script.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetService' type='xs:QName'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Target service for the output exchange that is created by the script.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='targetUri' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            URI for configuring target service/endpoint/interface for the exchange that is created by the script.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


</xs:schema>
