<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->

<schema xmlns = "http://www.w3.org/2001/XMLSchema"
   targetNamespace = "http://www.bea.com/ns/weblogic/weblogic-connector"
   xmlns:wls = "http://www.bea.com/ns/weblogic/weblogic-connector"
   xmlns:j2ee = "http://java.sun.com/xml/ns/j2ee"
   elementFormDefault = "qualified"
   attributeFormDefault = "unqualified"
   version="1.0"
   >

  <annotation>
    <documentation>
      This is the XML Schema for the WebLogic Server specifics of the Connector 1.5 deployment
      descriptor.  The deployment descriptor must be named "META-INF/weblogic-ra.xml" in the
            resource adapter's rar file.
          </documentation>
  </annotation>

  <include schemaLocation = "http://www.bea.com/ns/weblogic/weblogic-javaee/1.0/weblogic-javaee.xsd"/>
  <import namespace = "http://java.sun.com/xml/ns/j2ee" schemaLocation = "http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"/>

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

  <element name = "weblogic-connector" type = "wls:weblogic-connectorType"/>

  <complexType name = "weblogic-connectorType">
    <sequence>
      <element name = "native-libdir" type = "j2ee:string" minOccurs = "0"/>
      <element ref =  "wls:jndi-name" minOccurs = "0"/>
      <element name = "enable-access-outside-app" type="wls:true-falseType" minOccurs = "0"/>
      <element name = "enable-global-access-to-classes" type="wls:true-falseType" minOccurs = "0"/>
      <element name = "work-manager" type = "wls:work-managerType" minOccurs = "0"/>
      <element name = "security" type = "wls:resource-adapter-securityType" minOccurs = "0"/>
      <element ref =  "wls:properties" minOccurs = "0"/>
      <element name = "admin-objects" type = "wls:admin-objectsType" minOccurs = "0"/>
      <element name = "outbound-resource-adapter" type = "wls:outbound-resource-adapterType" minOccurs = "0"/>
    </sequence>
    <attribute name = "id" type = "ID"/>
    <attribute name="version" type="string" use="optional"/>
  </complexType>

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

  <complexType name = "resource-adapter-securityType">
    <all>
      <element name = "default-principal-name" type = "wls:anon-principalType" minOccurs = "0"/>
      <element name = "manage-as-principal-name" type = "wls:anon-principalType" minOccurs = "0"/>
      <element name = "run-as-principal-name" type = "wls:anon-principal-callerType" minOccurs = "0"/>
      <element name = "run-work-as-principal-name" type = "wls:anon-principal-callerType" minOccurs = "0"/>
    </all>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "anon-principalType">
    <choice>
      <element ref = "wls:use-anonymous-identity"/>
      <element ref = "wls:principal-name"/>
    </choice>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "anon-principal-callerType">
    <choice>
      <element ref = "wls:use-anonymous-identity"/>
      <element ref = "wls:principal-name"/>
      <element name = "use-caller-identity" type="wls:true-falseType"/>
    </choice>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "config-propertiesType">
    <sequence>
      <element ref = "wls:property" maxOccurs = "unbounded"/>
    </sequence>
  </complexType>

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

  <complexType name = "config-propertyType">
    <all>
      <element name = "name" type = "j2ee:string">
        <annotation>
    <documentation>

                  The config-property-name element specifies the same name as the
                  config-property-name element in ra.xml of which
                  the config-property-value will be overridden.

                  This is a required element.

    </documentation>
        </annotation>
      </element>

      <element name = "value" type = "j2ee:string" minOccurs = "0">
        <annotation>
          <documentation>

                  The config-property-value element specifies the value that will override
                  the config-property-value of the config-property in ra.xml with the same
                  config-property-name as config-property-name.

                  This is an optional element.

    </documentation>
        </annotation>
      </element>
    </all>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "admin-objectsType">
    <sequence>
      <element ref = "wls:default-properties" minOccurs = "0"/>
      <element name = "admin-object-group" type = "wls:admin-object-groupType" minOccurs = "0" maxOccurs = "unbounded"/>
    </sequence>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "admin-object-groupType">
    <sequence>
      <element name = "admin-object-interface" type = "j2ee:string"/>
      <element ref = "wls:default-properties" minOccurs = "0"/>
      <element name = "admin-object-instance" type = "wls:admin-object-instanceType" minOccurs = "0" maxOccurs = "unbounded"/>
    </sequence>
  </complexType>

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

  <complexType name = "admin-object-instanceType">
    <sequence>
            <group ref = "wls:resource-lookup"/>
      <element ref = "wls:properties" minOccurs = "0"/>
    </sequence>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "outbound-resource-adapterType">
    <sequence>
      <element ref = "wls:default-connection-properties" minOccurs = "0"/>
      <element name = "connection-definition-group" type = "wls:connection-definitionType" minOccurs="0" maxOccurs = "unbounded"/>
    </sequence>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "connection-definition-propertiesType">
    <sequence>
      <element name = "pool-params" type = "wls:pool-paramsType" minOccurs = "0"/>
      <element name = "logging" type = "wls:loggingType" minOccurs = "0"/>
      <element name = "transaction-support" type = "j2ee:transaction-supportType" minOccurs = "0"/>
      <element name = "authentication-mechanism" type = "j2ee:authentication-mechanismType" minOccurs = "0" maxOccurs = "unbounded"/>
      <element name = "reauthentication-support" type = "wls:true-falseType" minOccurs = "0"/>
      <element ref = "wls:properties" minOccurs = "0"/>
      <element ref = "wls:res-auth" minOccurs = "0"/>
    </sequence>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "connection-definitionType">
    <sequence>
      <element name = "connection-factory-interface" type = "j2ee:string"/>
      <element ref = "wls:default-connection-properties" minOccurs = "0"/>
      <element name = "connection-instance" type = "wls:connection-instanceType" minOccurs = "0" maxOccurs = "unbounded"/>
    </sequence>
    <attribute name = "id" type = "ID"/>
  </complexType>

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

  <complexType name = "connection-instanceType">
    <sequence>
      <element ref = "wls:description" minOccurs = "0"/>
            <group   ref = "wls:resource-lookup"/>
      <element ref = "wls:connection-properties" minOccurs = "0"/>
    </sequence>
  </complexType>

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

  <complexType name = "pool-paramsType">
          <complexContent>
            <extension base = "wls:connection-pool-paramsType">
              <sequence>
                <element name = "match-connections-supported" type = "wls:true-falseType" minOccurs = "0">
                  <annotation>
                    <documentation>

                      The match-connections-supported element indicates whether or not the resource
                      adapter supports the ManagedConnectionFactory.matchManagedConnections() method.
                      If the resource adapter does not support this method (i.e. always return null
                      for this method) then WebLogic Server will bypass this method call during a
                      connection request.

                      This is an optional element.

                      Failure to specify this value will result in WebLogic using its defined default
                      value.

                      Value Range:    true|false

                      Default Value:  true

                    </documentation>
                  </annotation>
                </element>
                <element name = "use-first-available" type = "wls:true-falseType" minOccurs = "0">
                  <annotation>
                    <documentation>

                      The use-first-available element indicates that the first available connection
                      in the pool should be used to satisfy any incoming connection request.  This
                      results in bypassing calls to matchConnections in the Resource Adapter and can
                      provide a significant performance improvement.

                      This is an optional element.

                      Failure to specify this value will result in WebLogic using its defined default
                      value.

                      Value Range:    true|false

                      Default Value:  false

                    </documentation>
                  </annotation>
                </element>
              </sequence>
            </extension>
          </complexContent>
  </complexType>

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

  <element name = "use-anonymous-identity" type="wls:true-falseType"/>
  <element name = "principal-name" type = "j2ee:string"/>
  <element name = "description" type = "j2ee:descriptionType"/>
  <element name = "jndi-name" type = "j2ee:jndi-nameType"/>
  <element name = "default-properties" type = "wls:config-propertiesType"/>
  <element name = "default-connection-properties" type = "wls:connection-definition-propertiesType"/>
  <element name = "properties" type = "wls:config-propertiesType"/>
  <element name = "property" type = "wls:config-propertyType"/>
  <element name = "connection-properties" type = "wls:connection-definition-propertiesType"/>
  <element name = "res-auth" type = "j2ee:res-authType"/>
</schema>
