| JAXP property | Resin class
|
| javax.xml.parsers.DocumentBuilderFactory
| com.caucho.xml.parsers.XmlDocumentBuilderFactory
|
| javax.xml.parsers.DocumentBuilderFactory
| com.caucho.xml.parsers.HtmlDocumentBuilderFactory
|
| javax.xml.parsers.DocumentBuilderFactory
| com.caucho.xml.parsers.LooseXmlDocumentBuilderFactory
|
| javax.xml.parsers.DocumentBuilderFactory
| com.caucho.xml.parsers.LooseHtmlDocumentBuilderFactory
|
| javax.xml.parsers.SAXParserFactory
| com.caucho.xml.parsers.XmlSAXParserFactory
|
| javax.xml.parsers.SAXParserFactory
| com.caucho.xml.parsers.HtmlSAXParserFactory
|
| javax.xml.parsers.SAXParserFactory
| com.caucho.xml.parsers.LooseXmlSAXParserFactory
|
| javax.xml.parsers.SAXParserFactory
| com.caucho.xml.parsers.LooseHtmlSAXParserFactory
|
| JAXP property | Resin class
|
| javax.xml.transform.TransformerFactory
| com.caucho.xsl.Xsl
|
Usually Resin will use its XML parsers and fast XSLT transformer. Sometimes
placement of certain jars in the classpath causes problems.
system-property can be used to explicitly set the Resin XML and XSLT
implementation classes.
<!-- xml -->
<system-property javax.xml.parsers.DocumentBuilderFactory=
"com.caucho.xml.parsers.XmlDocumentBuilderFactory"/>
<system-property javax.xml.parsers.SAXParserFactory=
"com.caucho.xml.parsers.XmlSAXParserFactory"/>
<!-- xslt -->
<system-property javax.xml.transform.TransformerFactory=
"com.caucho.xsl.Xsl"/>
JAXP system properties are used to specify the XML and XSLT implementations
that are used. Resin defaults to using it's own XML parsers and fast XSLT
transformer. Other implementations are used with the specification of the
appropriate system properties and values.
Examples of using for commonly used
alternative XML parsers and XSLT transformers are in separate sections
below. The system property configuration tags can be placed at the
or the level.
<web-app>
<!-- xml -->
<system-property javax.xml.parsers.DocumentBuilderFactory=
"..."/>
<system-property javax.xml.parsers.SAXParserFactory=
"..."/>
<!-- xslt -->
<system-property javax.xml.transform.TransformerFactory=
"..."/>
</web-app>
<server>
<!-- xml -->
<system-property javax.xml.parsers.DocumentBuilderFactory=
"..."/>
<system-property javax.xml.parsers.SAXParserFactory=
"..."/>
<!-- xslt -->
<system-property javax.xml.transform.TransformerFactory=
"..."/>
</server>
Setting system properties for alternative libraries requires that the
implementation classes, usually in a .jar file, are available in the classpath.
The implementation classes are available for a single web application when the
jar file(s) are placed in WEB-INF/lib. Since other web-apps do not see
these libraries, this allows you to isolate a particular version of a
particular implementation for use by the web-app. It is not uncommon for a new
version of these jar files to introduce problems with existing code.
If the system-property is being set at the server level, then the jar
files containing the implementation classes need to be placed in
$RESIN_HOME/lib. This is also a convenient location for placement if
you want to avoid putting the libraries in WEB-INF/lib for every
web application. Any jars placed in $RESIN_HOME/lib are
avaialable for all web applications.
<!-- xml -->
<system-property javax.xml.parsers.DocumentBuilderFactory=
"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory=
"org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
<!-- xslt -->
<system-property javax.xml.transform.TransformerFactory=
"org.apache.xalan.processor.TransformerFactoryImpl"/>
Cocoon users may need the following:
<system-property org.xml.sax.driver=
"org.apache.xerces.parsers.SAXParser"/>
Put your xerces and xalan jar files in WEB-INF/lib, or to have them
available to all of your applications put them in $RESIN_HOME/lib.
Crimson is the xml parser that is included with JDK 1.4 and greater.
<!-- xml -->
<system-property javax.xml.parsers.DocumentBuilderFactory=
"org.apache.crimson.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory=
"org.apache.crimson.jaxp.SAXParserFactoryImpl""/>
Copyright (c) 1998-2009 Caucho Technology, Inc. All rights reserved. caucho® ,
resin® and
quercus®
are registered trademarks of Caucho Technology, Inc.
|