org.mortbay.xml
Class XmlParser

java.lang.Object
  extended by org.mortbay.xml.XmlParser

public class XmlParser
extends Object

XML Parser wrapper. This class wraps any standard JAXP1.1 parser with convieniant error and entity handlers and a mini dom-like document tree.

By default, the parser is created as a validating parser only if xercers is present. This can be configured by setting the "org.mortbay.xml.XmlParser.Validating" system property.

Author:
Greg Wilkins (gregw)

Nested Class Summary
static class XmlParser.Attribute
          XML Attribute.
private  class XmlParser.Handler
           
static class XmlParser.Node
          XML Node.
private  class XmlParser.NoopHandler
           
 
Field Summary
private  Map _observerMap
           
private  Stack _observers
           
private  SAXParser _parser
           
private  Map _redirectMap
           
private  String _xpath
           
private  Object _xpaths
           
 
Constructor Summary
XmlParser()
          Construct
XmlParser(boolean validating)
          Constructor.
 
Method Summary
 void addContentHandler(String trigger, ContentHandler observer)
          Add a ContentHandler.
 String getXpath()
           
 XmlParser.Node parse(File file)
          Parse File.
 XmlParser.Node parse(InputSource source)
           
 XmlParser.Node parse(InputStream in)
          Parse InputStream.
 XmlParser.Node parse(String url)
          Parse String URL.
 void redirectEntity(String name, URL entity)
           
 void setXpath(String xpath)
          Set an XPath A very simple subset of xpath is supported to select a partial tree.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_redirectMap

private Map _redirectMap

_parser

private SAXParser _parser

_observerMap

private Map _observerMap

_observers

private Stack _observers

_xpath

private String _xpath

_xpaths

private Object _xpaths
Constructor Detail

XmlParser

public XmlParser()
Construct


XmlParser

public XmlParser(boolean validating)
Constructor.

Method Detail

redirectEntity

public void redirectEntity(String name,
                           URL entity)
Parameters:
name -
entity -

getXpath

public String getXpath()
Returns:
Returns the xpath.

setXpath

public void setXpath(String xpath)
Set an XPath A very simple subset of xpath is supported to select a partial tree. Currently only path like "/node1/nodeA | /node1/nodeB" are supported.

Parameters:
xpath - The xpath to set.

addContentHandler

public void addContentHandler(String trigger,
                              ContentHandler observer)
Add a ContentHandler. Add an additional _content handler that is triggered on a tag name. SAX events are passed to the ContentHandler provided from a matching start element to the corresponding end element. Only a single _content handler can be registered against each tag.

Parameters:
trigger - Tag local or q name.
observer - SAX ContentHandler

parse

public XmlParser.Node parse(InputSource source)
                     throws IOException,
                            SAXException
Throws:
IOException
SAXException

parse

public XmlParser.Node parse(String url)
                     throws IOException,
                            SAXException
Parse String URL.

Throws:
IOException
SAXException

parse

public XmlParser.Node parse(File file)
                     throws IOException,
                            SAXException
Parse File.

Throws:
IOException
SAXException

parse

public XmlParser.Node parse(InputStream in)
                     throws IOException,
                            SAXException
Parse InputStream.

Throws:
IOException
SAXException