Class XmlParser


  • public class XmlParser
    extends java.lang.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 xerces is present. This can be configured by setting the "org.eclipse.jetty.xml.XmlParser.Validating" system property.

    • Constructor Summary

      Constructors 
      Constructor Description
      XmlParser()
      Construct
      XmlParser​(boolean validating)  
    • Constructor Detail

      • XmlParser

        public XmlParser()
        Construct
      • XmlParser

        public XmlParser​(boolean validating)
    • Method Detail

      • newSAXParserFactory

        protected javax.xml.parsers.SAXParserFactory newSAXParserFactory()
      • setValidating

        public void setValidating​(boolean validating)
      • isValidating

        public boolean isValidating()
      • getSAXParser

        public javax.xml.parsers.SAXParser getSAXParser()
      • redirectEntity

        public void redirectEntity​(java.lang.String name,
                                   java.net.URL entity)
      • getXpath

        public java.lang.String getXpath()
        Returns:
        Returns the xpath.
      • setXpath

        public void setXpath​(java.lang.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 java.lang.String getDTD()
      • addContentHandler

        public void addContentHandler​(java.lang.String trigger,
                                      org.xml.sax.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​(org.xml.sax.InputSource source)
                             throws java.io.IOException,
                                    org.xml.sax.SAXException
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
      • parse

        public XmlParser.Node parse​(java.lang.String url)
                             throws java.io.IOException,
                                    org.xml.sax.SAXException
        Parse String URL.
        Parameters:
        url - the url to the xml to parse
        Returns:
        the root node of the xml
        Throws:
        java.io.IOException - if unable to load the xml
        org.xml.sax.SAXException - if unable to parse the xml
      • parse

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

        public XmlParser.Node parse​(java.io.InputStream in)
                             throws java.io.IOException,
                                    org.xml.sax.SAXException
        Parse InputStream.
        Parameters:
        in - the input stream of the xml to parse
        Returns:
        the root node of the xml
        Throws:
        java.io.IOException - if unable to load the xml
        org.xml.sax.SAXException - if unable to parse the xml
      • resolveEntity

        protected org.xml.sax.InputSource resolveEntity​(java.lang.String pid,
                                                        java.lang.String sid)