You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by John Wadkin <j....@hud.ac.uk> on 2002/02/21 16:51:13 UTC

TomCat 4 and XML parsers

Just discovered (by chance) that the on-line docs are missing this bit from
the class-loader howto... This is the sort of info I wanted a while ago - I
thought that the on-line docs contained the latest info??

======

TomCat 4 and XML parsers

Tomcat 4 itself utilizes XML parsing for three processing activities:

Parsing the server.xml configuration file 
Parsing web.xml deployment descriptors 
Parsing JSP pages in XML syntax

By default, the Java API for XML Processing (Version 1.1) reference
implementation is utilized for all of these purposes. However, this parser
is not visible to web applications -- instead, the XML parser stored in
$CATALINA_HOME/server/lib is used for parsing web.xml and server.xml files,
while the parser stored in $CATALINA_HOME/jasper is used for parsing JSP
pages in XML syntax.

To make an XML parser available to your web applications, you have several
options:

To utilize an XML parser in a single web application, simply include the
parser's JAR files in the /WEB-INF/web.xml directory of that web
application. This will work, no matter what parser might be used by Tomcat 4
internally, or by other web applications running in the same instance of
Tomcat 4. 
If you wish to make the JAXP/1.1 reference implementation parser available
to all web applications, simply move the "jaxp.jar" and "crimson.jar" files
from the $CATALINA_HOME/jasper directory into the $CATALINA_HOME/lib
directory. Jasper will continue to use this parser for processing JSP pages
in XML syntax. 
If you wish to make another XML parser that is JAXP/1.1 compatible (such as
Xerces 1.3.1 or later), install that parser's JAR files into the
$CATALINA_HOME/lib directory, and remove "jaxp.jar" and "crimson.jar" from
the $CATALINA_HOME/jasper directory. Jasper will then utilize the new XML
parser as well. 

WARNING - Do not attempt to use a JAXP/1.0 (rather than JAXP/1.1) compliant
parser with Tomcat 4. Tomcat relies on the extra features that were added in
JAXP/1.1 to perform its parsing activities.

WARNING - The final release of the JAXP/1.1 reference implementation
includes JAR files with the sealed attribute. This causes class loading
problems (most commonly visible through "package sealing violation"
exceptions) on JDK 1.3 and later platforms. To avoid these problems,
modified versions of "jaxp.jar" and "crimson.jar" are shipped with Tomcat 4.
You must NOT replace these files with standard JAXP/1.1 JAR files, until a
subsequent JAXP release occurs that has the "sealed" attribute removed.

=========

It:

a) seems to conflict with user experiences
b) doesn't really tell me if I can remove xerces.jar and replace it with:
  i) a more up-to-date version of xerces - i.e. 2
  ii) a different parser such as Aelfred

Thanks,

John

--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>