org.apache.batik.dom.util

Class DOMUtilities

public class DOMUtilities extends XMLUtilities

A collection of utility functions for the DOM.
Field Summary
protected static String[]LOCK_STRINGS
String constants representing DOM modifier strings for various all key lock combinations.
protected static String[]MODIFIER_STRINGS
String constants representing DOM modifier strings for various all shift modifier combinations.
Constructor Summary
protected DOMUtilities()
Do not need to be instantiated.
Method Summary
static booleancanAppend(Node node, Node parentNode)
Checks if the node can be appended on the given parent node
static booleancanAppendAny(ArrayList children, Node parentNode)
Checks whether any of the nodes from the list can be appended to a given parentNode.
static booleancanHaveChildren(Node parentNode)
Returns whether the given Node can have children.
static StringcontentToString(String s)
Returns the given content value transformed to replace invalid characters with entities.
static DocumentdeepCloneDocument(Document doc, DOMImplementation impl)
Deep clones a document using the given DOM implementation.
static intgetChildIndex(Node child, Node parent)
Finds and returns the index of child node in the given parent's children array
static intgetChildIndex(Node child)
Finds and returns the index of child node in its parent's children array
static StringgetLocalName(String s)
Gets the local name from the given qualified name.
static StringgetModifiersList(int lockState, int modifiers)
Gets a DOM 3 modifiers string from the given lock and shift bitmasks.
static StringgetPrefix(String s)
Gets the prefix from the given qualified name.
static StringgetXML(Node n)
Serializes the given DOM node using writeNode and returns the XML as a String.
static booleanisAncestorOf(Node node, Node descendant)
Checks whether a node is ancestor of another node.
static booleanisAnyNodeAncestorOf(ArrayList ancestorNodes, Node node)
Checks if any of from the given list of nodes is an ancestor to another node
static booleanisParentOf(Node node, Node parentNode)
Tests whether the given node is a child of the given parent node.
static booleanisValidName(String s)
Tests whether the given string is a valid name.
static booleanisValidName11(String s)
Tests whether the given string is a valid XML 1.1 name.
static booleanisValidPrefix(String s)
Tests whether the given string is a valid prefix.
static voidparseStyleSheetPIData(String data, HashTable table)
Parses a 'xml-stylesheet' processing instruction data section and puts the pseudo attributes in the given table.
static NodeparseXML(String text, Document doc, String uri, Map prefixes, 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 voidwriteDocument(Document doc, Writer w)
Writes the given document using the given writer.
static voidwriteNode(Node n, Writer w)
Writes a node using the given writer.

Field Detail

LOCK_STRINGS

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

MODIFIER_STRINGS

protected static final String[] MODIFIER_STRINGS
String constants representing DOM modifier strings for various all shift modifier combinations.

Constructor Detail

DOMUtilities

protected DOMUtilities()
Do not need to be instantiated.

Method Detail

canAppend

public static boolean canAppend(Node node, 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(ArrayList children, 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(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

contentToString

public static String contentToString(String s)
Returns the given content value transformed to replace invalid characters with entities.

deepCloneDocument

public static Document deepCloneDocument(Document doc, DOMImplementation impl)
Deep clones a document using the given DOM implementation.

getChildIndex

public static int getChildIndex(Node child, 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(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

getLocalName

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

getModifiersList

public static String getModifiersList(int lockState, int modifiers)
Gets a DOM 3 modifiers string from the given lock and shift bitmasks.

getPrefix

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

getXML

public static String getXML(Node n)
Serializes the given DOM node using writeNode 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.

isAncestorOf

public static boolean isAncestorOf(Node node, 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

isAnyNodeAncestorOf

public static boolean isAnyNodeAncestorOf(ArrayList ancestorNodes, 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

isParentOf

public static boolean isParentOf(Node node, 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

isValidName

public static boolean isValidName(String s)
Tests whether the given string is a valid name.

isValidName11

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

isValidPrefix

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

parseStyleSheetPIData

public static void parseStyleSheetPIData(String data, HashTable table)
Parses a 'xml-stylesheet' processing instruction data section and puts the pseudo attributes in the given table.

parseXML

public static Node parseXML(String text, Document doc, String uri, Map prefixes, 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.

writeDocument

public static void writeDocument(Document doc, Writer w)
Writes the given document using the given writer.

writeNode

public static void writeNode(Node n, Writer w)
Writes a node using the given writer.
Copyright B) 2008 Apache Software Foundation. All Rights Reserved.