Class Nodes


  • public final class Nodes
    extends java.lang.Object
    Utility algorithms that work on DOM nodes.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static char SPACE  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Nodes()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Map<javax.xml.namespace.QName,​java.lang.String> getAttributes​(org.w3c.dom.Node n)
      Obtains an element's attributes as Map.
      static java.lang.String getMergedNestedText​(org.w3c.dom.Node n)
      Tries to merge all direct Text and CDATA children of the given Node and concatenates their value.
      static javax.xml.namespace.QName getQName​(org.w3c.dom.Node n)
      Extracts a Node's name, namespace URI (if any) and prefix as a QName.
      private static void handleWsRec​(org.w3c.dom.Node n, boolean normalize)
      Trims textual content of this node, removes empty text and CDATA children, recurses into its child nodes.
      (package private) static java.lang.String normalize​(java.lang.String s)
      Normalize a string.
      static org.w3c.dom.Node normalizeWhitespace​(org.w3c.dom.Node original)
      Creates a new Node (of the same type as the original node) that is similar to the orginal but doesn't contain any empty text or CDATA nodes and where all textual content including attribute values or comments are trimmed and normalized.
      private static void stripECW​(org.w3c.dom.Node n)  
      static org.w3c.dom.Node stripElementContentWhitespace​(org.w3c.dom.Node original)
      Creates a new Node (of the same type as the original node) that is similar to the orginal but doesn't contain any text or CDATA nodes that only consist of whitespace.
      static org.w3c.dom.Node stripWhitespace​(org.w3c.dom.Node original)
      Creates a new Node (of the same type as the original node) that is similar to the orginal but doesn't contain any empty text or CDATA nodes and where all textual content including attribute values or comments are trimmed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Nodes

        private Nodes()
    • Method Detail

      • getQName

        public static javax.xml.namespace.QName getQName​(org.w3c.dom.Node n)
        Extracts a Node's name, namespace URI (if any) and prefix as a QName.
      • getMergedNestedText

        public static java.lang.String getMergedNestedText​(org.w3c.dom.Node n)
        Tries to merge all direct Text and CDATA children of the given Node and concatenates their value.
        Returns:
        an empty string if the Node has no Text or CDATA children.
      • getAttributes

        public static java.util.Map<javax.xml.namespace.QName,​java.lang.String> getAttributes​(org.w3c.dom.Node n)
        Obtains an element's attributes as Map.
      • stripWhitespace

        public static org.w3c.dom.Node stripWhitespace​(org.w3c.dom.Node original)
        Creates a new Node (of the same type as the original node) that is similar to the orginal but doesn't contain any empty text or CDATA nodes and where all textual content including attribute values or comments are trimmed.
      • normalizeWhitespace

        public static org.w3c.dom.Node normalizeWhitespace​(org.w3c.dom.Node original)
        Creates a new Node (of the same type as the original node) that is similar to the orginal but doesn't contain any empty text or CDATA nodes and where all textual content including attribute values or comments are trimmed and normalized.

        "normalized" in this context means all whitespace characters are replaced by space characters and consecutive whitespace characaters are collapsed.

      • stripElementContentWhitespace

        public static org.w3c.dom.Node stripElementContentWhitespace​(org.w3c.dom.Node original)
        Creates a new Node (of the same type as the original node) that is similar to the orginal but doesn't contain any text or CDATA nodes that only consist of whitespace.

        This doesn't have any effect if applied to a text or CDATA node itself.

        Since:
        XMLUnit 2.6.0
      • handleWsRec

        private static void handleWsRec​(org.w3c.dom.Node n,
                                        boolean normalize)
        Trims textual content of this node, removes empty text and CDATA children, recurses into its child nodes.
        Parameters:
        normalize - whether to normalize whitespace as well
      • normalize

        static java.lang.String normalize​(java.lang.String s)
        Normalize a string.

        "normalized" in this context means all whitespace characters are replaced by space characters and consecutive whitespace characaters are collapsed.

      • stripECW

        private static void stripECW​(org.w3c.dom.Node n)