Class DOMUtilities

    • Field Detail

      • LOCK_STRINGS

        protected static final java.lang.String[] LOCK_STRINGS
        String constants representing DOM modifier strings for various all key lock combinations.
      • MODIFIER_STRINGS

        protected static final java.lang.String[] MODIFIER_STRINGS
        String constants representing DOM modifier strings for various all shift modifier combinations.
    • Constructor Detail

      • DOMUtilities

        protected DOMUtilities()
        Does not need to be instantiated.
    • Method Detail

      • writeDocument

        public static void writeDocument​(org.w3c.dom.Document doc,
                                         java.io.Writer w)
                                  throws java.io.IOException
        Serializes the specified Document, writing it to the given Writer.
        Throws:
        java.io.IOException
      • writeNode

        protected static void writeNode​(org.w3c.dom.Node n,
                                        java.io.Writer w,
                                        org.apache.batik.dom.util.DOMUtilities.NSMap m,
                                        boolean isXML11)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • writeNode

        public static void writeNode​(org.w3c.dom.Node n,
                                     java.io.Writer w)
                              throws java.io.IOException
        Writes a node using the given writer.
        Throws:
        java.io.IOException
      • getXML

        public static java.lang.String getXML​(org.w3c.dom.Node n)
        Serializes the given DOM node using writeNode(Node,Writer) and returns the XML as a String.
        Parameters:
        n - The Node to serialize.
        Returns:
        A String containing the XML serialization of the Node, or an empty String if there was a problem during serialization.
      • assertValidCharacters

        protected static java.lang.String assertValidCharacters​(java.lang.String s,
                                                                boolean isXML11)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • contentToString

        public static java.lang.String contentToString​(java.lang.String s,
                                                       boolean isXML11)
                                                throws java.io.IOException
        Returns the given content value transformed to replace invalid characters with entities.
        Throws:
        java.io.IOException
      • getChildIndex

        public static int getChildIndex​(org.w3c.dom.Node child,
                                        org.w3c.dom.Node parent)
        Finds and returns the index of child node in the given parent's children array
        Parameters:
        child - The child node
        parent - The parent node
        Returns:
        the index
      • getChildIndex

        public static int getChildIndex​(org.w3c.dom.Node child)
        Finds and returns the index of child node in its parent's children array
        Parameters:
        child - The child node
        Returns:
        the index in children array
      • isAnyNodeAncestorOf

        public static boolean isAnyNodeAncestorOf​(java.util.ArrayList ancestorNodes,
                                                  org.w3c.dom.Node node)
        Checks if any of from the given list of nodes is an ancestor to another node
        Parameters:
        ancestorNodes - The potential ancestor nodes
        node - The potential descendant node
        Returns:
        True if at least one node is ancestor of the given node
      • isAncestorOf

        public static boolean isAncestorOf​(org.w3c.dom.Node node,
                                           org.w3c.dom.Node descendant)
        Checks whether a node is ancestor of another node.
        Parameters:
        node - The potential ancestor node
        descendant - The potential descendant node
        Returns:
        True if node is ancestor of the descendant node
      • isParentOf

        public static boolean isParentOf​(org.w3c.dom.Node node,
                                         org.w3c.dom.Node parentNode)
        Tests whether the given node is a child of the given parent node.
        Parameters:
        node - The potential child node
        parentNode - Parent node
        Returns:
        True if a node is a child of the given parent node
      • canAppend

        public static boolean canAppend​(org.w3c.dom.Node node,
                                        org.w3c.dom.Node parentNode)
        Checks if the node can be appended on the given parent node
        Parameters:
        node - The given node
        parentNode - The given parent node
        Returns:
        True if the given node can be appended on the parent node
      • canAppendAny

        public static boolean canAppendAny​(java.util.ArrayList children,
                                           org.w3c.dom.Node parentNode)
        Checks whether any of the nodes from the list can be appended to a given parentNode.
        Parameters:
        children - The given node list
        parentNode - The potential parent node
        Returns:
        true if at least one node from a list can be appended
      • canHaveChildren

        public static boolean canHaveChildren​(org.w3c.dom.Node parentNode)
        Returns whether the given Node can have children.
        Parameters:
        parentNode - The Node to test
        Returns:
        true if the node can have children, false otherwise
      • parseXML

        public static org.w3c.dom.Node parseXML​(java.lang.String text,
                                                org.w3c.dom.Document doc,
                                                java.lang.String uri,
                                                java.util.Map prefixes,
                                                java.lang.String wrapperElementName,
                                                SAXDocumentFactory documentFactory)
        Parses the given XML string into a DocumentFragment of the given document or a new document if 'doc' is null.
        Parameters:
        text - The given XML string
        doc - The given document
        uri - The document URI
        prefixes - The prefixes map with (prefix, namespaceURI) pairs
        wrapperElementName - null: Ignore the wrapper element and prefixes map and try to parse the text as a whole document otherwise: Wrap the given text with the wrapper element with prefixes specified from the prefixes map
        documentFactory - What document factory to use when parsing the text
        Returns:
        The document fragment or null on error.
      • deepCloneDocument

        public static org.w3c.dom.Document deepCloneDocument​(org.w3c.dom.Document doc,
                                                             org.w3c.dom.DOMImplementation impl)
        Deep clones a document using the given DOM implementation.
      • isValidName

        public static boolean isValidName​(java.lang.String s)
        Tests whether the given string is a valid name.
      • isValidName11

        public static boolean isValidName11​(java.lang.String s)
        Tests whether the given string is a valid XML 1.1 name.
      • isValidPrefix

        public static boolean isValidPrefix​(java.lang.String s)
        Tests whether the given string is a valid prefix. This method assume that isValidName(s) is true.
      • getPrefix

        public static java.lang.String getPrefix​(java.lang.String s)
        Gets the prefix from the given qualified name. This method assume that isValidName(s) is true.
      • getLocalName

        public static java.lang.String getLocalName​(java.lang.String s)
        Gets the local name from the given qualified name. This method assume that isValidName(s) is true.
      • parseStyleSheetPIData

        public static void parseStyleSheetPIData​(java.lang.String data,
                                                 java.util.HashMap<java.lang.String,​java.lang.String> table)
        Parses a 'xml-stylesheet' processing instruction data section and puts the pseudo attributes in the given table.
      • getModifiersList

        public static java.lang.String getModifiersList​(int lockState,
                                                        int modifiersEx)
        Gets a DOM 3 modifiers string from the given lock and shift bitmasks.
      • isAttributeSpecifiedNS

        public static boolean isAttributeSpecifiedNS​(org.w3c.dom.Element e,
                                                     java.lang.String namespaceURI,
                                                     java.lang.String localName)
        Returns whether the given element has a particular attribute and that it exists due to being specified explicitly, rather than being defaulted from a DTD.