|bea.com | products | dev2dev | support | askBEA|
|e-docs > WebLogic Server > WebLogic Server Frequently Asked Questions > FAQs: XML|
WebLogic Server Frequently Asked Questions
Q. Which XML parser comes with WebLogic Server 8.1?
A. We bundle the following two parsers with WebLogic Server 8.1:
You can also use the WebLogic XML Streaming API to parse your XML documents. The Streaming API is based on the SAX API, but provides a more procedural, stream-based handling of XML documents rather than having to 8.1write SAX event handlers, which can get complicated when dealing with complex XML documents.
Q. Is an XSLT processor bundled in WebLogic Server 8.1?
A. Yes. The built-in XSLT processor is the one included in the JDK 1.4.1 shipped with WebLogic Server. This XSLT processor is Apache's Xalan Version 2.2.D11.
Note that the built-in transformer in Versions 7.0 and previous of WebLogic Server was one that was based on Apache's Xalan XSLT transformer and whose package name started with weblogic.apache.xalan.*. In Version 8.1 of WebLogic Server, this transformer has been deprecated. Instead, the built-in transformer is the same one that is shipped in JDK 1.4.1: Apache's Xalan 2.2.D11.
For backward compatibility, the weblogic.apache.xalan.* transformer is still available in Version 8.1 of WebLogic Server, although BEA highly recommends you do not use it since it will not be available in future versions. If, however, you need to temporarily continue using this transformer, you must use the Administration Console to configure a transformer other than the built-in for your WebLogic Server instance by updating, or creating a new, XML Registry. Use the following transformer factory:
For detailed information on using the Administration Console to configure the XML Registry for WebLogic Server, see Configuring a Parser or Transformer Other Than the Built-In.
Q. What version of the JAXP API specification is implemented in WebLogic Server 8.1?
A. Version 1.1. This version includes pluggable XML transformation as well as pluggable XML parsing.
Q. Can I use the getAttribute() and setAttribute() methods of Version 2.3 of the Java Servlet API to parse XML documents?
A. Yes. Use the setAttribute() method for SAX mode parsing and the getAttribute() method for DOM mode parsing. Using these methods in a Servlet, however, is a WebLogic-specific feature. This means that the Servlet may not be fully portable to other Servlet engines, so use the feature with caution.
Q. Can I plug in a version of Apache's Xerces XML parser that is different to the one that is built-in with WebLogic Server 8.1 (Xerces 2.1.0?
A. Yes. You can plug in the following versions of Xerces:
You can also put the xerces.jar file in the WEB-INF/lib directory of the WAR file of your application. In this case, be sure you do not enable the PreferWebInfClasses flag for your Web application.
Q. I plugged in a version of Apache Xalan that I downloaded from the Apache Web site, and now I get errors when I try to transform documents. What is the problem?
A. You must ensure that the version of Apache Xalan you download from the Apache Web site is compatible with the version of Apache Xerces you are using with WebLogic Server. This version is either the built-in version of 2.1.0 or one of the versions listed in the preceding question if you have plugged in your own version of Xerces.
Q. How do I identify the document type of an XML document?
A. If the XML document has a Public ID, then that is its document type. For example, if an XML document contains the following DOCTYPE declaration:
<!DOCTYPE mydoc PUBLIC "My public ID String"
then its document type is My public ID String.
If the DOCTYPE declaration does not contain a Public ID, but specifies a System ID, then the document type is the System ID. For example, in the following DOCTYPE declaration:
<!DOCTYPE mydoc SYSTEM "http://foo.com/url/to/my/dtd">
the document type is http://foo.com/url/to/my/dtd.
Note: The System ID is of the DTD, not of the XML document itself. It can, however, still be used as a way to identify the XML document.
If the XML document does not specify a DOCTYPE declaration, then the document type can be either the root element name or the namespace URI, if it has one.