com.evolveum.midpoint.util
Class DOMUtil

java.lang.Object
  extended by com.evolveum.midpoint.util.DOMUtil

public class DOMUtil
extends Object

Since:
0.1
Version:
$Revision$ $Date$
Author:
Igor Farinic, Radovan Semancik

Field Summary
static String NS_W3C_XML_SCHEMA_PREFIX
           
static String NS_W3C_XSI_PREFIX
           
static String NS_XML_DSIG
           
static String NS_XML_ENC
           
static String W3C_XML_SCHEMA_XMLNS_PREFIX
           
static String W3C_XML_SCHEMA_XMLNS_URI
           
static String W3C_XML_XML_PREFIX
           
static String W3C_XML_XML_URI
           
static QName XML_ID_ATTRIBUTE
           
static QName XSD_ANNOTATION_ELEMENT
           
static QName XSD_ANY
           
static QName XSD_ANYURI
           
static QName XSD_APPINFO_ELEMENT
           
static QName XSD_ATTR_TARGET_NAMESPACE
           
static QName XSD_BASE64BINARY
           
static QName XSD_BOOLEAN
           
static QName XSD_BYTE
           
static QName XSD_DATETIME
           
static QName XSD_DOUBLE
           
static QName XSD_FLOAT
           
static QName XSD_INT
           
static QName XSD_INTEGER
           
static QName XSD_LONG
           
static QName XSD_QNAME
           
static QName XSD_SCHEMA_ELEMENT
           
static QName XSD_SHORT
           
static QName XSD_STRING
           
static QName XSI_NIL
           
static QName XSI_TYPE
           
 
Constructor Summary
DOMUtil()
           
 
Method Summary
static boolean compareElement(Element a, Element b, boolean considerNamespacePrefixes)
           
static boolean compareElementList(List<Element> aList, List<Element> bList, boolean considerNamespacePrefixes)
           
static boolean compareTextNodeValues(String a, String b)
           
static void copyContent(Element source, Element destination)
           
static Element createElement(Document document, QName qname)
           
static Element createElement(Document document, QName qname, Element parentElement, Element definitionElement)
           
static Element createElement(QName qname)
           
static Element createSubElement(Element parent, QName subElementQName)
           
static Element findElementRecursive(Element element, QName elementQName)
           
static String findNamespace(Node domNode, String prefix)
           
static void fixNamespaceDeclarations(Element element)
          Take all the namespace declaration of parent elements and put them to this element.
static Element getChildElement(Element element, QName qname)
           
static Element getChildElement(Element element, String localPart)
           
static List<Element> getChildElements(Element element, QName elementName)
           
static Document getDocument()
           
static Document getDocument(Node node)
           
static Element getFirstChildElement(Node parent)
           
static Integer getIntegerValue(Element element)
           
static Element getLastChildElement(Node parent)
           
static String getNamespaceDeclarationForPrefix(Element targetElement, String prefix)
           
static String getNamespaceDeclarationNamespace(Attr attr)
           
static String getNamespaceDeclarationPrefix(Attr attr)
           
static Map<String,String> getNamespaceDeclarations(Element element)
          Returns map of all namespace declarations from specified element (prefix -> namespace).
static Node getNextSiblingElement(Node node)
           
static Element getOrCreateAsFirstElement(Element parentElement, QName elementQName)
           
static QName getQName(Node node)
           
static QName getQNameAttribute(Element element, QName attributeName)
           
static QName getQNameAttribute(Element element, String attributeName)
           
static QName getQNameValue(Element element)
           
static QName getQNameWithoutPrefix(Node node)
           
static boolean hasChildElements(Node node)
           
static boolean hasNamespaceDeclarationForPrefix(Element targetElement, String prefix)
           
static boolean hasXsiType(Element element)
           
static boolean isElementName(Element element, QName name)
           
static boolean isJunk(Node node)
           
static boolean isNamespaceDefinition(Attr attr)
           
static boolean isNil(Element element)
           
static boolean isPrefixUsed(Element targetElement, String prefix)
           
static List<Element> listChildElements(Node node)
           
static String lookupOrCreateNamespaceDeclaration(Element element, String namespaceUri, String preferredPrefix)
           
static String lookupOrCreateNamespaceDeclaration(Element element, String namespaceUri, String preferredPrefix, Element definitionElement)
           
static Document parse(InputStream inputStream)
           
static Document parseDocument(String doc)
           
static Document parseFile(File file)
           
static Document parseFile(String filePath)
           
static StringBuffer printDom(Node node)
           
static StringBuffer printDom(Node node, boolean indent, boolean omitXmlDeclaration)
           
static QName resolveQName(Element element)
           
static QName resolveQName(Node domNode, String prefixNotation)
           
static QName resolveQName(Node domNode, String prefixNotation, String defaultNamespacePrefix)
           
static QName resolveXsiType(Element element)
           
static QName resolveXsiType(Element element, String defaultNamespacePrefix)
           
static String serializeDOMToString(Node node)
           
static void setNamespaceDeclaration(Element element, String prefix, String namespaceUri)
           
static void setNamespaceDeclarations(Element element, Map<String,String> rootNamespaceDeclarations)
           
static void setQNameAttribute(Element element, QName attributeName, QName attributeValue)
           
static void setQNameAttribute(Element element, QName attributeName, QName attributeValue, Element definitionElement)
           
static void setQNameAttribute(Element element, String attributeName, QName attributeValue)
           
static void setQNameAttribute(Element element, String attributeName, QName attributeValue, Element definitionElement)
           
static void setQNameValue(Element element, QName elementValue)
           
static void setXsiType(Element element, QName type)
           
static String showDom(List<Element> elements)
           
static void validateNonEmptyQName(QName qname, String shortDescription)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

W3C_XML_SCHEMA_XMLNS_URI

public static final String W3C_XML_SCHEMA_XMLNS_URI
See Also:
Constant Field Values

W3C_XML_SCHEMA_XMLNS_PREFIX

public static final String W3C_XML_SCHEMA_XMLNS_PREFIX
See Also:
Constant Field Values

W3C_XML_XML_URI

public static final String W3C_XML_XML_URI
See Also:
Constant Field Values

W3C_XML_XML_PREFIX

public static final String W3C_XML_XML_PREFIX
See Also:
Constant Field Values

NS_W3C_XSI_PREFIX

public static final String NS_W3C_XSI_PREFIX
See Also:
Constant Field Values

XSI_TYPE

public static final QName XSI_TYPE

XSI_NIL

public static final QName XSI_NIL

XML_ID_ATTRIBUTE

public static final QName XML_ID_ATTRIBUTE

NS_W3C_XML_SCHEMA_PREFIX

public static final String NS_W3C_XML_SCHEMA_PREFIX
See Also:
Constant Field Values

XSD_SCHEMA_ELEMENT

public static final QName XSD_SCHEMA_ELEMENT

XSD_ANNOTATION_ELEMENT

public static final QName XSD_ANNOTATION_ELEMENT

XSD_APPINFO_ELEMENT

public static final QName XSD_APPINFO_ELEMENT

XSD_ATTR_TARGET_NAMESPACE

public static final QName XSD_ATTR_TARGET_NAMESPACE

XSD_STRING

public static final QName XSD_STRING

XSD_INTEGER

public static final QName XSD_INTEGER

XSD_INT

public static final QName XSD_INT

XSD_LONG

public static final QName XSD_LONG

XSD_SHORT

public static final QName XSD_SHORT

XSD_FLOAT

public static final QName XSD_FLOAT

XSD_DOUBLE

public static final QName XSD_DOUBLE

XSD_BOOLEAN

public static final QName XSD_BOOLEAN

XSD_BASE64BINARY

public static final QName XSD_BASE64BINARY

XSD_DATETIME

public static final QName XSD_DATETIME

XSD_BYTE

public static final QName XSD_BYTE

XSD_QNAME

public static final QName XSD_QNAME

XSD_ANYURI

public static final QName XSD_ANYURI

XSD_ANY

public static final QName XSD_ANY

NS_XML_ENC

public static final String NS_XML_ENC
See Also:
Constant Field Values

NS_XML_DSIG

public static final String NS_XML_DSIG
See Also:
Constant Field Values
Constructor Detail

DOMUtil

public DOMUtil()
Method Detail

serializeDOMToString

public static String serializeDOMToString(Node node)

getDocument

public static Document getDocument(Node node)

getDocument

public static Document getDocument()

parseDocument

public static Document parseDocument(String doc)

parseFile

public static Document parseFile(String filePath)

parseFile

public static Document parseFile(File file)

parse

public static Document parse(InputStream inputStream)
                      throws IOException
Throws:
IOException

showDom

public static String showDom(List<Element> elements)

printDom

public static StringBuffer printDom(Node node)

printDom

public static StringBuffer printDom(Node node,
                                    boolean indent,
                                    boolean omitXmlDeclaration)

getNextSiblingElement

public static Node getNextSiblingElement(Node node)

getFirstChildElement

public static Element getFirstChildElement(Node parent)

getLastChildElement

public static Element getLastChildElement(Node parent)

getChildElements

public static List<Element> getChildElements(Element element,
                                             QName elementName)

listChildElements

public static List<Element> listChildElements(Node node)

hasChildElements

public static boolean hasChildElements(Node node)

resolveQName

public static QName resolveQName(Element element)

resolveQName

public static QName resolveQName(Node domNode,
                                 String prefixNotation)

resolveQName

public static QName resolveQName(Node domNode,
                                 String prefixNotation,
                                 String defaultNamespacePrefix)

findNamespace

public static String findNamespace(Node domNode,
                                   String prefix)

resolveXsiType

public static QName resolveXsiType(Element element)

resolveXsiType

public static QName resolveXsiType(Element element,
                                   String defaultNamespacePrefix)

hasXsiType

public static boolean hasXsiType(Element element)

setXsiType

public static void setXsiType(Element element,
                              QName type)

setQNameAttribute

public static void setQNameAttribute(Element element,
                                     QName attributeName,
                                     QName attributeValue)

setQNameAttribute

public static void setQNameAttribute(Element element,
                                     String attributeName,
                                     QName attributeValue)

setQNameAttribute

public static void setQNameAttribute(Element element,
                                     QName attributeName,
                                     QName attributeValue,
                                     Element definitionElement)

setQNameAttribute

public static void setQNameAttribute(Element element,
                                     String attributeName,
                                     QName attributeValue,
                                     Element definitionElement)

setQNameValue

public static void setQNameValue(Element element,
                                 QName elementValue)

lookupOrCreateNamespaceDeclaration

public static String lookupOrCreateNamespaceDeclaration(Element element,
                                                        String namespaceUri,
                                                        String preferredPrefix)

lookupOrCreateNamespaceDeclaration

public static String lookupOrCreateNamespaceDeclaration(Element element,
                                                        String namespaceUri,
                                                        String preferredPrefix,
                                                        Element definitionElement)

isNamespaceDefinition

public static boolean isNamespaceDefinition(Attr attr)

setNamespaceDeclaration

public static void setNamespaceDeclaration(Element element,
                                           String prefix,
                                           String namespaceUri)

getNamespaceDeclarations

public static Map<String,String> getNamespaceDeclarations(Element element)
Returns map of all namespace declarations from specified element (prefix -> namespace).


setNamespaceDeclarations

public static void setNamespaceDeclarations(Element element,
                                            Map<String,String> rootNamespaceDeclarations)

fixNamespaceDeclarations

public static void fixNamespaceDeclarations(Element element)
Take all the namespace declaration of parent elements and put them to this element.


isPrefixUsed

public static boolean isPrefixUsed(Element targetElement,
                                   String prefix)

hasNamespaceDeclarationForPrefix

public static boolean hasNamespaceDeclarationForPrefix(Element targetElement,
                                                       String prefix)

getNamespaceDeclarationForPrefix

public static String getNamespaceDeclarationForPrefix(Element targetElement,
                                                      String prefix)

getNamespaceDeclarationPrefix

public static String getNamespaceDeclarationPrefix(Attr attr)

getNamespaceDeclarationNamespace

public static String getNamespaceDeclarationNamespace(Attr attr)

getChildElement

public static Element getChildElement(Element element,
                                      QName qname)

getChildElement

public static Element getChildElement(Element element,
                                      String localPart)

getOrCreateAsFirstElement

public static Element getOrCreateAsFirstElement(Element parentElement,
                                                QName elementQName)

getQName

public static QName getQName(Node node)

getQNameValue

public static QName getQNameValue(Element element)

getQNameAttribute

public static QName getQNameAttribute(Element element,
                                      String attributeName)

getQNameAttribute

public static QName getQNameAttribute(Element element,
                                      QName attributeName)

getIntegerValue

public static Integer getIntegerValue(Element element)

copyContent

public static void copyContent(Element source,
                               Element destination)

createElement

public static Element createElement(QName qname)

createElement

public static Element createElement(Document document,
                                    QName qname)

createElement

public static Element createElement(Document document,
                                    QName qname,
                                    Element parentElement,
                                    Element definitionElement)

createSubElement

public static Element createSubElement(Element parent,
                                       QName subElementQName)

compareElement

public static boolean compareElement(Element a,
                                     Element b,
                                     boolean considerNamespacePrefixes)

compareElementList

public static boolean compareElementList(List<Element> aList,
                                         List<Element> bList,
                                         boolean considerNamespacePrefixes)

compareTextNodeValues

public static boolean compareTextNodeValues(String a,
                                            String b)

isJunk

public static boolean isJunk(Node node)

validateNonEmptyQName

public static void validateNonEmptyQName(QName qname,
                                         String shortDescription)

findElementRecursive

public static Element findElementRecursive(Element element,
                                           QName elementQName)

getQNameWithoutPrefix

public static QName getQNameWithoutPrefix(Node node)

isElementName

public static boolean isElementName(Element element,
                                    QName name)

isNil

public static boolean isNil(Element element)


Copyright © 2013 evolveum. All Rights Reserved.