Package org.dom4j

Class DocumentHelper


  • public final class DocumentHelper
    extends java.lang.Object

    DocumentHelper is a collection of helper methods for using DOM4J.

    Version:
    $Revision: 1.26 $
    Author:
    James Strachan
    • Method Detail

      • createDocument

        public static Document createDocument()
      • createDocument

        public static Document createDocument​(Element rootElement)
      • createElement

        public static Element createElement​(QName qname)
      • createElement

        public static Element createElement​(java.lang.String name)
      • createAttribute

        public static Attribute createAttribute​(Element owner,
                                                QName qname,
                                                java.lang.String value)
      • createAttribute

        public static Attribute createAttribute​(Element owner,
                                                java.lang.String name,
                                                java.lang.String value)
      • createCDATA

        public static CDATA createCDATA​(java.lang.String text)
      • createComment

        public static Comment createComment​(java.lang.String text)
      • createText

        public static Text createText​(java.lang.String text)
      • createEntity

        public static Entity createEntity​(java.lang.String name,
                                          java.lang.String text)
      • createNamespace

        public static Namespace createNamespace​(java.lang.String prefix,
                                                java.lang.String uri)
      • createProcessingInstruction

        public static ProcessingInstruction createProcessingInstruction​(java.lang.String pi,
                                                                        java.lang.String d)
      • createProcessingInstruction

        public static ProcessingInstruction createProcessingInstruction​(java.lang.String pi,
                                                                        java.util.Map data)
      • createQName

        public static QName createQName​(java.lang.String localName,
                                        Namespace namespace)
      • createQName

        public static QName createQName​(java.lang.String localName)
      • createXPath

        public static XPath createXPath​(java.lang.String xpathExpression)
                                 throws InvalidXPathException

        createXPath parses an XPath expression and creates a new XPath XPath instance using the singleton DocumentFactory.

        Parameters:
        xpathExpression - is the XPath expression to create
        Returns:
        a new XPath instance
        Throws:
        InvalidXPathException - if the XPath expression is invalid
      • createXPath

        public static XPath createXPath​(java.lang.String xpathExpression,
                                        org.jaxen.VariableContext context)
                                 throws InvalidXPathException

        createXPath parses an XPath expression and creates a new XPath XPath instance using the singleton DocumentFactory.

        Parameters:
        xpathExpression - is the XPath expression to create
        context - is the variable context to use when evaluating the XPath
        Returns:
        a new XPath instance
        Throws:
        InvalidXPathException - if the XPath expression is invalid
      • createXPathFilter

        public static NodeFilter createXPathFilter​(java.lang.String xpathFilterExpression)

        createXPathFilter parses a NodeFilter from the given XPath filter expression using the singleton DocumentFactory. XPath filter expressions occur within XPath expressions such as self::node()[ filterExpression ]

        Parameters:
        xpathFilterExpression - is the XPath filter expression to create
        Returns:
        a new NodeFilter instance
      • createPattern

        public static Pattern createPattern​(java.lang.String xpathPattern)

        createPattern parses the given XPath expression to create an XSLT style Patterninstance which can then be used in an XSLT processing model.

        Parameters:
        xpathPattern - is the XPath pattern expression to create
        Returns:
        a new Pattern instance
      • selectNodes

        public static java.util.List selectNodes​(java.lang.String xpathFilterExpression,
                                                 java.util.List nodes)

        selectNodes performs the given XPath expression on the Listof Nodeinstances appending all the results together into a single list.

        Parameters:
        xpathFilterExpression - is the XPath filter expression to evaluate
        nodes - is the list of nodes on which to evalute the XPath
        Returns:
        the results of all the XPath evaluations as a single list
      • selectNodes

        public static java.util.List selectNodes​(java.lang.String xpathFilterExpression,
                                                 Node node)

        selectNodes performs the given XPath expression on the Listof Nodeinstances appending all the results together into a single list.

        Parameters:
        xpathFilterExpression - is the XPath filter expression to evaluate
        node - is the Node on which to evalute the XPath
        Returns:
        the results of all the XPath evaluations as a single list
      • sort

        public static void sort​(java.util.List list,
                                java.lang.String xpathExpression)

        sort sorts the given List of Nodes using an XPath expression as a Comparator.

        Parameters:
        list - is the list of Nodes to sort
        xpathExpression - is the XPath expression used for comparison
      • sort

        public static void sort​(java.util.List list,
                                java.lang.String expression,
                                boolean distinct)

        sort sorts the given List of Nodes using an XPath expression as a Comparatorand optionally removing duplicates.

        Parameters:
        list - is the list of Nodes to sort
        expression - is the XPath expression used for comparison
        distinct - if true then duplicate values (using the sortXPath for comparisions) will be removed from the List
      • parseText

        public static Document parseText​(java.lang.String text)
                                  throws DocumentException

        parseText parses the given text as an XML document and returns the newly created Document.

        Parameters:
        text - the XML text to be parsed
        Returns:
        a newly parsed Document
        Throws:
        DocumentException - if the document could not be parsed
      • makeElement

        public static Element makeElement​(Branch source,
                                          java.lang.String path)

        makeElement

        a helper method which navigates from the given Document or Element node to some Element using the path expression, creating any necessary elements along the way. For example the path a/b/c would get the first child <a> element, which would be created if it did not exist, then the next child <b> and so on until finally a <c> element is returned.
        Parameters:
        source - is the Element or Document to start navigating from
        path - is a simple path expression, seperated by '/' which denotes the path from the source to the resulting element such as a/b/c
        Returns:
        the first Element on the given path which either already existed on the path or were created by this method.