Menú Curso Java Web (JSP's/Servlets) : Código Fuente DTD empleado para web.xml.

(Anterior) WAR's ("Web Archives")

El siguiente DTD corresponde a la versión 2.3 de la especificación de Servlets, Tomcat en su versión 4.x empleado en este curso utiliza esta especificación, no obstante es igualmente válido para todo "Servlet Engine" y/o "Application Server" que cumpla con dicha especificación.

La sintaxis del DTD es la siguiente :

  • <!ELEMENT nombre (elementos anidados) > : Mediante el vocablo !ELEMENT se da inicio a la declaración de determinado elemento, una vez definido, se indica entre paréntesis ( ) los posibles elementos que pueden ser anidados en su estructura.

La sintaxis de los elementos puede ser de cinco tipos descritos a continuación :

  • ( nombre? ) Através del carácter ? se indica que se trata de un elemento opcional para la estructura anidada.

  • ( vocablo* ) : Através del carácter * se especifica que el elemento puede estar presente 0 o más veces.

  • ( palabra+ ) : Através del carácter + se especifica que el elemento puede estar presente 1 o más veces.

  • (letras) : Si solo se indica el nombre de otro elemento sin especificar un carácter (*, + , ?, significa una presencia única (un solo elemento).

  • (#PCDATA) : Indica que el contenido anidado puede ser cualquier dato (texto).

  • (EMPTY) : Indica que no debe tener ningún elemento o texto anidado.

De especial importancia en el DTD descrito a continuación es el elemento web-app ya que es ahí donde se anidan todos los elementos de web.xml y su correspondiente orden, no obstante, también se incluyen el total de los elementos validos en web.xml así como la estructura que deben seguir.

DTD empleado para web.xml


<!--

  <!DOCTYPE web-app PUBLIC
	"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http://java.sun.com/dtd/web-app_2_3.dtd">

-->

<!--
El elemento web-app es la raíz del archivo web.xml.
-->
<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, filter*, filter-mapping*, listener*, servlet*,
servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
login-config?, security-role*, env-entry*, ejb-ref*,  ejb-local-ref*)>

<!--
La presencia del  elemento distributable indica que la 
aplicación (WAR-"War-Archive") esta programada para ser operada 
en un ambiente distribuido de "Cluster"

Utilizado en : web-app
-->
<!ELEMENT distributable EMPTY>


<!--
El elemento context-param contiene una posible declaración 
de parametros de inicialización para un contexto 

Utilizado en : web-app
-->
<!ELEMENT context-param (param-name, param-value, description?)>


<!--

El elemento filter es utilizado para definir un filtro  

Utilizado en : web-app
-->
<!ELEMENT filter (icon?, filter-name, display-name?, description?,
filter-class, init-param*)>


<!--
El elemento filter-mapping indica la ruta (URI) o Servlet donde 
debe ser aplicado un filtro. 

Utilizado en : web-app
-->
<!ELEMENT filter-mapping (filter-name, (url-pattern | servlet-name))>

 
<!--
El elemento filter-class indica el nombre de la Clase Java 
empleada como filtro

Utilizado en : filter
-->
<!ELEMENT filter-class (#PCDATA)>


<!--
filter-name es utilizado para indicar un nombre logico a determinado 
filtro.


Utilizado en : filter, filter-mapping
-->
<!ELEMENT filter-name (#PCDATA)>
<!-- The listener element indicates the deployment properties for a web application listener bean. Utilizado en : web-app --> <!ELEMENT listener (listener-class)>
 
<!--
The listener-class element declares a class in the application must be
registered as a web application listener bean. The value is the fully qualified classname of the listener class.


Utilizado en : listener
-->
<!ELEMENT listener-class (#PCDATA)>
<!-- The servlet element contains the declarative data of a servlet. If a jsp-file is specified and the load-on-startup element is present, then the JSP should be precompiled and loaded. Utilizado en : web-app --> <!ELEMENT servlet (icon?, servlet-name, display-name?, description?, (servlet-class|jsp-file), init-param*, load-on-startup?, run-as?, security-role-ref*)>
 
<!--
The servlet-class element contains the fully qualified class name
of the servlet.

Utilizado en : servlet
-->
<!ELEMENT servlet-class (#PCDATA)>


<!--
The jsp-file element contains the full path to a JSP file within
the web application beginning with a `/'.

Utilizado en:servlet
-->
<!ELEMENT jsp-file (#PCDATA)>


<!--
The load-on-startup element indicates that this servlet should be
loaded (instantiated and have its init() called) on the startup
of the web application. The optional contents of
these element must be an integer indicating the order in which
the servlet should be loaded. If the value is a negative integer,
or the element is not present, the container is free to load the
servlet whenever it chooses. If the value is a positive integer
or 0, the container must load and initialize the servlet as the
application is deployed. The container must guarantee that
servlets marked with lower integers are loaded before servlets
marked with higher integers. The container may choose the order
of loading of servlets with the same load-on-start-up value.

Utilizado en:servlet
-->
<!ELEMENT load-on-startup (#PCDATA)>


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

Utilizado en:servlet
-->
<!ELEMENT run-as (description?, role-name)>



<!--
The security-role-ref element contains the declaration of a security
role reference in the web application's code. The declaration consists
of an optional description, the security role name used in the code,
and an optional link to a security role. If the security role is not
specified, the Deployer must choose an appropriate security role.

The value of the role-name element must be the String used as the
parameter to the EJBContext.isCallerInRole(String roleName) method
or the HttpServletRequest.isUserInRole(String role) method.

Utilizado en:servlet

-->
<!ELEMENT security-role-ref (description?, role-name, role-link?)>



<!-- The servlet-mapping element defines a mapping between a servlet and a url pattern Utilizado en:web-app --> <!ELEMENT servlet-mapping (servlet-name, url-pattern)>
<!--
The servlet-name element contains the canonical name of the
servlet. Each servlet name is unique within the web application.

Utilizado en:filter-mapping, servlet, servlet-mapping
-->
<!ELEMENT servlet-name (#PCDATA)>

<!-- The session-config element defines the session parameters for this web application. Utilizado en:web-app --> <!ELEMENT session-config (session-timeout?)>
<!--
The session-timeout element defines the default session timeout
interval for all sessions created in this web application. The
specified timeout must be expressed in a whole number of minutes.
If the timeout is 0 or less, the container ensures the default
behaviour of sessions is never to time out.

Utilizado en:session-config
-->
<!ELEMENT session-timeout (#PCDATA)>

<!-- The mime-mapping element defines a mapping between an extension and a mime type. Utilizado en:web-app --> <!ELEMENT mime-mapping (extension, mime-type)>
<!--
El elemento extension contiene el tipo de extensión para ser
asignado a determinado MIME. 


Utilizado en : mime-mapping
-->
<!ELEMENT extension (#PCDATA)>



<!--
The mime-type element contains a defined mime type. example:
"text/plain"

Utilizado en:mime-mapping
-->
<!ELEMENT mime-type (#PCDATA)>
<!-- The welcome-file-list contains an ordered list of welcome files elements. Utilizado en:web-app --> <!ELEMENT welcome-file-list (welcome-file+)>
<!--
The welcome-file element contains file name to use as a default
welcome file, such as index.html

Utilizado en:welcome-file-list
-->
<!ELEMENT welcome-file (#PCDATA)>
<!-- El elemento error-page contiene el mapeo entre un error HTTP o una Clase, y su correspondiente ruta de ejecución en caso de ocurrir el error. Utilizado en : web-app --> <!ELEMENT error-page ((error-code | exception-type), location)>
<!--
El elemento error-code indica un codigo HTTP de error. 
Ejemplo : 404 Pagina no encontrada. 
          500 Acceso prohibido. 

Utilizado en : error-page
-->
<!ELEMENT error-code (#PCDATA)>


<!--
El elemento exception-type contiene una Clase Java que en caso 
de ser atrapada ("catch") por el Servlet Engine redirecciona hacia determinada pagina

Utilizada en : error-page
-->
<!ELEMENT exception-type (#PCDATA)>
<!-- The taglib element is used to describe a JSP tag library. Utilizado en:web-app --> <!ELEMENT taglib (taglib-uri, taglib-location)>
<!--
The taglib-uri element describes a URI, relative to the location
of the web.xml document, identifying a Tag Library used in the Web
Application.

Utilizado en:taglib
-->
<!ELEMENT taglib-uri (#PCDATA)>

<!--
the taglib-location element contains the location (as a resource
relative to the root of the web application) where to find the Tag
Libary Description file for the tag library.

Utilizado en:taglib
-->
<!ELEMENT taglib-location (#PCDATA)>
<!-- The resource-env-ref element contains a declaration of a web application's reference to an administered object associated with a resource in the web application'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 web application code. Utilizado en:web-app Example: <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 web application code.  The name is a JNDI name relative to the
java:comp/env context and must be unique within a web application.

Utilizado en:resource-env-ref
-->
<!ELEMENT resource-env-ref-name (#PCDATA)>

<!--
The resource-env-ref-type element specifies the type of a resource
environment reference.  It is the fully qualified name of a Java
language class or interface.

Utilizado en:resource-env-ref
-->
<!ELEMENT resource-env-ref-type (#PCDATA)>
<!-- The resource-ref element contains a declaration of a web application'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 web application code, the type of authentication (Application or Container), and an optional specification of the shareability of connections obtained from the resource (Shareable or Unshareable). Utilizado en:web-app Example: <resource-ref> <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> --> <!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth, res-sharing-scope?)>
 

<!--
The res-auth element specifies whether the web application code signs
on programmatically to the resource manager, or whether the Container
will sign on to the resource manager on behalf of the web application. 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>

Utilizado en:resource-ref
-->
<!ELEMENT res-auth (#PCDATA)>

<!--
The res-ref-name element specifies the name of a resource manager
connection factory reference.  The name is a JNDI name relative to the
java:comp/env context.  The name must be unique within a web application.

Utilizado en:resource-ref
-->
<!ELEMENT res-ref-name (#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.

Utilizado en:resource-ref
-->
<!ELEMENT res-sharing-scope (#PCDATA)>

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

Utilizado en:resource-ref
-->
<!ELEMENT res-type (#PCDATA)>

<!-- The security-constraint element is used to associate security constraints with one or more web resource collections Utilizado en:web-app --> <!ELEMENT security-constraint (display-name?, web-resource-collection+, auth-constraint?, user-data-constraint?)>
 

<!--
The web-resource-collection element is used to identify a subset
of the resources and HTTP methods on those resources within a web
application to which a security constraint applies. If no HTTP methods
are specified, then the security constraint applies to all HTTP
methods.

Utilizado en:security-constraint
-->
<!ELEMENT web-resource-collection (web-resource-name, description?,
url-pattern*, http-method*)>

<!--
The web-resource-name contains the name of this web resource
collection.

Utilizado en:web-resource-collection
-->
<!ELEMENT web-resource-name (#PCDATA)>


<!--
The http-method contains an HTTP method (GET | POST |...).

Utilizado en:web-resource-collection
-->
<!ELEMENT http-method (#PCDATA)>


<!--
The auth-constraint element indicates the user roles that should
be permitted access to this resource collection. The role-name
used here must either correspond to the role-name of one of the
security-role elements defined for this web application, or be
the specially reserved role-name "*" that is a compact syntax for
indicating all roles in the web application. If both "*" and
rolenames appear, the container interprets this as all roles.
If no roles are defined, no user is allowed access to the portion of
the web application described by the containing security-constraint.
The container matches role names case sensitively when determining
access.

Utilizado en:security-constraint
-->
<!ELEMENT auth-constraint (description?, role-name*)>


<!--
The user-data-constraint element is used to indicate how data
communicated between the client and container should be protected.

Utilizado en:security-constraint
-->
<!ELEMENT user-data-constraint (description?, transport-guarantee)>


<!--
The transport-guarantee element specifies that the communication
between client and server should be NONE, INTEGRAL, or
CONFIDENTIAL. NONE means that the application does not require any
transport guarantees. A value of INTEGRAL means that the application
requires that the data sent between the client and server be sent in
such a way that it can't be changed in transit. CONFIDENTIAL means
that the application requires that the data be transmitted in a
fashion that prevents other entities from observing the contents of
the transmission. In most cases, the presence of the INTEGRAL or
CONFIDENTIAL flag will indicate that the use of SSL is required.

Utilizado en:user-data-constraint
-->
<!ELEMENT transport-guarantee (#PCDATA)>


<!-- The security-role element contains the definition of a security role. The definition consists of an optional description of the security role, and the security role name. Utilizado en:web-app Example: <security-role> <description> This role includes all employees who are authorized to access the employee service application. </description> <role-name>employee</role-name> </security-role> --> <!ELEMENT security-role (description?, role-name)> <!-- The env-entry element contains the declaration of a web application's environment entry. The declaration consists of an optional description, the name of the environment entry, and an optional value. If a value is not specified, one must be supplied during deployment. --> <!ELEMENT env-entry (description?, env-entry-name, env-entry-value?, env-entry-type)>
 
<!--
The env-entry-name element contains the name of a web applications's
environment entry.  The name is a JNDI name relative to the
java:comp/env context.  The name must be unique within a web application.

Example:

<env-entry-name>minAmount</env-entry-name>

Utilizado en:env-entry
-->
<!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 web application's
code.

The following are the legal values of env-entry-type:

	java.lang.Boolean
	java.lang.Byte
	java.lang.Character
	java.lang.String
	java.lang.Short
	java.lang.Integer
	java.lang.Long
	java.lang.Float
	java.lang.Double

Utilizado en:env-entry
-->
<!ELEMENT env-entry-type (#PCDATA)>

<!--
The env-entry-value element contains the value of a web application'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, or for java.lang.Character, a single character.

Example:

<env-entry-value>100.00</env-entry-value>

Utilizado en:env-entry
-->
<!ELEMENT env-entry-value (#PCDATA)>
<!-- The ejb-local-ref element is used for the declaration of a reference to an enterprise bean's local home. The declaration consists of: - an optional description - the EJB reference name used in the code of the web application that's referencing the enterprise bean - the expected type of the referenced enterprise bean - the expected local home and local interfaces of the referenced enterprise bean - optional ejb-link information, used to specify the referenced enterprise bean Utilizado en:web-app --> <!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type, local-home, local, ejb-link?)> <!-- 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 web application that's referencing the enterprise bean - the expected type of the referenced enterprise bean - the expected home and remote interfaces of the referenced enterprise bean - optional ejb-link information, used to specify the referenced enterprise bean Utilizado en:web-app --> <!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 web application's environment and is
relative to the java:comp/env context.  The name must be unique
within the web application.

It is recommended that name is prefixed with "ejb/".

Utilizado en:ejb-local-ref, 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>

Utilizado en:ejb-local-ref, ejb-ref
-->
<!ELEMENT ejb-ref-type (#PCDATA)>


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

Utilizado en:ejb-ref

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.

Utilizado en:ejb-ref

Example:

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


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

The name in the ejb-link element is 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 war file
containing the web application that is referencing the enterprise bean.
This allows multiple enterprise beans with the same ejb-name to be
uniquely identified.

Utilizado en : ejb-local-ref, ejb-ref

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


<!-- The role-link element is a reference to a defined security role. The role-link element must contain the name of one of the security roles defined in the security-role elements. Utilizado en:security-role-ref --> <!ELEMENT role-link (#PCDATA)> <!-- The icon element contains small-icon and large-icon elements that specify the file names for small and a large GIF or JPEG icon images used to represent the parent element in a GUI tool. Utilizado en:filter, servlet, web-app --> <!ELEMENT icon (small-icon?, large-icon?)>
 
<!--
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 web application's
war file.

The image may be either in the JPEG or GIF format.
The icon can be used by tools.

Utilizado en:icon

Example:

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

<!--
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 web application's
war file.

The image may be either in the JPEG or GIF format.
The icon can be used by tools.

Used in: icon

Example:

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


<!-- El elemento display-name es utilizado para indicar un nombre descriptivo para ser empleado en IDE's ("Integrated Development Environments") Utilizado en : filter, security-constraint, servlet, web-app --> <!ELEMENT display-name (#PCDATA)> <!-- El elemento description es utilizado para indicar un nombre descriptivo a determinado elemento Utilizado en : auth-constraint, context-param, ejb-local-ref, ejb-ref, env-entry, filter, init-param, resource-env-ref, resource-ref, run-as, security-role, security-role-ref, servlet, user-data-constraint, web-app, web-resource-collection --> <!ELEMENT description (#PCDATA)> <!-- The init-param element contains a name/value pair as an initialization param of the servlet Utilizado en:filter, servlet --> <!ELEMENT init-param (param-name, param-value, description?)> <!-- The local element contains the fully-qualified name of the enterprise bean's local interface. Utilizado en:ejb-local-ref --> <!ELEMENT local (#PCDATA)> <!-- The local-home element contains the fully-qualified name of the enterprise bean's local home interface. Utilizado en:ejb-local-ref --> <!ELEMENT local-home (#PCDATA)> <!-- The location element contains the location of the resource in the web application relative to the root of the web application. The value of the location must have a leading `/'. Utilizado en:error-page --> <!ELEMENT location (#PCDATA)> <!-- The login-config element is used to configure the authentication method that should be used, the realm name that should be used for this application, and the attributes that are needed by the form login mechanism. Utilizado en:web-app --> <!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
 

<!--
The auth-method element is used to configure the authentication
mechanism for the web application. As a prerequisite to gaining access to any web resources which are protected by an authorization
constraint, a user must have authenticated using the configured
mechanism. Legal values for this element are "BASIC", "DIGEST",
"FORM", or "CLIENT-CERT".

Utilizado en:login-config
-->
<!ELEMENT auth-method (#PCDATA)>



<!--
The realm name element specifies the realm name to use in HTTP
Basic authorization.

Utilizado en:login-config
-->
<!ELEMENT realm-name (#PCDATA)>



<!--
The form-login-config element specifies the login and error pages
that should be used in form based login. If form based authentication
is not used, these elements are ignored.

Utilizado en:login-config
-->
<!ELEMENT form-login-config (form-login-page, form-error-page)>


<!--
The form-error-page element defines the location in the web app
where the error page that is displayed when login is not successful
can be found. The path begins with a leading / and is interpreted
relative to the root of the WAR.

Utilizado en:form-login-config
-->
<!ELEMENT form-error-page (#PCDATA)>


<!--
The form-login-page element defines the location in the web app
where the page that can be used for login can be found. The path
begins with a leading / and is interpreted relative to the root of the WAR.

Utilizado en:form-login-config
-->
<!ELEMENT form-login-page (#PCDATA)>

<!-- The param-name element contains the name of a parameter. Each parameter name must be unique in the web application. Utilizado en:context-param, init-param --> <!ELEMENT param-name (#PCDATA)> <!-- The param-value element contains the value of a parameter. Utilizado en:context-param, init-param --> <!ELEMENT param-value (#PCDATA)> <!-- The role-name element contains the name of a security role. The name must conform to the lexical rules for an NMTOKEN. Utilizado en:auth-constraint, run-as, security-role, security-role-ref --> <!ELEMENT role-name (#PCDATA)> <!-- The url-pattern element contains the url pattern of the mapping. Must follow the rules specified in Section 11.2 of the Servlet API Specification. Utilizado en:filter-mapping, servlet-mapping, web-resource-collection --> <!ELEMENT url-pattern (#PCDATA)>

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com