Class XPathUtil


  • public class XPathUtil
    extends Object
    This class provides a few utility methods for dealing with XML/XPath.
    • Method Detail

      • makeDocumentBuilder

        public static DocumentBuilder makeDocumentBuilder​(boolean validate,
                                                          boolean whitespace,
                                                          boolean namespace,
                                                          boolean downloadDTDs)
                                                   throws ParserConfigurationException
        Create a DocumentBuilder using the makeDocumentFactory func.
        Parameters:
        validate - should the parser validate documents?
        whitespace - should the parser eliminate whitespace in element content?
        namespace - should the parser be namespace aware?
        downloadDTDs - if true, parser should attempt to resolve external entities
        Returns:
        document builder
        Throws:
        ParserConfigurationException - if DocumentBuilder can not be created for the wanted configuration
      • makeDocument

        public static Document makeDocument​(InputStream stream,
                                            boolean validate,
                                            boolean whitespace,
                                            boolean namespace,
                                            boolean tolerant,
                                            boolean quiet,
                                            boolean showWarnings,
                                            boolean report_errors,
                                            boolean isXml,
                                            boolean downloadDTDs)
                                     throws ParserConfigurationException,
                                            SAXException,
                                            IOException,
                                            TidyException
        Utility function to get new Document
        Parameters:
        stream - - Document Input stream
        validate - - Validate Document (not Tidy)
        whitespace - - Element Whitespace (not Tidy)
        namespace - - Is Namespace aware. (not Tidy)
        tolerant - - Is tolerant - i.e. use the Tidy parser
        quiet - - set Tidy quiet
        showWarnings - - set Tidy warnings
        report_errors - - throw TidyException if Tidy detects an error
        isXml - - is document already XML (Tidy only)
        downloadDTDs - - if true, try to download external DTDs
        Returns:
        document
        Throws:
        ParserConfigurationException - when no DocumentBuilder can be constructed for the wanted configuration
        SAXException - if parsing fails
        IOException - if an I/O error occurs while parsing
        TidyException - if a ParseError is detected and report_errors is true
      • makeDocument

        public static Document makeDocument​(InputStream stream,
                                            boolean validate,
                                            boolean whitespace,
                                            boolean namespace,
                                            boolean tolerant,
                                            boolean quiet,
                                            boolean showWarnings,
                                            boolean report_errors,
                                            boolean isXml,
                                            boolean downloadDTDs,
                                            OutputStream tidyOut)
                                     throws ParserConfigurationException,
                                            SAXException,
                                            IOException,
                                            TidyException
        Utility function to get new Document
        Parameters:
        stream - - Document Input stream
        validate - - Validate Document (not Tidy)
        whitespace - - Element Whitespace (not Tidy)
        namespace - - Is Namespace aware. (not Tidy)
        tolerant - - Is tolerant - i.e. use the Tidy parser
        quiet - - set Tidy quiet
        showWarnings - - set Tidy warnings
        report_errors - - throw TidyException if Tidy detects an error
        isXml - - is document already XML (Tidy only)
        downloadDTDs - - if true, try to download external DTDs
        tidyOut - OutputStream for Tidy pretty-printing
        Returns:
        document
        Throws:
        ParserConfigurationException - if DocumentBuilder can not be created for the wanted configuration
        SAXException - if parsing fails
        IOException - if I/O error occurs while parsing
        TidyException - if a ParseError is detected and report_errors is true
      • makeTidyParser

        public static Tidy makeTidyParser​(boolean quiet,
                                          boolean showWarnings,
                                          boolean isXml,
                                          StringWriter stringWriter)
        Create a Tidy parser with the specified settings.
        Parameters:
        quiet - - set the Tidy quiet flag?
        showWarnings - - show Tidy warnings?
        isXml - - treat the content as XML?
        stringWriter - - if non-null, use this for Tidy errorOutput
        Returns:
        the Tidy parser
      • putValuesForXPathInList

        public static void putValuesForXPathInList​(Document document,
                                                   String xPathQuery,
                                                   List<String> matchStrings,
                                                   boolean fragment)
                                            throws TransformerException
        Put in matchStrings results of evaluation
        Parameters:
        document - XML document
        xPathQuery - XPath Query
        matchStrings - List of strings that will be filled
        fragment - return fragment
        Throws:
        TransformerException - when the internally used xpath engine fails
      • validateXPath

        public static void validateXPath​(Document document,
                                         String xpathString)
                                  throws TransformerException
        Validate xpathString is a valid XPath expression
        Parameters:
        document - XML Document
        xpathString - XPATH String
        Throws:
        TransformerException - if expression fails to evaluate
      • computeAssertionResult

        public static void computeAssertionResult​(AssertionResult result,
                                                  Document doc,
                                                  String xPathExpression,
                                                  boolean isNegated)
        Fills result
        Parameters:
        result - AssertionResult
        doc - XML Document
        xPathExpression - XPath expression
        isNegated - flag whether a non-match should be considered a success
      • formatXml

        public static final String formatXml​(String xml)
        Formats XML
        Parameters:
        xml - string to format
        Returns:
        String formatted XML