Update of 
/cvsroot/xdoclet/xdoclet/modules/sun/src/xdoclet/modules/sun/sunone/ejb/resources
In directory 
sc8-pr-cvs1:/tmp/cvs-serv23022/xdoclet-all/xdoclet/modules/sun/src/xdoclet/modules/sun/sunone/ejb/resources

Added Files:
        sun-cmp-mapping_1_0.dtd sun-cmp-mappings_xml.xdt 
        sun-ejb-jar_2_0-0.dtd sun-ejb-jar_xml.xdt IASEjb_jar_1_1.dtd 
        IASEjb_jar_1_0.dtd 
Log Message:
XDT-16: SunONE module, handles versions (iPlanet) 6.0 & 6.5 and (SunONE) 7.0
No web module at present, just generates ejb descriptors (and cmp mapping for 7.0)



--- NEW FILE: sun-cmp-mapping_1_0.dtd ---
<!--
  XML DTD for Sun ONE Application Server specific Object Relational Mapping 
  with Container Managed Persistence.

  Copyright (c) 2002 by Sun Microsystems, Inc. All Rights Reserved.
  $Revision: 1.1 $
-->

<!-- This file maps at least one set of beans to tables and columns in a 
     specific db schema
-->
<!ELEMENT sun-cmp-mappings ( sun-cmp-mapping+ ) >

<!-- At least one bean is mapped to database columns in the named schema -->
<!ELEMENT sun-cmp-mapping ( schema, entity-mapping+) >

<!-- A cmp bean has a name, a primary table, one or more fields, zero or 
     more relationships, and zero or more secondary tables, plus flags for 
     consistency checking.
 
     If the consistency checking flag element is not present, then none 
     is assumed 
--> 
<!ELEMENT entity-mapping (ejb-name, table-name, cmp-field-mapping+, 
        cmr-field-mapping*, secondary-table*, consistency?)>

<!ELEMENT consistency (none | check-modified-at-commit | lock-when-loaded |
        check-all-at-commit | lock-when-modified | 
        (lock-when-modified, check-all-at-commit) ) >

<!ELEMENT read-only EMPTY>

<!-- A cmp-field-mapping has a field, one or more columns that it maps to.  
     The column can be from a bean's primary table or any defined secondary 
     table.  If a field is mapped to multiple columns, the column listed first
     is used as the SOURCE for getting the value from the database.  The 
     columns are updated in their order.  A field may also be marked as 
     read-only.  It may also participate in a hierarchial or independent 
     fetch group. If the fetched-with element is not present, the field 
     is assumed to be a member of the default hierarchial fetch group.
-->
<!ELEMENT cmp-field-mapping (field-name, column-name+, read-only?, 
        fetched-with?) >
            
<!-- The java identifier of a field. Must match the value of the field-name 
     sub-element of the cmp-field that is being mapped. 
-->
<!ELEMENT field-name (#PCDATA) >

<!-- The java identifier of a field.  Must match the value of the 
     cmr-field-name sub-element of the cmr-field tat is being mapped. 
-->
<!ELEMENT cmr-field-name (#PCDATA) >

<!-- The ejb-name from the standard EJB-jar DTD--> 
<!ELEMENT ejb-name (#PCDATA) >

<!-- The COLUMN name of a column from the primary table, or the table 
     qualified name (TABLE.COLUMN) of a column from a secondary or related 
     table
--> 
<!ELEMENT column-name (#PCDATA) >

<!-- Holds the fetch group configuration for fields and relationships -->
<!ELEMENT fetched-with (level | named-group | none) >

<!-- The name of an independent fetch group.  All the fields and relationships 
  that are part of a named-group are fetched at the same time-->
<!ELEMENT named-group (#PCDATA) >

<!-- A hierarchial fetch group.  The value of this element must be an integer.
     Fields and relationships that belong to a hierachial fetch group of equal
     (or lesser) value are fetched at the same time. The value of level must
     be greater than zero.
-->
<!ELEMENT level (#PCDATA) >

<!-- The name of a database table -->
<!ELEMENT table-name (#PCDATA) >

<!-- a bean's secondary tables -->
<!ELEMENT secondary-table (table-name, column-pair+) >

<!-- the pair of columns -->
<!ELEMENT column-pair (column-name, column-name) >

<!-- cmr-field mapping.  A cmr field has a name and one or more column 
     pairs that define the relationship. The relationship can also 
     participate in a fetch group.
     
     If the fetched-with element is not present, the value,
          <fetched-with><none/></fetched-with>
     is assumed. 
-->
<!ELEMENT cmr-field-mapping (cmr-field-name, column-pair+, fetched-with? ) >

<!-- The path name to the schema file--> 
<!ELEMENT schema (#PCDATA) >

<!-- flag elements for consistency levels -->

<!-- note: none is also a sub-element of the fetched-with tag -->
<!ELEMENT none EMPTY >
<!ELEMENT check-modified-at-commit EMPTY >
<!ELEMENT check-all-at-commit EMPTY>
<!ELEMENT lock-when-modified EMPTY>
<!ELEMENT lock-when-loaded EMPTY >

--- NEW FILE: sun-cmp-mappings_xml.xdt ---
<?xml version="1.0" encoding="<XDtConfig:configParameterValue 
paramName="Xmlencoding"/>"?>
<!DOCTYPE sun-cmp-mappings PUBLIC "<XDtXml:publicId/>" "<XDtXml:systemId/>">

<!-- <XDtI18n:getString resource="generated_by_xdoclet"/> -->

<sun-cmp-mappings>
<XDtComment:comment>
* In theory, the file could contain a number of mappings, to different schemas.
* For now, we'll just assume there's only one.
</XDtComment:comment>
    <sun-cmp-mapping>
        <schema><XDtConfig:configParameterValue paramName="CmpSchema"/></schema>
<XDtEjb:forAllBeans>
<XDtEjb:ifIsAConcreteEJBean>
<XDtEjbEntity:ifEntity>
<XDtEjbCmp:ifEntityIsCmp>
        <entity-mapping>
            <ejb-name><XDtEjb:ejbName/><ejb-name>
            <table-name><XDtClass:classTagValue tagName="ejb.persistence" 
paramName="table-name"/><table-name>
<XDtEjbCmp:forAllCmpFields>
            <cmp-field-mapping>
                <field-name><XDtMethod:propertyName/></field-name>
                <column-name><XDtMethod:methodTagValue tagName="ejb.persistence" 
paramName="column-name"/></column-name>
<XDtMethod:ifMethodTagValueEquals tagName="ejb.persistence" paramName="read-only" 
value="true">
                <read-only/>
</XDtMethod:ifMethodTagValueEquals>
<XDtMethod:ifHasMethodTag tagName="sunone.fetched-with">
                <fetched-with>
<XDtMethod:ifHasMethodTag tagName="sunone.fetched-with" paramName="level">
                    <level><XDtMethod:methodTagValue tagName="sunone.fetched-with" 
paramName="level"/></level>
</XDtMethod:ifHasMethodTag>
<XDtMethod:ifHasMethodTag tagName="sunone.fetched-with" paramName="named-group">
                    <named-group><XDtMethod:methodTagValue 
tagName="sunone.fetched-with" paramName="named-group"/></named-group>
</XDtMethod:ifHasMethodTag>
<XDtMethod:ifMethodTagValueEquals tagName="sunone.fetched-with" paramName="none" 
value="true">
                    <none/>
</XDtMethod:ifMethodTagValueEquals>
                </fetched-with>
</XDtMethod:ifHasMethodTag>
            </cmp-field-mapping>
</XDtEjbCmp:forAllCmpFields>
<XDtEjbRel:ifHasRelationships>
<XDtEjbRel:forAllRelationships>
<XDtEjbRel:ifLeftNavigable>
            <cmr-field-mapping>
                <cmr-field-name><XDtEjbRel:leftFieldName/></cmr-field-name>
<XDtMethod:forAllMethodTags tagName="sunone.relation">
                <column-pair>
                    <column-name><XDtMethod:methodTagValue tagName="sunone.relation" 
paramName="column"/></column-name>
                    <column-name><XDtMethod:methodTagValue tagName="sunone.relation" 
paramName="target"/></column-name>
                </column-pair>
</XDtMethod:forAllMethodTags>
<XDtMethod:ifHasMethodTag tagName="sunone.fetched-with">
                <fetched-with>
<XDtMethod:ifHasMethodTag tagName="sunone.fetched-with" paramName="level">
                    <level><XDtMethod:methodTagValue tagName="sunone.fetched-with" 
paramName="level"/></level>
</XDtMethod:ifHasMethodTag>
<XDtMethod:ifHasMethodTag tagName="sunone.fetched-with" paramName="named-group">
                    <named-group><XDtMethod:methodTagValue 
tagName="sunone.fetched-with" paramName="named-group"/></named-group>
</XDtMethod:ifHasMethodTag>
<XDtMethod:ifMethodTagValueEquals tagName="sunone.fetched-with" paramName="none" 
value="true">
                    <none/>
</XDtMethod:ifMethodTagValueEquals>
                </fetched-with>
</XDtMethod:ifHasMethodTag>
            </cmr-field-mapping>
</XDtEjbRel:ifLeftNavigable>
</XDtEjbRel:forAllRelationships>
</XDtEjbRel:ifHasRelationships>

<XDtComment:comment>
* The secondary-table element is not currently supported
</XDtComment:comment>
<XDtClass:ifHasClassTag tagName="sunone.consistency">
            <consistency>
<XDtClass:ifClassTagValueEquals tagName="sunone.consistency" paramName="none" 
value="true">
                <none/>
</XDtClass:ifClassTagValueEquals>
<XDtClass:ifClassTagValueEquals tagName="sunone.consistency" 
paramName="check-modified-at-commit" value="true">
                <check-modified-at-commit/>
</XDtClass:ifClassTagValueEquals>
<XDtClass:ifClassTagValueEquals tagName="sunone.consistency" 
paramName="lock-when-loaded" value="true">
                <lock-when-loaded/>
</XDtClass:ifClassTagValueEquals>
<XDtComment:comment>
* the order of these last two is significant, as they may be used together (the only 
ones which can)
</XDtComment:comment>
<XDtClass:ifClassTagValueEquals tagName="sunone.consistency" 
paramName="lock-when-modified" value="true">
                <lock-when-modified/>
</XDtClass:ifClassTagValueEquals>
<XDtClass:ifClassTagValueEquals tagName="sunone.consistency" 
paramName="check-all-at-commit" value="true">
                <check-all-at-commit/>
</XDtClass:ifClassTagValueEquals>
            </consistency>
</XDtClass:ifHasClassTag>
        </entity-mapping>
</XDtEjbCmp:ifEntityIsCmp>
</XDtEjbEntity:ifEntity>
</XDtEjb:ifIsAConcreteEJBean>
</XDtEjb:forAllBeans>
    </sun-cmp-mapping>
</sun-cmp-mappings>

--- NEW FILE: sun-ejb-jar_2_0-0.dtd ---
<!--
  XML DTD for Sun ONE Application Server specific EJB jar module 
  deployment descriptor. This is a companion DTD for ejb-jar_2_0.dtd

  Copyright (c) 2002 by Sun Microsystems, Inc. All Rights Reserved.
  $Revision: 1.1 $
-->

<!--
This is the root element of the ejb module descriptor document.
-->
<!ELEMENT sun-ejb-jar (security-role-mapping*, enterprise-beans) >

<!-- 
System unique object id. Automatically generated and updated at 
deployment/redeployment 
-->
<!ELEMENT unique-id (#PCDATA)>

<!--
This is the root element describing all the runtime of an ejb-jar in the application.
-->
<!ELEMENT enterprise-beans (name?, unique-id?, ejb*, pm-descriptors?, cmp-resource?)>

<!--
This is the element describing runtime bindings for a single ejb.

Properties applicable to all types of beans:
     ejb-name, ejb-ref*, resource-ref*, resource-env-ref*, pass-by-reference?, 
     ior-security-config?, gen-classes?

Additional properties applicable to a stateless session bean:
    bean-pool

Additional properties applicable to a stateful session bean:
    bean-cache

Additional properties applicable to an entity bean:
   is-read-only-bean?, refresh-period-in-seconds?, cmp?, commit-option?, bean-cache?, 
bean-pool?

Additional properties applicable to a message-driven bean:
   jndi-name?, mdb-connection-factory?, jms-durable-subscription-name?, 
jms-max-messages-load?, bean-pool?
   ( jndi-name is the jndi name of the associated jms destination )
-->

<!ELEMENT ejb (ejb-name, jndi-name?, ejb-ref*, resource-ref*, resource-env-ref*, 
pass-by-reference?, 
               cmp?, principal?, mdb-connection-factory?, 
jms-durable-subscription-name?, 
               jms-max-messages-load?, ior-security-config?, is-read-only-bean?, 
               refresh-period-in-seconds?, commit-option?, gen-classes?, 
               bean-pool?, bean-cache?)>
<!--
The text in this element matches the display name of the ejb to which it refers.
-->
<!ELEMENT ejb-name (#PCDATA)>

<!--
The text in this element is a true/false flag for read only beans.
-->
<!ELEMENT is-read-only-bean (#PCDATA)>

<!--
This is the root element which binds an ejb reference to a jndi name.
-->
<!ELEMENT ejb-ref (ejb-ref-name, jndi-name)>

<!--
The ejb ref name locates the name of the ejb reference in the application.
-->
<!ELEMENT ejb-ref-name (#PCDATA)>

<!--
This element describes runtime information for a CMP EntityBean object for 
EJB1.1 and EJB2.0 beans.  
-->
<!ELEMENT cmp (mapping-properties?, is-one-one-cmp?, one-one-finders?)>

<!--
This contains the location of the persistence vendor specific O/R mapping file
-->
<!ELEMENT mapping-properties (#PCDATA)>

<!--
This contains the boolean true if it is CMP 1.1.
This field is used to identify CMP 1.1 with old descriptors
-->
<!ELEMENT is-one-one-cmp (#PCDATA)>

<!--
This root element contains the finders for CMP 1.1.
-->
<!ELEMENT one-one-finders (finder+ )>

<!--
This root element contains the finder for CMP 1.1 with a method-name and query 
parameters
-->
<!ELEMENT finder (method-name, query-params?, query-filter?, query-variables?)>

<!--
This contains the method name for the query field 
-->
<!ELEMENT method-name (#PCDATA)>

<!--
This contains the query parameters for CMP 1.1 finder
-->
<!ELEMENT query-params (#PCDATA)>

<!--
This optional element contains the query filter for CMP 1.1 finder
-->
<!ELEMENT query-filter (#PCDATA)>

<!--
This optional element contains variables in query expression for CMP 1.1 finder
-->
<!ELEMENT query-variables (#PCDATA)>

<!--
This element contains the database to be used for storing CMP beans in an ejb-jar.
-->
<!ELEMENT cmp-resource (jndi-name, default-resource-principal?)>

<!--
This element specifies the connection factory associated with a message-driven bean.
-->
<!ELEMENT mdb-connection-factory (jndi-name, default-resource-principal?)>

<!--
Specifies the name of a durable subscription associated with a message-driven bean's 
destination.  Required for a Topic destination, if subscription-durability is set to 
Durable (in ejb-jar.xml)
-->
<!ELEMENT jms-durable-subscription-name (#PCDATA)>

<!--
A string value specifies the maximum number of messages to load into a JMS session 
at one time for a message-driven bean to serve. If not specified, the default is 1.
-->
<!ELEMENT jms-max-messages-load (#PCDATA)>

<!--
This element contains all the generated class names for a bean.
-->
<!ELEMENT gen-classes ( remote-impl?, local-impl?, remote-home-impl?, local-home-impl? 
)>

<!--
This contains the fully qualified class name of the generated EJBObject impl class. 
-->
<!ELEMENT remote-impl (#PCDATA)>

<!--
This contains the fully qualified class name of the generated EJBLocalObject impl 
class. 
-->
<!ELEMENT local-impl (#PCDATA)>

<!--
This contains the fully qualified class name of the generated EJBHome impl class. 
-->
<!ELEMENT remote-home-impl (#PCDATA)>

<!--
This contains the fully qualified class name of the generated EJBLocalHome impl class. 
-->
<!ELEMENT local-home-impl (#PCDATA)>

<!--
This contains the bean cache properties. Used only for entity beans and stateful 
session beans
-->
<!ELEMENT bean-cache (max-cache-size?, is-cache-overflow-allowed?, 
cache-idle-timeout-in-seconds?, removal-timeout-in-seconds?, victim-selection-policy?)>

<!--
max-cache-size defines the maximum number of beans in the cache. Should be greater 
than 1.
-->
<!ELEMENT max-cache-size (#PCDATA)>

<!--
is-cache-overflow-allowed is a boolean which indicates if the cache size is a hard 
limit or not. 
Default is true i.e there is no hard limit. max-cache-size is a hint to the cache 
implementation.
-->
<!ELEMENT is-cache-overflow-allowed (#PCDATA)>

<!--
cache-idle-timeout-in-seconds specifies the maximum time that a stateful session bean 
or 
entity bean is allowed to be idle in the cache. After this time, the bean is 
passivated 
to backup store. This is a hint to server. Default value for 
cache-idle-timeout-in-seconds 
is 10 minutes.
-->
<!ELEMENT cache-idle-timeout-in-seconds (#PCDATA)>


<!--
The amount of time that the bean remains passivated (i.e. idle in the backup store) is 
controlled by removal-timeout-in-seconds parameter.  Note that if a bean was not 
accessed beyond 
removal-timeout-in-seconds, then it will be removed from the backup store and hence 
will not 
be accessible to the client. The Default value for removal-timeout-in-seconds is 60min.
-->
<!ELEMENT removal-timeout-in-seconds (#PCDATA)>

<!--
victim-selection-policy specifies the algorithm to use to pick victims. 
Possible values are FIFO | LRU | NRU. Default is NRU, which is actually 
pseudo-random selection policy.
-->
<!ELEMENT victim-selection-policy (#PCDATA)>

<!--
bean-pool is a root element containing the bean pool properties. Used only for 
stateless session 
bean and message-driven bean pools.
-->
<!ELEMENT bean-pool (steady-pool-size?, resize-quantity?, max-pool-size?, 
pool-idle-timeout-in-seconds?, max-wait-time-in-millis?)>

<!--
steady-pool-size specified the initial and minimum number of beans that must be 
maintained in the pool. 
Valid values are from 0 to MAX_INTEGER. 
-->
<!ELEMENT steady-pool-size (#PCDATA)>

<!--
resize-quantity specifies the number of beans to be created or deleted when the pool 
is being serviced by the pool manager. Valid values are from 0 to MAX_INTEGER and 
subject to max-pool-size limit).  
-->
<!ELEMENT resize-quantity (#PCDATA)>

<!--
max-pool-size speifies the maximum pool size. Valid values are from 0 to MAX_INTEGER. 
-->
<!ELEMENT max-pool-size (#PCDATA)>

<!--
pool-idle-timeout-in-seconds specifies the maximum time that a stateless session bean 
or 
message-driven bean is allowed to be idle in the pool. After this time, the bean is 
passivated to backup store.  This is a hint to server. Default value for 
pool-idle-timeout-in-seconds is 10 minutes.
-->
<!ELEMENT pool-idle-timeout-in-seconds (#PCDATA)>

<!--
A string field whose valid values are either "A", "B", or "C". Default is "B" 
-->
<!ELEMENT commit-option (#PCDATA)>

<!--
Specifies the maximum time that the caller is willing to wait to get a bean from the 
pool.
Wait time is infinite, if the value specified is 0. This does not apply to 
message-driven beans.
-->
<!ELEMENT max-wait-time-in-millis (#PCDATA)>

<!--
refresh-period-in-seconds specifies the rate at which the read-only-bean must be 
refreshed 
from the data source. 0 (never refreshed) and positive (refreshed at specified 
intervals).
Specified value is a hint to the container. 
-->
<!ELEMENT refresh-period-in-seconds (#PCDATA)>

<!--
Specifies the jndi name string.
-->
<!ELEMENT  jndi-name (#PCDATA)>

<!--
This text nodes holds a name string.
-->
<!ELEMENT name (#PCDATA)>

<!--
This element holds password text.
-->
<!ELEMENT password (#PCDATA)>

<!--
This node describes a username on the platform.
-->
<!ELEMENT principal (name)>

<!-- 
security-role-mapping element maps the user principal or group 
to a different principal on the server. 
-->
<!ELEMENT security-role-mapping (role-name, (principal-name | group-name)+)> 

<!-- 
role-name specifies an accepted role 
-->
<!ELEMENT role-name (#PCDATA)> 

<!-- 
principal-name specifies a valid principal 
-->
<!ELEMENT principal-name (#PCDATA)> 

<!-- 
group-name specifies a valid group name 
-->
<!ELEMENT group-name (#PCDATA)> 

<!--
The name of a resource reference.
-->
<!ELEMENT res-ref-name (#PCDATA)>

<!--
resource-env-ref holds all the runtime bindings of a resource env reference.
-->
<!ELEMENT resource-env-ref ( resource-env-ref-name, jndi-name )>

<!--
name of a resource env reference.
-->
<!ELEMENT resource-env-ref-name (#PCDATA)>

<!--
resource-ref node holds all the runtime bindings of a resource reference.
-->
<!ELEMENT resource-ref  (res-ref-name, jndi-name, default-resource-principal?)>

<!--
user name and password to be used when none are specified while accesing a resource
-->
<!ELEMENT default-resource-principal ( name,  password)>

<!--
ior-security-config element describes the security configuration information for the 
IOR.
-->  
<!ELEMENT ior-security-config ( transport-config? , as-context?, sas-context?  )> 

<!--
transport-config is the root element for security between the end points
-->
<!ELEMENT transport-config ( integrity, confidentiality, establish-trust-in-target, 
establish-trust-in-client )> 

<!--
integrity element indicates if the target supports integrity protected messages. 
The valid values are NONE, SUPPORTED or REQUIRED
TODO: What is the default
-->  
<!ELEMENT integrity ( #PCDATA)>

<!--
confidentiality element indicates if the target supports privacy protected messages. 
The
values are NONE, SUPPORTED or REQUIRED
TODO: What is the default
-->  
<!ELEMENT confidentiality ( #PCDATA)>

<!--
establish-trust-in-target element indicates if the target is capable of authenticating 
to a client. 
The values are NONE, SUPPORTED or REQUIRED.
TODO: What is the default
-->  
<!ELEMENT establish-trust-in-target ( #PCDATA)>

<!--
establish-trust-in-client element indicates if the target is capable of authenticating 
a client. The
values are NONE, SUPPORTED or REQUIRED.
-->  
<!ELEMENT establish-trust-in-client ( #PCDATA)>

<!--
as-context is the element describing the authentication mechanism that will be
used to authenticate the client. If specified it will be the username-password
mechanism.
-->  
<!ELEMENT as-context ( auth-method, realm, required )> 

<!--
required element specifies if the authentication method specified is required
to be used for client authentication. If so the EstablishTrustInClient bit
will be set in the target_requires field of the AS_Context. The element value
is either true or false.
TODO: What is the default
-->  
<!ELEMENT required ( #PCDATA )> 

<!--
auth-method element describes the authentication method. The only supported value
is USERNAME_PASSWORD
-->  
<!ELEMENT auth-method ( #PCDATA )> 

<!--
realm element describes the realm in which the user is authenticated. Must be 
a valid realm that is registered in server configuration.
-->  
<!ELEMENT realm ( #PCDATA )> 

<!--
sas-context element describes the sas-context fields.
TODO: Need more information
-->  
<!ELEMENT sas-context ( caller-propagation )> 

<!--
caller-propagation element indicates if the target will accept propagated caller 
identities
The values are NONE, SUPPORTED or REQUIRED.
TODO: What is the default
-->  
<!ELEMENT caller-propagation ( #PCDATA) >

<!-- 
pass-by-reference elements controls use of Pass by Reference semantics.  
EJB spec requires pass by value, which will be the default mode of operation. 
This can be set to true for non-compliant operation and possibly higher 
performance. For a stand-alone server, this can be used. By setting a similarly 
named element at sun-application.xml, it can apply to all the enclosed ejb 
modules. Allowed values are true and false. Default will be false.
 -->
<!ELEMENT pass-by-reference (#PCDATA)>

<!-- 
PM descriptors contain one or more pm descriptors, but only of them must 
be in use at any given time 
-->
<!ELEMENT pm-descriptors ( pm-descriptor+, pm-inuse)>

<!--
pm-descriptor describes the properties for the persistence manager associated with 
entity bean
-->
<!ELEMENT pm-descriptor ( pm-identifier, pm-version, pm-config?, pm-class-generator?, 
pm-mapping-factory?)>

<!--
pm-identifier element describes the vendor who provided the PM implementation
-->
<!ELEMENT pm-identifier (#PCDATA)>

<!--
pm-version further specifies which version of PM vendor product to be used
-->
<!ELEMENT pm-version (#PCDATA)>

<!--
pm-config specifies the vendor specific config file to be used
-->
<!ELEMENT pm-config (#PCDATA)>

<!--
pm-class-generator specifies the vendor specific concrete class generator
This is the name of the class specific to a vendor 
-->
<!ELEMENT pm-class-generator (#PCDATA)>

<!--
pm-mapping-factory specifies the vendor specific mapping factory
This is the name of the class specific to a vendor 
-->
<!ELEMENT pm-mapping-factory (#PCDATA)>

<!--
pm-insue specifies whether this particular PM must be used or not
-->
<!ELEMENT pm-inuse (pm-identifier, pm-version)>


--- NEW FILE: sun-ejb-jar_xml.xdt ---
<?xml version="1.0" encoding="<XDtConfig:configParameterValue 
paramName="Xmlencoding"/>"?>
<!DOCTYPE sun-ejb-jar PUBLIC "<XDtXml:publicId/>" "<XDtXml:systemId/>">

<!-- <XDtI18n:getString resource="generated_by_xdoclet"/> -->

<sun-ejb-jar>
<XDtMerge:merge file="sunone-role-mappings.ent">
    <!--
        To add any role mappings, add an Unparsed XML Entity file to your XDoclet
        merge directory called sunone-role-mappings.ent that contains the
        <role-mapping> elements.
        <!ELEMENT role-mapping (role-name, role-impl)>
        <!ELEMENT role-impl (group*, user*)>
        N.B. This is an Unparsed XML Entity file, rather than an XML Document,
        since if there are multiple mappings it will not be well-formed.
    -->

</XDtMerge:merge>
    <enterprise-beans>
<XDtComment:comment>
* The DTD & docs aren't clear as to what this element is, so I don't know where
* best to get it from.  But as it's optional anyway, I'm just omitting it for now.
*         <name/>
</XDtComment:comment>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="guid">
<XDtComment:comment>
* I'm assuming this element serves the same purpose as "guid" in versions 6.0 & 6.5
</XDtComment:comment>
        <unique-id><XDtClass:classTagValue tagName="sunone.bean" 
paramName="guid"/></unique-id>
</XDtClass:ifHasClassTag>
<XDtEjb:forAllBeans>
<XDtEjb:ifIsAConcreteEJBean>
        <ejb>
            <ejb-name><XDtEjb:ejbName/></ejb-name>
<XDtComment:comment>
* The DTD lists this element among the additional one for MDBs.  However, the 
Developer's
* Guide says it applies to all bean types, and the example DD includes it on a BMP 
entity
* bean, so I'm going to believe the manual.
</XDtComment:comment>
<XDtClass:ifHasClassTag tagName="ejb.bean" paramName="jndi-name">
            <jndi-name><XDtEjbHome:jndiName type="remote"/></jndi-name>
</XDtClass:ifHasClassTag>
<XDtEjbRef:forAllEjbRefs>
            <ejb-ref>
                <ejb-ref-name><XDtEjbRef:ejbRefName/></ejb-ref-name>
                <jndi-name><XDtEjbRef:ejbRefJndiName/></jndi-name>
            </ejb-ref>
</XDtEjbRef:forAllEjbRefs>
<XDtClass:forAllClassTags tagName="ejb.resource-ref">
            <resource-ref>
                <res-ref-name><XDtClass:classTagValue tagName="ejb.resource-ref" 
paramName="res-ref-name"/></res-ref-name>
                <jndi-name><XDtClass:classTagValue tagName="ejb.resource-ref" 
paramName="jndi-name"/></jndi-name>
<XDtClass:ifHasClassTag tagName="resource-ref" 
paramName="default-resource-principal-name">
                <default-resource-principal>
                    <name><XDtClass:classTagValue tagName="ejb.resource-ref" 
paramName="default-resource-principal-name"/></name>
                    <password><XDtClass:classTagValue tagName="ejb.resource-ref" 
paramName="default-resource-principal-password"/></password>
                </default-resource-principal>
</XDtClass:ifHasClassTag>
            </resource-ref>
</XDtClass:forAllClassTags>
<XDtClass:forAllClassTags tagName="ejb.resource-env-ref">
<XDtClass:ifHasClassTag tagName="ejb.resource-env-ref" paramName="jndi-name">
            <resource-env-ref>
                <resource-env-ref-name><XDtClass:classTagValue 
tagName="ejb.resource-env-ref" paramName="name"/></resource-env-ref-name>
                <jndi-name><XDtClass:classTagValue tagName="ejb.resource-env-ref" 
paramName="jndi-name"/></jndi-name>
            </resource-env-ref>
</XDtClass:ifHasClassTag>
</XDtClass:forAllClassTags>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="pass-by-value">
            <pass-by-reference>
<XDtClass:ifClassTagValueEquals tagName="sunone.bean" paramName="pass-by-value" 
value="false">
                true
</XDtClass:ifClassTagValueEquals>
<XDtClass:ifClassTagValueNotEquals tagName="sunone.bean" paramName="pass-by-value" 
value="false">
                false
</XDtClass:ifClassTagValueEquals>
            </pass-by-reference>
</XDtClass:ifHasClassTag>
<XDtEjbEntity:ifEntity>
<XDtEjbCmp:ifEntityIsCmp>
            <cmp>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="cmp-mapping-properties">
                <mapping-properties><XDtClass:classTagValue tagName="sunone.bean" 
paramName="cmp-mapping-properties"/></mapping-properties>
</XDtClass:ifHasClassTag>
<XDtEjbCmp:ifNotUsingCmp2>
                <is-one-one-cmp>true</is-one-one-cmp>
<XDtClass:ifHasClassTag tagName="sunone.finder">
                <one-one-finders>
<XDtClass:forAllClassTags tagName="sunone.finder">
                    <finder>
                        <method-name><XDtClass:classTagValue tagName="sunone.finder" 
paramName="method-name"/></method-name>
<XDtClass:ifHasClassTag tagName="sunone.finder" paramName="query-params">
                        <query-params><XDtClass:classTagValue tagName="sunone.finder" 
paramName="query-params"/></query-params>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.finder" paramName="query-filter">
                        <query-filter><XDtClass:classTagValue tagName="sunone.finder" 
paramName="query-filter"/></query-filter>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.finder" paramName="query-variables">
                        <query-variables><XDtClass:classTagValue 
tagName="sunone.finder" paramName="query-variables"/></query-variables>
</XDtClass:ifHasClassTag>
                    </finder>
</XDtClass:forAllClassTags>
                </one-one-finders>
</XDtClass:ifHasClassTag>
</XDtEjbCmp:ifNotUsingCmp2>
            </cmp>
</XDtEjbCmp:ifEntityIsCmp>
</XDtEjbEntity:ifEntity>
<XDtClass:ifHasClassTag tagName="ejb.security-identity" paramName="sunone-principal">
            <principal><name><XDtClass:classTagValue tagName="ejb.security-identity" 
paramName="sunone-principal"/></name></principal>
</XDtClass:ifHasClassTag>
<XDtEjbMdb:ifMessageDriven>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="destination-name">
            <mdb-connection-factory>
                <jndi-name><XDtClass:classTagValue tagName="sunone.bean" 
paramName="destination-name"/></jndi-name>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="mdb-connection-factory-user">
                <default-resource-principal>
                    <name><XDtClass:classTagValue tagName="sunone.bean" 
paramName="mdb-connection-factory-user"/></name>
                    <password><XDtClass:classTagValue tagName="sunone.bean" 
paramName="mdb-connection-factory-password"/></password>
                </default-resource-principal>
</XDtClass:ifHasClassTag>
            </mdb-connection-factory>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="durable-name">
            <jms-durable-subscription-name><XDtClass:classTagValue 
tagName="sunone.bean" paramName="durable-name"/></jms-durable-subscription-name>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="max-message-limit">
            <jms-max-messages-load><XDtClass:classTagValue tagName="sunone.bean" 
paramName="max-message-limit"/></jms-max-messages-load>
</XDtClass:ifHasClassTag>
</XDtEjbMdb:ifMessageDriven>
<XDtMerge:merge file="sunone-ior-security-config-{0}.xml">
</XDtMerge:merge>
<XDtEjbEntity:ifEntity>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="read-only">
            <is-read-only-bean><XDtClass:classTagValue tagName="sunone.bean" 
paramName="read-only"/></is-read-only-bean>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="refresh-period">
            <refresh-period-in-seconds><XDtClass:classTagValue tagName="sunone.bean" 
paramName="refresh-period"/></refresh-period-in-seconds>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean" paramName="commit-option">
            <commit-option><XDtClass:classTagValue tagName="sunone.bean" 
paramName="commit-option"/></commit-option>
</XDtClass:ifHasClassTag>
</XDtEjbEntity:ifEntity>
<XDtComment:comment>
* The <gen-classes> element appears here, but (according to the developer's guide)
* "This is automatically generated by the server at deployment/redeployment time.
* It should not be specified by the developer or changed after deployment."
</XDtComment:comment>
<XDtComment:comment>
* The DTD says <bean-pool> applies to stateless session and message driven beans.  The
* Developer's Guide also says it applies to entity beans...  I've gone along with
* the guide, so checking for not being a stateful session bean ought to be good
* enough (at least till J2EE 1.4's timer beans arrive).
</XDtComment:comment>
<XDtEjbSession:ifNotStatefulSession>
<XDtClass:ifHasClassTag tagName="sunone.bean-pool">
            <bean-pool>
<XDtClass:ifHasClassTag tagName="sunone.bean-pool" paramName="steady-pool-size">
                <steady-pool-size><XDtClass:classTagValue tagName="sunone.bean-pool" 
paramName="steady-pool-size"/></steady-pool-size>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean-pool" paramName="resize-quantity">
                <resize-quantity><XDtClass:classTagValue tagName="sunone.bean-pool" 
paramName="resize-quantity"/></resize-quantity>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean-pool" paramName="max-pool-size">
                <max-pool-size><XDtClass:classTagValue tagName="sunone.bean-pool" 
paramName="max-pool-size"/></max-pool-size>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean-pool" paramName="pool-idle-timeout">
                <pool-idle-timeout-in-seconds><XDtClass:classTagValue 
tagName="sunone.bean-pool" 
paramName="pool-idle-timeout"/></pool-idle-timeout-in-seconds>
</XDtClass:ifHasClassTag>
<XDtComment:comment>
* Although the <max-wait-time-in-millis> is present here in the DTD, according
* to the Developer's Guide it's deprecated, so I'm not including it.
</XDtComment:comment>
            </bean-pool>
</XDtClass:ifHasClassTag>
</XDtEjbSession:ifNotStatefulSession>
<XDtComment:comment>
* Both DTD and Developer's Guide say <bean-cache> applies to stateful session and
* entity beans.  To avoid repeating the section I check it's not a stateless session
* nor a message driven bean.  Again, this should be good enough till we have timer
* beans to worry about.  Otherwise, I'd have to repeat the section.
</XDtComment:comment>
<XDtEjbSession:ifNotStatelessSession>
<XDtEjbMdb:ifNotMessageDriven>
<XDtClass:ifHasClassTag tagName="sunone.bean-cache">
            <bean-cache>
<XDtClass:ifHasClassTag tagName="sunone.bean-cache" paramName="max-cache-size">
                <max-cache-size><XDtClass:classTagValue tagName="sunone.bean-cache" 
paramName="max-cache-size"/></max-cache-size>
</XDtClass:ifHasClassTag>
<XDtComment:comment>
* Although the <is-cache-overflow-allowed> is present here in the DTD, according
* to the Developer's Guide it's deprecated, so I'm not including it.
</XDtComment:comment>
<XDtClass:ifHasClassTag tagName="sunone.bean-cache" paramName="cache-idle-timeout">
                <cache-idle-timeout-in-seconds><XDtClass:classTagValue 
tagName="sunone.bean-cache" 
paramName="cache-idle-timeout"/></cache-idle-timeout-in-seconds>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean-cache" paramName="removal-timeout">
                <removal-timeout-in-seconds><XDtClass:classTagValue 
tagName="sunone.bean-cache" paramName="removal-timeout"/></removal-timeout-in-seconds>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="sunone.bean-cache" 
paramName="victim-selection-policy">
                <victim-selection-policy><XDtClass:classTagValue 
tagName="sunone.bean-cache" 
paramName="victim-selection-policy"/></victim-selection-policy>
</XDtClass:ifHasClassTag>
            </bean-cache>
</XDtClass:ifHasClassTag>
</XDtEjbMdb:ifNotMessageDriven>
</XDtEjbSession:ifNotStatelessSession>
        </ejb>

</XDtEjb:ifIsAConcreteEJBean>
</XDtEjb:forAllBeans>
<XDtMerge:merge file="sunone-pm-descriptors.xml">
        <!--
            To add any persistence manager descriptors, put an XML Document named
            sunone-pm-descriptors.xml in your XDoclet merge directory containing the
            <pm-descriptors> element.
        -->

</XDtMerge:merge>
<XDtConfig:ifHasConfigParam paramName="CmpResourceJndiName">
        <cmp-resource>
            <jndi-name><XDtConfig:configParameterValue 
paramName="CmpResourceJndiName"/></jndi-name>
<XDtConfig:ifHasConfigParam paramName="CmpResourcePrincipalName">
            <default-resource-principal>
                <name><XDtConfig:configParameterValue 
paramName="CmpResourcePrincipalName"/></name>
                <password><XDtConfig:configParameterValue 
paramName="CmpResourcePrincipalPassword"/></password>
            </default-resource-principal>
</XDtConfig:ifHasConfigParam>
        </cmp-resource>
</XDtConfig:ifHasConfigParam>
    </enterprise-beans>
</sun-ejb-jar>
--- NEW FILE: IASEjb_jar_1_1.dtd ---
<!--
This is the IAS 6.1 specific XML DTD for the EJB JAR file
-->

<!--
The ias-ejb-jar element is the root element of the EJB deployment descrip-tor.
-->
<!ELEMENT ias-ejb-jar ( enterprise-beans, role-mapping*, transaction-manager-type? )>

<!--
The enterprise-beans element contains the declarations of one or more
enterprise beans.
-->
<!ELEMENT enterprise-beans (session | entity | message-driven)+>

<!--
Declares all the ias specific session bean related deployment information
The ejb-name MUST be matched 1 to 1 with the ejb-name declared in the 
J2EE XML file.
-->
<!ELEMENT session (ejb-name, guid, pass-timeout, 
                                        pass-by-value, session-timeout, ejb-ref*, 
resource-ref*, transaction-manager-type?, failover-required?, iiop? )>

<!--
Declares all the ias specific entity bean related deployment information
The ejb-name MUST be matched 1 to 1 with the ejb-name declared in the 
J2EE XML file.
-->
<!ELEMENT entity (ejb-name, guid, pass-timeout, 
                                        pass-by-value, persistence-manager?, 
pool-manager?, ejb-ref*, resource-ref*, transaction-manager-type?, failover-required?, 
iiop?)>


<!--
              Beginning of the MDB-specific section
-->

<!--
The message-driven element declares a message-driven bean. The
declaration consists of: an optional description; optional display
name; optional small icon file name; optional large icon file name; a
name assigned to the enterprise bean in the deployment descriptor; the
message-driven bean's implementation class; the message-driven bean's
transaction management type; an optional declaration of the
message-driven bean's message selector; an optional declaration of the
acknowledgment mode for the message-driven bean if bean-managed
transaction demarcation is used; an optional declaration of the
intended destination type of the message-driven bean; an optional
declaration of the bean's environment entries; an optional declaration
of the bean's EJB references; an optional declaration of the security
identity to be used for the execution of the bean's methods; an
optional declaration of the bean's resource manager connection factory
references; and an optional declaration of the bean's resource
environment references.
 
Used in: enterprise-beans
-->
<!ELEMENT message-driven (description?, display-name?, small-icon?,
large-icon?, ejb-name?, ejb-class, transaction-type, trans-attribute,
message-selector?, acknowledge-mode?, message-driven-destination?,
destination-name, env-entry*, mdb-ejb-ref*, security-identity?,
mdb-resource-ref*, resource-env-ref*, max-message-limit, durable-name?,
max-mdb-pool-size, min-mdb-pool-size)>

<!-- 
The acknowledge-mode element specifies whether JMS
AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE message acknowledgment
semantics should be used for the onMessage message of a message-driven
bean that uses bean managed transaction demarcation.

The acknowledge-mode element must be one of the two following:

<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<acknowledge-mode>Dups-ok-acknowledge</acknowledgemode>

Used in: message-driven
-->
<!ELEMENT acknowledge-mode (#PCDATA)>

<!--
The description element is used by the ejb-jar file producer to
provide text describing the parent element.

The description element should include any information that the
ejb-jar file producer wants to provide to the consumer of the ejb-jar
file (i.e. to the Deployer). Typically, the tools used by the ejb-jar
file consumer will display the description when processing the parent
element.

Used in: cmp-field, cmr-field, container-transaction, dependent,
dependents, ejb-entity-ref, ejb-jar, ejb-ref, ejb-relation,
ejb-relationship-role, entity, env-entry, message-driven, method,
method-permission, relationships, role-source,
run-as-specified-identity, resource-env-ref, resource-ref,
security-identity, security-role, security-role-ref, and session.
-->
<!ELEMENT description (#PCDATA)>

<!--
The destination-name element specifies the name of the Queue or the
Topic the MDB listens to.

Used in: message-driven
-->
<!ELEMENT destination-name (#PCDATA)>

<!--
The destination-type element specifies the type of the JMS
destination. The type is specified by the Java interface expected to
be implemented by the destination.

The destination-type element must be one of the two following:

<destination-type>javax.jms.Queue</destination-type>
<destination-type>javax.jms.Topic</destination-type>

Used in: message-driven-destination
-->
<!ELEMENT destination-type (#PCDATA)>

<!--
The display-name element contains a short name that is intended to be
displayed by tools.

Used in: ejb-jar, session, entity, and message-driven

Example:

<display-name>Employee Self Service</display-name>
-->
<!ELEMENT display-name (#PCDATA)>

<!--
The ejb-class element contains the fully-qualified name of the
enterprise bean's class.

Used in: entity, message-driven, and session

Example: 

<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
-->
<!ELEMENT ejb-class (#PCDATA)>

<!--
The ejb-link element is used in the ejb-ref and ejb-entity-ref
elements to specify that an EJB reference is linked to another
enterprise bean.

The value of the ejb-link element must be the ejb-name of an
enterprise bean in the same ejb-jar file or in another ejb-jar file in
the same J2EE application unit.

Alternatively, the name in the ejb-link element may be composed of a
path name specifying the ejb-jar containing the referenced enterprise
bean with the ejb-name of the target bean appended and separated from
the path name by "#". The path name is relative to the jar file
containing the referencing component. This allows multiple enterprise
beans with the same ejb-name to be uniquely identified.

Used in: ejb-entity-ref, ejb-ref

Examples: 

<ejb-link>EmployeeRecord</ejb-link>

<ejb-link>../products/product.jar#ProductEJB</ejb-link>

-->
<!ELEMENT ejb-link (#PCDATA)>

<!--
The ejb-ref element is used for the declaration of a reference to
another enterprise bean's home. The declaration consists of an
optional description; the EJB reference name used in the code of the
referencing enterprise bean; the expected type of the referenced
enterprise bean; the expected home and remote interfaces of the
referenced enterprise bean; and an optional ejb-link information.

The optional ejb-link element is used to specify the referenced
enterprise bean.

Used in: entity, message-driven, and session
-->
<!ELEMENT mdb-ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote, 
ejb-link?)>

<!-- 
The ejb-ref-type element contains the expected type of the
referenced enterprise bean.

The ejb-ref-type element must be one of the following:

<ejb-ref-type>Entity</ejb-ref-type>
<ejb-ref-type>Session</ejb-ref-type>

Used in: ejb-ref
-->
<!ELEMENT ejb-ref-type (#PCDATA)>


<!--
The home element contains the fully-qualified name of the enterprise
bean's home interface.

Used in: ejb-ref, ejb-entity-ref, entity, and session

Example:


<home>com.aardvark.payroll.PayrollHome</home>
-->
<!ELEMENT home (#PCDATA)>

<!--
The remote element contains the fully-qualified name of the enterprise
bean's remote interface.

Used in: ejb-ref, entity, and session

Example: 

<remote>com.wombat.empl.EmployeeService</remote>
-->
<!ELEMENT remote (#PCDATA)>


<!--
The ejb-name element specifies an enterprise bean's name. This name is
assigned by the ejb-jar file producer to name the enterprise bean in
the ejb-jar file's deployment descriptor. The name must be unique
among the names of the enterprise beans in the same ejb-jar file.

There is no architected relationship between the ejb-name in the
deployment descriptor and the JNDI name that the Deployer will assign
to the enterprise bean's home.

The name for an entity bean with cmp-version 2.x must conform to the
lexical rules for an NMTOKEN. The name for an entity bean with
cmp-version 2.x must not be a reserved literal in EJB QL.

Used in: entity, message-driven, session, method, and role-source. 

Example: 

<ejb-name>EmployeeService</ejb-name>
-->
<!ELEMENT ejb-name (#PCDATA)>

<!--
The env-entry element contains the declaration of an enterprise bean's
environment entry. The declaration consists of an optional
description, the name of the environment entry, and an optional value.

Used in: entity, message-driven, and session
-->
<!ELEMENT env-entry (description?, env-entry-name, env-entry-type,
env-entry-value?)>

<!--
The env-entry-name element contains the name of an enterprise bean's
environment entry.

Used in: env-entry

Example: 

<env-entry-name>minAmount</env-entry-name>
-->
<!ELEMENT env-entry-name (#PCDATA)>

<!--
The env-entry-type element contains the fully-qualified Java type of
the environment entry value that is expected by the enterprise bean's
code.

The following are the legal values of env-entry-type:
java.lang.Boolean, java.lang.String, java.lang.Integer,
java.lang.Double, java.lang.Byte, java.lang.Short, java.lang.Long, and
java.lang.Float.


Used in: env-entry

Example: 


<env-entry-type>java.lang.Boolean</env-entry-type>
-->
<!ELEMENT env-entry-type (#PCDATA)>

<!--
The env-entry-value element contains the value of an enterprise bean's
environment entry. The value must be a String that is valid for the
constructor of the specified type that takes a single String
parameter.

Used in: env-entry

Example: 


<env-entry-value>100.00</env-entry-value>
-->
<!ELEMENT env-entry-value (#PCDATA)>

<!--
The large-icon element contains the name of a file containing a large
(32 x 32) icon image. The file name is relative path within the
ejb-jar file.

The image must be either in the JPEG or GIF format, and the file name
must end with the suffix ".jpg" or ".gif" respectively.  The icon can
be used by tools.

Example:

<large-icon>employee-service-icon32x32.jpg</large-icon>
-->
<!ELEMENT large-icon (#PCDATA)>

<!--
The message-driven-destination element provides advice to the Deployer
as to whether a message-driven bean is intended for a Queue or a
Topic. The declaration consists of: the type of the message-driven
bean's intended destination and an optional declaration of whether a
durable or non-durable subscription should be used if the
destination-type is javax.jms.Topic.

Used in: message-driven
-->
<!ELEMENT message-driven-destination (destination-type, subscription-durability?)>

<!--
The message-selector element is used to specify the JMS message
selector to be used in determining which messages a message-driven
bean is to receive.

Example: 
<message-selector>JMSType = `car' AND color = `blue' AND weight &gt; 2500
</message-selector>

Used in: message-driven
-->
<!ELEMENT message-selector (#PCDATA)>

<!--
The persistence-type element specifies an entity bean's persistence
management type.

The persistence-type element must be one of the two following:

<persistence-type>Bean</persistence-type>
<persistence-type>Container</persistence-type>

Used in: entity
-->
<!ELEMENT persistence-type (#PCDATA)>

<!--
The reentrant element specifies whether an entity bean is reentrant or
not.

The reentrant element must be one of the two following:

<reentrant>True</reentrant>
<reentrant>False</reentrant>

Used in: entity
-->
<!ELEMENT reentrant (#PCDATA)>

<!--
The run-as-specified-identity element specifies the run-as identity to
be used for the execution of the methods of an enterprise bean. It
contains an optional description, and the name of a security role.

Used in: security-identity
-->
<!ELEMENT run-as-specified-identity (description?, role-name)>

<!--
The security-identity element specifies whether the caller's security
identity is to be used for the execution of the methods of the
enterprise bean or whether a specific run-as identity is to be
used. It contains an optional description and a specification of the
security identity to be used.

Used in: session, entity, message-driven
-->
<!ELEMENT security-identity (description?, 
(use-caller-identity|run-as-specified-identity))>

<!--
The small-icon element contains the name of a file containing a small
(16 x 16) icon image. The file name is relative path within the
ejb-jar file.

The image must be either in the JPEG or GIF format, and the file name
must end with the suffix ".jpg" or ".gif" respectively.

The icon can be used by tools.

Example:

<small-icon>employee-service-icon16x16.jpg</small-icon>
-->
<!ELEMENT small-icon (#PCDATA)>

<!--
The subscription-durability element specifies whether a JMS topic
subscription is intended to be durable or nondurable.

The subscription-durability element must be one of the two following:

<subscription-durability>Durable</subscription-durability>
<subscription-durability>NonDurable</subscription-durability>

Used in: message-driven-destination
-->
<!ELEMENT subscription-durability (#PCDATA)>

<!-- 
The transaction-type element specifies an enterprise bean's
transaction management type.

The transaction-type element must be one of the two following: 

<transaction-type>Bean</transaction-type> 
<transaction-type>Container</transaction-type>

Used in: session and message-driven
-->
<!ELEMENT transaction-type (#PCDATA)>

<!--
The use-caller-identity element specifies that the caller's security
identity be used as the security identity for the execution of the
enterprise bean's methods.

Used in: security-identity
-->
<!ELEMENT use-caller-identity EMPTY>

<!--
The mdb-resource-ref element contains a declaration of enterprise bean's
reference to an external resource. It consists of an optional
description, the resource manager connection factory reference name,
the indication of the resource manager connection factory type
expected by the enterprise bean code, and the type of authentication
(Application or Container)

Used in: entity, message-driven, and session

Example:

<mdb-resource-ref>
    <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</mdb-resource-ref>
-->
<!ELEMENT mdb-resource-ref (description?, res-ref-name, res-type, res-auth)>

<!--
The res-type element specifies the type of the data source. The type
is specified by the Java interface (or class) expected to be
implemented by the data source.

Used in: resource-ref
-->
<!ELEMENT res-type (#PCDATA)>

<!--
The res-auth element specifies whether the enterprise bean code signs
on programmatically to the resource manager, or whether the Container
will sign on to the resource manager on behalf of the bean. In the
latter case, the Container uses information that is supplied by the
Deployer.

The value of this element must be one of the two following:

<res-auth>Application</res-auth>
<res-auth>Container</res-auth>
-->
<!ELEMENT res-auth (#PCDATA)>

<!--
The res-sharing-scope element specifies whether connections obtained
through the given resource manager connection factory reference can be
shared. The value of this element, if specified, must be one of the
two following:

<res-sharing-scope>Shareable</res-sharing-scope>
<res-sharing-scope>Unshareable</res-sharing-scope>

The default value is Shareable.

Used in: resource-ref
-->
<!ELEMENT res-sharing-scope (#PCDATA)>


<!--
The resource-env-ref element contains a declaration of an enterprise
bean's reference to an administered object associated with a resource
in the enterprise bean's environment. It consists of an optional
description, the resource environment reference name, and an
indication of the resource environment reference type expected by the
enterprise bean code.

Used in: entity, message-driven and session

Examples:

<resource-env-ref>
    <resource-env-ref-name>jms/StockQueue
    </resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Queue
    </resource-env-ref-type>
</resource-env-ref>
-->
<!ELEMENT resource-env-ref (description?, resource-env-ref-name, 
resource-env-ref-type)>

<!--
The resource-env-ref-name element specifies the name of a resource
environment reference; its value is the environment entry name used in
the enterprise bean code.

Used in: resource-env-ref
-->
<!ELEMENT resource-env-ref-name (#PCDATA)>

<!--
The resource-env-ref-type element specifies the type of a resource
environment reference.

Used in: resource-env-ref
-->
<!ELEMENT resource-env-ref-type (#PCDATA)>

<!--
The trans-attribute element specifies how the container must manage
the transaction boundaries when delegating a method invocation to an
enterprise bean's business method.

The value of trans-attribute must be one of the following:


<trans-attribute>NotSupported</trans-attribute>
<trans-attribute>Required</trans-attribute>

Used in: message-driven
-->
<!ELEMENT trans-attribute (#PCDATA)>


<!--
The maximum number of messages to load into a JMS Session

Used in: message-driven
-->
<!ELEMENT max-message-limit (#PCDATA)>

<!--
The durable name of the topic subscription

Used in: message-driven
-->
<!ELEMENT durable-name (#PCDATA)>

<!--
The maximum size of the ServerSessionPool

Used in: message-driven
-->
<!ELEMENT max-mdb-pool-size (#PCDATA)>

<!--
The minimum size of the ServerSessionPool

Used in: message-driven
-->
<!ELEMENT min-mdb-pool-size (#PCDATA)>

<!--
                      End of the MDB-specific section
-->

<!--
A string that represent the guid of the Ejb in question
-->
<!ELEMENT guid (#PCDATA)>

<!--
Passivation timeout in seconds used by the container.
This value can be changed during runtime by NASA 
-->
<!ELEMENT pass-timeout (#PCDATA)>

<!--
Set to either true or false
-->
<!ELEMENT is-thread-safe (#PCDATA)>

<!--
set to either true or false
-->
<!ELEMENT pass-by-value (#PCDATA)>

<!--
in seconds
-->
<!ELEMENT session-timeout (#PCDATA)>

<!--
defines all the persistence manager specific information
-->
<!ELEMENT persistence-manager ( factory-class-name,
                        properties-file-location? )> 

<!-- 
Factory class used to create new instances of a persistence manager
-->
<!ELEMENT factory-class-name  (#PCDATA)>

<!-- 
Location in jar file of properties file, relative to the META-INF/ of the jar
-->
<!ELEMENT properties-file-location  (#PCDATA)>

<!ELEMENT pool-manager ( commit-option, ready-pool-timeout, ready-pool-maxsize, 
free-pool-maxsize )>

<!--
A string field whose valid values are either COMMIT_OPTION_C, or 
COMMIT_OPTION_B. Default is the COMMIT_OPTION_C value.
-->
<!ELEMENT commit-option (#PCDATA)>

<!--
The following two tags apply to the ready cache. The ready cache is used 
for commit option B.
-->

<!--
ready pool timeout used by the container. An integer in seconds.  
Default is 0 (infinite) This value can be changed during runtime by NASA 
-->
<!ELEMENT ready-pool-timeout (#PCDATA)> 

<!--
maxsize of the ready cache (in number of entries). An integer that 
defaults to 0. This value can be changed during runtime by NASA 
-->
<!ELEMENT ready-pool-maxsize (#PCDATA)> 

<!--
maxsize of the instance free pool (in number of entries). An integer that 
defaults to 0. This value can be changed during runtime by NASA 
-->
<!ELEMENT free-pool-maxsize (#PCDATA)> 


<!--
This is a storage place for the ABSOLUTE jndi name that the ejb-link 
in the corresponding j2ee xml file ejb-ref entry
-->
<!ELEMENT ejb-ref ( ejb-ref-name, jndi-name ) >

<!ELEMENT ejb-ref-name (#PCDATA)> 

<!ELEMENT jndi-name (#PCDATA)> 

<!--
This is a storage place for the ABSOLUTE jndi name that the resource-ref
in the corresponding j2ee xml file resource-ref entry
-->
<!ELEMENT resource-ref ( res-ref-name, jndi-name ) >

<!ELEMENT res-ref-name (#PCDATA)> 

<!--
THis is a True or False value indicating whether failover is required
-->
<!ELEMENT failover-required (#PCDATA)>

<!--
Optional element indicate if the bean is rich client enabled
(true | false), default value is false
-->
<!ELEMENT iiop (#PCDATA)>

<!--
This field create the mapping between the role name as it is known in the 
AppComponent, and then map then onto one or more LDAP defined user,group, etc.
The deployment code simply treats each role-impl as an opaque string that's
interpreted by the security infrastructure
-->
<!ELEMENT role-mapping (role-name, role-impl)>

<!--
The name of the role as refered to in the <security-role> element
-->
<!ELEMENT role-name (#PCDATA)>

<!--
The string used to represent a LDAP group/user thing that makes up
a particular role-name
A role imple could be any number of groups and/or users
-->
<!ELEMENT role-impl (group*, user*)>

<!--
The LDAP specific string that corresponds to a particular LDAP group
-->
<!ELEMENT group (#PCDATA)>

<!--
The LDAP specific string that corresponds to a particular LDAP user
-->
<!ELEMENT user (#PCDATA)>

<!--
The transaction manager type for the component
Allowed values are 'local' and 'global'
-->
<!ELEMENT transaction-manager-type (#PCDATA)>

--- NEW FILE: IASEjb_jar_1_0.dtd ---
<!--
This is the IAS 6.0 specific XML DTD for the EJB JAR file
-->

<!--
The ias-ejb-jar element is the root element of the EJB deployment descrip-tor.
-->
<!ELEMENT ias-ejb-jar ( enterprise-beans, role-mapping* )>

<!--
The enterprise-beans element contains the declarations of one or more
enterprise beans.
-->
<!ELEMENT enterprise-beans (session | entity)+>

<!--
Decalres all the ias specific session bean related deployment information
The ejb-name MUST be matched 1 to 1 with the ejb-name declared in the 
J2EE XML file.
-->
<!ELEMENT session (ejb-name, guid, pass-timeout, 
                                        pass-by-value, session-timeout, ejb-ref*, 
resource-ref*, failover-required?, iiop? )>

<!--
Decalres all the ias specific entity bean related deployment information
The ejb-name MUST be matched 1 to 1 with the ejb-name declared in the 
J2EE XML file.
-->
<!ELEMENT entity (ejb-name, guid, pass-timeout, 
                                        pass-by-value, persistence-manager?, 
pool-manager?, ejb-ref*, resource-ref*, failover-required?, iiop?)>
<!--
A string that represent the guid of the Ejb in question
-->
<!ELEMENT guid (#PCDATA)>

<!--
Passivation timeout in seconds used by the container.
This value can be changed during runtime by NASA 
-->
<!ELEMENT pass-timeout (#PCDATA)>

<!--
Set to either true or false
-->
<!ELEMENT is-thread-safe (#PCDATA)>

<!--
set to either true or false
-->
<!ELEMENT pass-by-value (#PCDATA)>

<!--
in seconds
-->
<!ELEMENT session-timeout (#PCDATA)>

<!--
defines all the persistence manager specific information
-->
<!ELEMENT persistence-manager ( factory-class-name,
                        properties-file-location? )> 

<!-- 
Factory class used to create new instances of a persistence manager
-->
<!ELEMENT factory-class-name  (#PCDATA)>

<!-- 
Location in jar file of properties file, relative to the META-INF/ of the jar
-->
<!ELEMENT properties-file-location  (#PCDATA)>

<!ELEMENT pool-manager ( commit-option, ready-pool-timeout, ready-pool-maxsize, 
free-pool-maxsize )>

<!--
A string field whose valid values are either COMMIT_OPTION_C, or 
COMMIT_OPTION_B. Default is the COMMIT_OPTION_C value.
-->
<!ELEMENT commit-option (#PCDATA)>

<!--
The following two tags apply to the ready cache. The ready cache is used 
for commit option B.
-->

<!--
ready pool timeout used by the container. An integer in seconds.  
Default is 0 (infinite) This value can be changed during runtime by NASA 
-->
<!ELEMENT ready-pool-timeout (#PCDATA)> 

<!--
maxsize of the ready cache (in number of entries). An integer that 
defaults to 0. This value can be changed during runtime by NASA 
-->
<!ELEMENT ready-pool-maxsize (#PCDATA)> 

<!--
maxsize of the instance free pool (in number of entries). An integer that 
defaults to 0. This value can be changed during runtime by NASA 
-->
<!ELEMENT free-pool-maxsize (#PCDATA)> 


<!--
This is a storage place for the ABSOLUTE jndi name that the ejb-link 
in the corresponding j2ee xml file ejb-ref entry
-->
<!ELEMENT ejb-ref ( ejb-ref-name, jndi-name ) >

<!ELEMENT ejb-ref-name (#PCDATA)> 

<!ELEMENT jndi-name (#PCDATA)> 

<!--
This is a storage place for the ABSOLUTE jndi name that the resource-ref
in the corresponding j2ee xml file resource-ref entry
-->
<!ELEMENT resource-ref ( res-ref-name, jndi-name ) >

<!ELEMENT res-ref-name (#PCDATA)> 

<!--
THis is a True or False value indicating whether failover is required
-->
<!ELEMENT failover-required (#PCDATA)>

<!--
Optional element indicate if the bean is rich client enabled
(true | false), default value is false
-->
<!ELEMENT iiop (#PCDATA)>

<!--
This field create the mapping between the role name as it is known in the 
AppComponent, and then map then onto one or more LDAP defined user,group, etc.
The deployment code simply treats each role-impl as an opaque string that's
interpreted by the security infrastructure
-->
<!ELEMENT role-mapping (role-name, role-impl)>

<!--
The name of the role as refered to in the <security-role> element
-->
<!ELEMENT role-name (#PCDATA)>

<!--
The string used to represent a LDAP group/user thing that makes up
a particular role-name
A role imple could be any number of groups and/or users
-->
<!ELEMENT role-impl (group*, user*)>

<!--
The LDAP specific string that corresponds to a particular LDAP group
-->
<!ELEMENT group (#PCDATA)>

<!--
The LDAP specific string that corresponds to a particular LDAP user
-->
<!ELEMENT user (#PCDATA)>



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to