Miscellaneous Extensions

WebLogic provides a number of miscellaneous extensions that ease the processing of XML data. For instance, WebLogic extends the standard SAX input source. Instances of the weblogic.xml.sax.XMLInputSource class enable you to retrieve document header information such as the name of the root element or the public and system identifiers:

package weblogic.xml.sax;
public class XMLInputSource extends org.xml.sax.InputSource {
  public String getNamespaceURI( );
  public String getPublicId( );
  public String getRootTag( );
  public String getSystemId( );
  //...
}

This is useful when you need to decide how to process the XML data without having to complete a lengthy parse of a potentially large document. The following code snippet shows how to retrieve the root tag of an incoming XML document:

XMLInputSource xis = 
  new XMLInputSource(new java.io.StringBufferInputStream("<theroot></theroot>"));
System.err.println(xis.getRootTag( ));

In addition, WebLogic provides a JMS extension whereby XML messages may be filtered on the value of an XPath expression. We covered this in Chapter 8.

Parsing XML in a Servlet

WebLogic provides a proprietary but convenient way for parsing the message body of an HTTP POST request made to a servlet. It allows you to use the setAttribute and getAttribute methods on the HttpServletRequest object to parse XML documents. However, it is not a feature supported by other J2EE-compliant servlet engines. WebLogic provides two special-purpose attributes in ...

Get WebLogic: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.