<?xml version='1.0' encoding='UTF-8' ?>
<!--
/*
 * JOnAS: Java(TM) Open Application Server
 * Copyright (C) 1999 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 developer(s): ____________________________________.
 * Contributor(s): Bull.
 *
 *
 * $Id$
 *
*/
  -->
<!--
This is XML DTD for jonas specific Java Connector deployment descriptor information.

All JOnAS Connector deployment descriptors must include a DOCTYPE
of the following form:

<!DOCTYPE jonas-resource PUBLIC "-//ObjectWeb//DTD JOnAS Connector 3.0//EN"
                                "http://www.objectweb.org/jonas/dtds/jonas-connector_3_0.dtd">
-->

<!--
The jonas-resource element is the root element of the JOnAS specific deployment descriptor
for the deployed resource adapter.	This element includes different configuration 
information - associated rar link, pooling parameters, config property values.
-->
<!ELEMENT jonas-resource (jndiname, rarlink?, native-lib?, log-enabled?, log-topic?, pool-params?, jdbc-conn-params?, jonas-config-property*) >

<!--
The jndiname element defines the name that will map to the ConnectionFactory object 
stored in JNDI.

Required element.
-->
<!ELEMENT jndiname ( #PCDATA ) >

<!--
The log-enabled element defines if a log topic should be set for the 
ManagedConnectionFactory.  A value of yes/true/on will enable the logging
mechanism and a value of no/false/off will disable it.

Optional element.

Default Value: no
-->
<!ELEMENT log-enabled ( #PCDATA ) >

<!--
The log-topic element defines the log topic that will be used to write log messages
for this rar file.  This will work in conjunction with log configuration facility that can
define where the log will be written.

Optional element.

Default Value: org.objectweb.jonas.jca
-->
<!ELEMENT log-topic ( #PCDATA ) >

<!--
The native-lib element defines the path that will be used to write the native libraries
included in the rar file.

Optional element.
-->
<!ELEMENT native-lib ( #PCDATA ) >

<!--
The rarlink element defines an association to a deployed Resource Adapter via the jndiname.  
This will result in the config values from the name specified to be used as default values 
and then overridden by the pool and configuration values for the Resource Adapter being
deployed.

Optional element.
-->
<!ELEMENT rarlink ( #PCDATA ) >

<!--
The pool-params element is the root element for Managed Connection Pool specific
values for this Resource Adapter.

Optional element.  If this element is not specificed, then the default values will
be assigned.  Refer to the element description for the default value.
-->
<!ELEMENT pool-params ( pool-init?, pool-min?, pool-max?, pool-max-age?, pstmt-max? ) >

<!--
The pool-init element identifies the initial number of managed connections
to create during deployment.

Optional element.  

Default Value:	0
-->
<!ELEMENT pool-init ( #PCDATA ) >

<!--
The pool-min element identifies the minimum number of managed connections
to keep in the pool.

Optional element.  

Default Value:	0
-->
<!ELEMENT pool-min ( #PCDATA ) >

<!--
The pool-max element identifies the maximum number of managed connections
to keep in the pool. An Exception will be thrown to the caller if an attempt
is made to create a managed connection above this limit.

Optional element.  

Default Value:	-1
-->
<!ELEMENT pool-max ( #PCDATA ) >

<!--
The pool-max-age element identifies the maximum number of milliseconds that the 
managed connection will be kept in the pool.

Optional element.  

Default Value:	0 - unlimited
-->
<!ELEMENT pool-max-age ( #PCDATA ) >

<!--
The pstmt-max element identifies the maximum number of preparedStatement objects
to keep in the pool. A PreparedStatment will not be cached if an attempt
is made to get a PrepardedStatement above this limit.  Value of 0 is unlimited, 
-1 disables the cache.

Optional element.  

Default Value:	0 (unlimited caching)
-->
<!ELEMENT pstmt-max ( #PCDATA ) >

<!--
The jdbc-conn-params element is the root element for JDBC Connection specific
values for this Resource Adapter.

Optional element.  If this element is not specificed, then the default values will
be assigned.  Refer to the element description for the default value.
-->
<!ELEMENT jdbc-conn-params ( jdbc-check-level?, jdbc-test-statement? ) >

<!--
The jdbc-check-level element identifies the level of checking that will be done for a 
connection.  The values are 0 for no checking, 1 to validate that the connection is 
not closed before returning it and greater than 1 to send the jdbc-test-statement.

Optional element.  

Default Value:	0
-->
<!ELEMENT jdbc-check-level ( #PCDATA ) >

<!--
The jdbc-test-statement element identifies the test statement that will be sent on
the connection if the jdbc-check-level is set accordingly.

Optional element.  
-->
<!ELEMENT jdbc-test-statement ( #PCDATA ) >


<!--
Each jonas-config-property element specifies a configuration property name and
value that maps to an ra.xml config-entry element with the corresponding name.

Values specified via a jonas-config-property will override any default value that may
have been specified in the corresponding ra.xml config-entry element.

Optional element.
-->
<!ELEMENT jonas-config-property ( jonas-config-property-name, jonas-config-property-value ) >
<!ELEMENT jonas-config-property-name ( #PCDATA ) >
<!ELEMENT jonas-config-property-value ( #PCDATA ) >


