Class XmlParser

java.lang.Object
org.eclipse.jetty.xml.XmlParser

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

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

  • Constructor Details

    • XmlParser

      public XmlParser()
      Construct XmlParser
    • XmlParser

      public XmlParser(boolean validating)
      Construct XmlParser
      Parameters:
      validating - true to enable validation, false to disable
      See Also:
  • Method Details

    • newSAXParserFactory

      protected SAXParserFactory newSAXParserFactory()
    • newSAXParser

      protected SAXParser newSAXParser() throws ParserConfigurationException, SAXException
      Throws:
      ParserConfigurationException
      SAXException
    • configure

      protected void configure(SAXParser saxParser)
    • setFeature

      protected static void setFeature(SAXParserFactory factory, String name, boolean value)
    • setFeature

      protected static void setFeature(XMLReader xmlReader, String name, boolean value)
    • setValidating

      public void setValidating(boolean validating)
    • isValidating

      public boolean isValidating()
    • getSAXParser

      public SAXParser getSAXParser()
    • addCatalog

      public void addCatalog(URI catalogXml, Class<?> baseClassLocation) throws IOException
      Load the specified URI as a catalog for entity mapping purposes.

      This is a temporary Catalog implementation, and should be removed once all of our usages of servlet-api-<ver>.jar have their own catalog.xml files.

      Parameters:
      catalogXml - the URI pointing to the XML catalog
      baseClassLocation - the base class to use for finding relative resources defined in the Catalog XML. This is resolved to the Class location with package location and is used as the XML Catalog Base URI.
      Throws:
      IOException
    • addCatalog

      public void addCatalog(URI catalogXml)
      Load the specified URI as a catalog for entity mapping purposes.
      Parameters:
      catalogXml - the uri to the catalog
    • 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.
    • getDTD

      public String getDTD()
    • 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.
      Parameters:
      url - the url to the xml to parse
      Returns:
      the root node of the xml
      Throws:
      IOException - if unable to load the xml
      SAXException - if unable to parse the xml
    • parse

      public XmlParser.Node parse(File file) throws IOException, SAXException
      Parse File.
      Parameters:
      file - the file to the xml to parse
      Returns:
      the root node of the xml
      Throws:
      IOException - if unable to load the xml
      SAXException - if unable to parse the xml
    • parse

      Parse InputStream.
      Parameters:
      in - the input stream of the xml to parse
      Returns:
      the root node of the xml
      Throws:
      IOException - if unable to load the xml
      SAXException - if unable to parse the xml