<?xml version='1.0'?>
<!-- NOTE: this file is autogenerated by Apache XBean -->

<xs:schema elementFormDefault='qualified'
           targetNamespace='http://xbean.apache.org/schemas/server'
           xmlns:xs='http://www.w3.org/2001/XMLSchema'
           xmlns:tns='http://xbean.apache.org/schemas/server'>

  <!-- element for type: org.apache.xbean.server.spring.configuration.ClassLoaderXmlPreprocessor -->
  <xs:element name='class-loader-xml-preprocessor'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        Extracts a ClassLoader definition from the xml document.
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='repository' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              the repository used to resolve the class path locations
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:file-system-repository'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='repository' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            the repository used to resolve the class path locations
          ]]></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.xbean.server.deployer.FileDeployer -->
  <xs:element name='file-deployer'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        Deploys services in a file system
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='applicationContext' 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='beanFactoryPostProcessors' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the BeanFactoryPostProcessors to apply to the configuration.
            ]]></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='classLoader' 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='jarDirectoryNames' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Sets the names of the directories to be treated as folders of jars or
class loader files. Defaults to "lib", "classes". If you wish to disable
the use of lib and classes as being special folders containing jars or
config files then just set this property to null or an empty array.
            ]]></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='kernel' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Sets the kernel in which configurations are loaded.
            ]]></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='xmlPreprocessors' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the SpringXmlPreprocessors applied to the configuration.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='applicationContext' type='xs:string'/>
      <xs:attribute name='baseDir' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the base directory from which configuration locations are resolved.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='classLoader' type='xs:string'/>
      <xs:attribute name='kernel' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the kernel in which configurations are loaded.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='showIgnoredFiles' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets whether or not ignored files should be logged as they are
encountered. This can sometimes be useful to catch typeos.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='verbose' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Allows verbose logging to show what classpaths are being created
          ]]></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.xbean.server.repository.FileSystemRepository -->
  <xs:element name='file-system-repository'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        Maps resource ids to a directory on the local file system.
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name='root' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the root directory from which resources are resolved.
          ]]></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.xbean.server.main.KernelMain -->
  <xs:element name='kernel-main'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        Standard entry point for a kernel based server.
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='classLoader' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the class loader which is used as the thread context class loader during the main method.
            ]]></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='kernel' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the kernel that will be initialized in the main method. If the kernel is null, a new kernel will be created
and initialized in the main method.
            ]]></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='next' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the next main to call after the kernel has been initialized, but before destroying the kernel.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:kernel-main'/>
              <xs:element ref='tns:load-all-main'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='services' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the services to be registered with the kernel during the main method.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='classLoader' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the class loader which is used as the thread context class loader during the main method.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='daemon' type='xs:boolean'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Determines if the main method should hold the thread until the kernel is destroyed.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='kernel' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the kernel that will be initialized in the main method. If the kernel is null, a new kernel will be created
and initialized in the main method.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='next' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the next main to call after the kernel has been initialized, but before destroying the kernel.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='services' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the services to be registered with the kernel during the main method.
          ]]></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.xbean.server.loader.LoadAllMain -->
  <xs:element name='load-all-main'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        Loads all configurations specified in the arguments passed to main
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='kernel' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the kernel in which configurations are loaded.
            ]]></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='next' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the next main instance to call.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:kernel-main'/>
              <xs:element ref='tns:load-all-main'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='kernel' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the kernel in which configurations are loaded.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='next' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the next main instance to call.
          ]]></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.xbean.server.spring.loader.SpringLoader -->
  <xs:element name='spring-loader'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        Loads Spring xml configurations into a Kernel
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='beanFactoryPostProcessors' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the BeanFactoryPostProcessors to apply to the configuration.
            ]]></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='kernel' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              {@inheritDoc}
            ]]></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='xmlPreprocessors' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Gets the SpringXmlPreprocessors applied to the configuration.
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='unbounded'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='baseDir' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Gets the base directory from which configuration locations are resolved.
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='kernel' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            {@inheritDoc}
          ]]></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>
