Package org.apache.batik.dom.util
Class DOMUtilities
- java.lang.Object
-
- org.apache.batik.xml.XMLCharacters
-
- org.apache.batik.xml.XMLUtilities
-
- org.apache.batik.dom.util.DOMUtilities
-
- All Implemented Interfaces:
XMLConstants
public class DOMUtilities extends XMLUtilities implements XMLConstants
A collection of utility functions for the DOM.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String[]
LOCK_STRINGS
String constants representing DOM modifier strings for various all key lock combinations.protected static java.lang.String[]
MODIFIER_STRINGS
String constants representing DOM modifier strings for various all shift modifier combinations.-
Fields inherited from class org.apache.batik.xml.XMLUtilities
IS_XML_10_NAME, IS_XML_10_QNAME
-
Fields inherited from class org.apache.batik.xml.XMLCharacters
ALPHABETIC_CHARACTER, NAME_CHARACTER, NAME_FIRST_CHARACTER, NAME11_CHARACTER, NAME11_FIRST_CHARACTER, PUBLIC_ID_CHARACTER, VERSION_CHARACTER, XML_CHARACTER
-
Fields inherited from interface org.apache.batik.util.XMLConstants
XLINK_HREF_ATTRIBUTE, XLINK_HREF_QNAME, XLINK_NAMESPACE_URI, XLINK_PREFIX, XML_BASE_ATTRIBUTE, XML_BASE_QNAME, XML_CDATA_END, XML_CHAR_AMP, XML_CHAR_APOS, XML_CHAR_GT, XML_CHAR_LT, XML_CHAR_QUOT, XML_CHAR_REF_PREFIX, XML_CHAR_REF_SUFFIX, XML_CLOSE_TAG_END, XML_CLOSE_TAG_START, XML_DEFAULT_VALUE, XML_DOUBLE_DASH, XML_DOUBLE_QUOTE, XML_ENTITY_AMP, XML_ENTITY_APOS, XML_ENTITY_GT, XML_ENTITY_LT, XML_ENTITY_QUOT, XML_EQUAL_QUOT, XML_EQUAL_SIGN, XML_EVENTS_EVENT_ATTRIBUTE, XML_EVENTS_NAMESPACE_URI, XML_ID_ATTRIBUTE, XML_ID_QNAME, XML_LANG_ATTRIBUTE, XML_LANG_QNAME, XML_NAMESPACE_URI, XML_OPEN_TAG_END_CHILDREN, XML_OPEN_TAG_END_NO_CHILDREN, XML_OPEN_TAG_START, XML_PREFIX, XML_PRESERVE_VALUE, XML_PROCESSING_INSTRUCTION_END, XML_SPACE, XML_SPACE_ATTRIBUTE, XML_SPACE_QNAME, XML_TAB, XML_VERSION_10, XML_VERSION_11, XMLNS_NAMESPACE_URI, XMLNS_PREFIX
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DOMUtilities()
Does not need to be instantiated.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description protected static java.lang.String
assertValidCharacters(java.lang.String s, boolean isXML11)
static boolean
canAppend(org.w3c.dom.Node node, org.w3c.dom.Node parentNode)
Checks if the node can be appended on the given parent nodestatic 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.static boolean
canHaveChildren(org.w3c.dom.Node parentNode)
Returns whether the given Node can have children.static java.lang.String
contentToString(java.lang.String s, boolean isXML11)
Returns the given content value transformed to replace invalid characters with entities.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.static int
getChildIndex(org.w3c.dom.Node child)
Finds and returns the index of child node in its parent's children arraystatic 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 arraystatic java.lang.String
getLocalName(java.lang.String s)
Gets the local name from the given qualified name.static java.lang.String
getModifiersList(int lockState, int modifiersEx)
Gets a DOM 3 modifiers string from the given lock and shift bitmasks.static java.lang.String
getPrefix(java.lang.String s)
Gets the prefix from the given qualified name.static java.lang.String
getXML(org.w3c.dom.Node n)
Serializes the given DOM node usingwriteNode(Node,Writer)
and returns the XML as a String.static boolean
isAncestorOf(org.w3c.dom.Node node, org.w3c.dom.Node descendant)
Checks whether a node is ancestor of another node.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 nodestatic 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.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.static boolean
isValidName(java.lang.String s)
Tests whether the given string is a valid name.static boolean
isValidName11(java.lang.String s)
Tests whether the given string is a valid XML 1.1 name.static boolean
isValidPrefix(java.lang.String s)
Tests whether the given string is a valid prefix.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.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.static void
writeDocument(org.w3c.dom.Document doc, java.io.Writer w)
Serializes the specifiedDocument
, writing it to the givenWriter
.static void
writeNode(org.w3c.dom.Node n, java.io.Writer w)
Writes a node using the given writer.protected static void
writeNode(org.w3c.dom.Node n, java.io.Writer w, org.apache.batik.dom.util.DOMUtilities.NSMap m, boolean isXML11)
-
Methods inherited from class org.apache.batik.xml.XMLUtilities
createXMLDeclarationReader, createXMLDocumentReader, encodingToJavaEncoding, getXMLDeclarationEncoding, isXML11Character, isXML11NameCharacter, isXML11NameFirstCharacter, isXMLAlphabeticCharacter, isXMLCharacter, isXMLNameCharacter, isXMLNameFirstCharacter, isXMLPublicIdCharacter, isXMLSpace, isXMLVersionCharacter, testXMLQName
-
-
-
-
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.
-
-
Method Detail
-
writeDocument
public static void writeDocument(org.w3c.dom.Document doc, java.io.Writer w) throws java.io.IOException
Serializes the specifiedDocument
, writing it to the givenWriter
.- 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 usingwriteNode(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 nodeparent
- 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 nodesnode
- 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 nodedescendant
- 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 nodeparentNode
- 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 nodeparentNode
- 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 listparentNode
- 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 stringdoc
- The given documenturi
- The document URIprefixes
- The prefixes map with (prefix, namespaceURI) pairswrapperElementName
- 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 mapdocumentFactory
- 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.
-
-