<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.objectweb.org/jonas/ns"
            xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:jonas="http://www.objectweb.org/jonas/ns"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified"
            version="4.1.2">
  <xsd:annotation>
    <xsd:documentation>
      @(#)jonas-client_4_1_2.xsd  21/11/03
    </xsd:documentation>
  </xsd:annotation>
  <xsd:annotation>
    <xsd:documentation>
      <![CDATA[
      JOnAS: Java(TM) Open Application Server
      Copyright (C) 2004-2005 Bull S.A.
      Contact: jonas-team@objectweb.org

      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Lesser General Public
      License as published by the Free Software Foundation; either
      version 2.1 of the License, or any later version.

      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Lesser General Public License for more details.

      You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
      USA

      Initial Author : Philippe Coq
      ]]>
   </xsd:documentation>
  </xsd:annotation>

  <xsd:annotation>
    <xsd:documentation>
      <![CDATA[
      This is XML Schema for jonas client deployment descriptor information.
      The deployment descriptor must be named "META-INF/jonas-client.xml" in
      the WAR file
      All JOnAS client  deployment descriptors must indicate
      the jonas-client schema by using the Jonas namespace:

      http://www.objectweb.org/jonas/ns

      and by indicating the version of the schema by
      using the version element as shown below:

      <jonas-client xmlns="http://www.objectweb.org/jonas/ns"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xsi:schemaLocation="http://www.objectweb.org/jonas/ns
         http://www.objectweb.org/jonas/ns/jonas-client_4_1_2.xsd">
      ...
      </jonas-client>

      The instance documents may indicate the published version of
      the schema using the xsi:schemaLocation attribute for the
      Jonas namespace with the following location:

      http://www.objectweb.org/jonas/ns/jonas-client_4_1_2.xsd
      ]]>
    </xsd:documentation>
  </xsd:annotation>

  <xsd:include schemaLocation="jonas_j2ee_4_1_2.xsd" />

  <import namespace="http://java.sun.com/xml/ns/j2ee"
          schemaLocation="http://java.sun.com/xml/ns/j2ee/j2ee_1_4.xsd" />

  <!-- **************************************************** -->

  <xsd:element name="jonas-client" type="jonas:jonas-clientType">
    <xsd:annotation>
      <xsd:documentation>
  This is the root element of the JOnAS specific WEB deployment descriptor.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <!-- **************************************************** -->

  <xsd:complexType name="jonas-clientType">
    <xsd:annotation>
      <xsd:documentation>
   The jonas-client element is the root element of a JOnAS client
  specific deployment descriptor.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="jonas-ejb-ref"
                   minOccurs="0"
                   maxOccurs="unbounded"
                   type="jonas:jonas-ejb-refType" />

      <xsd:element name="jonas-resource"
                   minOccurs="0"
                   maxOccurs="unbounded"
                   type="jonas:jonas-resourceType" />

      <xsd:element name="jonas-resource-env"
                   type="jonas:jonas-resource-envType"
                   minOccurs="0"
                   maxOccurs="unbounded" />

      <xsd:element name="jonas-security"
                   type="jonas:jonas-securityType"
                   minOccurs="0" />

      <xsd:element name="jonas-service-ref"
                   minOccurs="0"
                   maxOccurs="unbounded"
                   type="jonas:jonas-service-refType" />

      <xsd:element name="jonas-message-destination-ref"
                   minOccurs="0"
                   maxOccurs="unbounded"
                   type="jonas:jonas-message-destination-refType" />

      <xsd:element name="jonas-message-destination"
                   minOccurs="0"
                   maxOccurs="unbounded"
                   type="jonas:jonas-message-destinationType" />

    </xsd:sequence>
  </xsd:complexType>

  <!-- **************************************************** -->

  <xsd:complexType name="jonas-securityType">
    <xsd:annotation>
      <xsd:documentation>
   The jonas-security element declares the JOnAS specific
  information for the security.
  jaas entry to use, username and password
  for the callback handler.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="jaasfile" type="j2ee:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
    Name of the JAAS configuration file which
   must be in the client.jar ie : jaas.config
        </xsd:documentation>
        </xsd:annotation>
      </xsd:element>

      <xsd:element name="jaasentry" type="j2ee:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
     JAAS entry to use in the jaas configuration file
     This is used for the instance of LoginContext class
        </xsd:documentation>
        </xsd:annotation>
      </xsd:element>

      <xsd:element name="username" type="j2ee:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
    Username to use for the callback handler
  (NoInputCallbackHandler will be used in this case)
        </xsd:documentation>
        </xsd:annotation>
      </xsd:element>

      <xsd:element name="password" type="j2ee:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
    Password to use for the callback handler
  (NoInputCallbackHandler will be used in this case)
        </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>
