J2EE.9.7 J2EE:
application-client
XML DTD
The XML grammar for a J2EE application client deployment descriptor is defined by the J2EE:
application-client
document type definition. The root element of the deployment descriptor for an application client is
application-client
. The content of the XML elements is in general case sensitive. This means, for example, that
<res-auth>Container</res-auth>
must be used, rather than
<res-
auth>container</res-auth>
.
All valid
application-client
deployment descriptors must contain the following DOCTYPE declaration:
<!DOCTYPE application-client PUBLIC "-//Sun Microsystems,
Inc.//DTD J2EE Application Client 1.2//EN" "http://
java.sun.com/j2ee/dtds/application-client_1_2.dtd">
Figure J2EE.9-1 shows the structure of the J2EE:
application-client
XML DTD.
Figure J2EE.9-1. J2EE
:application-client
XML DTD Structure
<!--
The application-client element is the root element of an application
client deployment descriptor.
The application client deployment descriptor describes the EJB
components and external resources referenced by the application
client.
-->
<!ELEMENT application-client (icon?, display-name, description?,
env-entry*, ejb-ref*, resource-ref*)>
<!--
The description element is used to provide text describing the
parent element. The description element should include any
information that the application-client file producer wants to
provide to the consumer of the application-client file (i.e., to the
Deployer). Typically, the tools used by the application-client file
consumer will display the description when processing the parent
element that contains the description.
-->
<!ELEMENT description (#PCDATA)>
<!--
The display-name element contains a short name that is intended to
be displayed by tools.
-->
<!ELEMENT display-name (#PCDATA)>
<!--
The ejb-link element is used in the ejb-ref element to specify that
an EJB reference is linked to an enterprise bean in the encompassing
J2EE Application package. The value of the ejb-link element must be
the ejb-name of an enterprise bean in the same J2EE Application
package. Used in: ejb-ref
Example: <ejb-link>EmployeeRecord</ejb-link>
-->
<!ELEMENT ejb-link (#PCDATA)>
<!--
The ejb-ref element is used for the declaration of a reference to
an enterprise bean's home. The declaration consists of an optional
description; the EJB reference name used in the code of the
referencing application client; 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.
-->
<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home,
remote, ejb-link?)>
<!--
The ejb-ref-name element contains the name of an EJB reference. The
EJB reference is an entry in the application client's environment.
It is recommended that name is prefixed with "ejb/". Used in: ejb-ref
Example: <ejb-ref-name>ejb/Payroll</ejb-ref-name>
-->
<!ELEMENT ejb-ref-name (#PCDATA)>
<!--
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 env-entry element contains the declaration of an application
client's environment entries. The declaration consists of an
optional description, the name of the environment entry, and an
optional value.
-->
<!ELEMENT env-entry (description?, env-entry-name, env-entry-type,
env-entry-value?)>
<!--
The env-entry-name element contains the name of an application
client's environment entry. Used in: env-entry
Example: <env-entry-name>EmployeeAppDB</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 application
client'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 application
client'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>/datasources/MyDatabase</env-entry-value>
-->
<!ELEMENT env-entry-value (#PCDATA)>
<!--
The home element contains the fully-qualified name of the enterprise
bean's home interface.
Used in: ejb-ref
Example: <home>com.aardvark.payroll.PayrollHome</home>
-->
<!ELEMENT home (#PCDATA)>
<!--
The icon element contains a small-icon and large-icon element which
specify the URIs for a small and a large GIF or JPEG icon image used
to represent the application client in a GUI tool.
-->
<!ELEMENT icon (small-icon?, large-icon?)>
<!--
The large-icon element contains the name of a file containing a large
(32 x 32) icon image. The file name is a relative path within the
application-client 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>lib/images/employee-service-icon32x32.jpg</large-icon>
-->
<!ELEMENT large-icon (#PCDATA)>
<!--
The remote element contains the fully-qualified name of the
enterprise bean's remote interface.
Used in: ejb-ref
Example:
<remote>com.wombat.empl.EmployeeService</remote>
-->
<!ELEMENT remote (#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-ref-name element specifies the name of the resource factory
reference name. The resource factory reference name is the name of
the application client's environment entry whose value contains the
JNDI name of the data source.
Used in: resource-ref
-->
<!ELEMENT res-ref-name (#PCDATA)>
<!--
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 resource-ref element contains a declaration of application
clients's reference to an external resource. It consists of an
optional description, the resource factory reference name, the
indication of the resource factory type expected by the application
client's code, and the type of authentication (bean or container).
Example:
<resource-ref>
<res-ref-name>EmployeeAppDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
-->
<!ELEMENT resource-ref (description?, res-ref-name, res-type,
res-auth)>
<!--
The small-icon element contains the name of a file containing a small
(16 x 16) icon image. The file name is a relative path within the
application-client 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>lib/images/employee-service-icon16x16.jpg</small-icon>
-->
<!ELEMENT small-icon (#PCDATA)>
<!--
The ID mechanism is to allow tools to easily make tool-specific
references to the elements of the deployment descriptor.
-->
<!ATTLIST application-client id ID #IMPLIED>
<!ATTLIST description id ID #IMPLIED>
<!ATTLIST display-name id ID #IMPLIED>
<!ATTLIST ejb-link id ID #IMPLIED>
<!ATTLIST ejb-ref id ID #IMPLIED>
<!ATTLIST ejb-ref-name id ID #IMPLIED>
<!ATTLIST ejb-ref-type id ID #IMPLIED>
<!ATTLIST env-entry id ID #IMPLIED>
<!ATTLIST env-entry-name id ID #IMPLIED>
<!ATTLIST env-entry-type id ID #IMPLIED>
<!ATTLIST env-entry-value id ID #IMPLIED>
<!ATTLIST home id ID #IMPLIED>
<!ATTLIST icon id ID #IMPLIED>
<!ATTLIST large-icon id ID #IMPLIED>
<!ATTLIST remote id ID #IMPLIED>
<!ATTLIST res-auth id ID #IMPLIED>
<!ATTLIST res-ref-name id ID #IMPLIED>
<!ATTLIST res-type id ID #IMPLIED>
<!ATTLIST resource-ref id ID #IMPLIED>
<!ATTLIST small-icon id ID #IMPLIED>
|