com.evolveum.midpoint.util
Class DOMUtil

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

public class DOMUtil
extends java.lang.Object

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

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

W3C_XML_SCHEMA_XMLNS_PREFIX

public static final java.lang.String W3C_XML_SCHEMA_XMLNS_PREFIX
See Also:
Constant Field Values

W3C_XML_XML_URI

public static final java.lang.String W3C_XML_XML_URI
See Also:
Constant Field Values

W3C_XML_XML_PREFIX

public static final java.lang.String W3C_XML_XML_PREFIX
See Also:
Constant Field Values

NS_W3C_XSI_PREFIX

public static final java.lang.String NS_W3C_XSI_PREFIX
See Also:
Constant Field Values

XSI_TYPE

public static final javax.xml.namespace.QName XSI_TYPE

XML_ID_ATTRIBUTE

public static final javax.xml.namespace.QName XML_ID_ATTRIBUTE

NS_W3C_XML_SCHEMA_PREFIX

public static final java.lang.String NS_W3C_XML_SCHEMA_PREFIX
See Also:
Constant Field Values

XSD_SCHEMA_ELEMENT

public static final javax.xml.namespace.QName XSD_SCHEMA_ELEMENT

XSD_ANNOTATION_ELEMENT

public static final javax.xml.namespace.QName XSD_ANNOTATION_ELEMENT

XSD_APPINFO_ELEMENT

public static final javax.xml.namespace.QName XSD_APPINFO_ELEMENT

XSD_ATTR_TARGET_NAMESPACE

public static final javax.xml.namespace.QName XSD_ATTR_TARGET_NAMESPACE

XSD_STRING

public static final javax.xml.namespace.QName XSD_STRING

XSD_INTEGER

public static final javax.xml.namespace.QName XSD_INTEGER

XSD_INT

public static final javax.xml.namespace.QName XSD_INT

XSD_LONG

public static final javax.xml.namespace.QName XSD_LONG

XSD_SHORT

public static final javax.xml.namespace.QName XSD_SHORT

XSD_FLOAT

public static final javax.xml.namespace.QName XSD_FLOAT

XSD_DOUBLE

public static final javax.xml.namespace.QName XSD_DOUBLE

XSD_BOOLEAN

public static final javax.xml.namespace.QName XSD_BOOLEAN

XSD_BASE64BINARY

public static final javax.xml.namespace.QName XSD_BASE64BINARY

XSD_DATETIME

public static final javax.xml.namespace.QName XSD_DATETIME

XSD_QNAME

public static final javax.xml.namespace.QName XSD_QNAME

XSD_ANYURI

public static final javax.xml.namespace.QName XSD_ANYURI

XSD_ANY

public static final javax.xml.namespace.QName XSD_ANY

NS_XML_ENC

public static final java.lang.String NS_XML_ENC
See Also:
Constant Field Values

NS_XML_DSIG

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

DOMUtil

public DOMUtil()
Method Detail

serializeDOMToString

public static java.lang.String serializeDOMToString(org.w3c.dom.Node node)

getDocument

public static org.w3c.dom.Document getDocument(org.w3c.dom.Node node)

getDocument

public static org.w3c.dom.Document getDocument()

parseDocument

public static org.w3c.dom.Document parseDocument(java.lang.String doc)

parseFile

public static org.w3c.dom.Document parseFile(java.lang.String filePath)

parseFile

public static org.w3c.dom.Document parseFile(java.io.File file)

parse

public static org.w3c.dom.Document parse(java.io.InputStream inputStream)
                                  throws java.io.IOException
Throws:
java.io.IOException

showDom

public static java.lang.String showDom(java.util.List<org.w3c.dom.Element> elements)

printDom

public static java.lang.StringBuffer printDom(org.w3c.dom.Node node)

getNextSiblingElement

public static org.w3c.dom.Node getNextSiblingElement(org.w3c.dom.Node node)

getFirstChildElement

public static org.w3c.dom.Element getFirstChildElement(org.w3c.dom.Node parent)

getLastChildElement

public static org.w3c.dom.Element getLastChildElement(org.w3c.dom.Node parent)

getChildElements

public static java.util.List<org.w3c.dom.Element> getChildElements(org.w3c.dom.Element element,
                                                                   javax.xml.namespace.QName elementName)

listChildElements

public static java.util.List<org.w3c.dom.Element> listChildElements(org.w3c.dom.Node node)

hasChildElements

public static boolean hasChildElements(org.w3c.dom.Node node)

resolveQName

public static javax.xml.namespace.QName resolveQName(org.w3c.dom.Element element)

resolveQName

public static javax.xml.namespace.QName resolveQName(org.w3c.dom.Node domNode,
                                                     java.lang.String prefixNotation)

resolveQName

public static javax.xml.namespace.QName resolveQName(org.w3c.dom.Node domNode,
                                                     java.lang.String prefixNotation,
                                                     java.lang.String defaultNamespacePrefix)

findNamespace

public static java.lang.String findNamespace(org.w3c.dom.Node domNode,
                                             java.lang.String prefix)

resolveXsiType

public static javax.xml.namespace.QName resolveXsiType(org.w3c.dom.Element element)

resolveXsiType

public static javax.xml.namespace.QName resolveXsiType(org.w3c.dom.Element element,
                                                       java.lang.String defaultNamespacePrefix)

hasXsiType

public static boolean hasXsiType(org.w3c.dom.Element element)

setXsiType

public static void setXsiType(org.w3c.dom.Element element,
                              javax.xml.namespace.QName type)

setQNameAttribute

public static void setQNameAttribute(org.w3c.dom.Element element,
                                     javax.xml.namespace.QName attributeName,
                                     javax.xml.namespace.QName attributeValue)

setQNameAttribute

public static void setQNameAttribute(org.w3c.dom.Element element,
                                     java.lang.String attributeName,
                                     javax.xml.namespace.QName attributeValue)

setQNameAttribute

public static void setQNameAttribute(org.w3c.dom.Element element,
                                     javax.xml.namespace.QName attributeName,
                                     javax.xml.namespace.QName attributeValue,
                                     org.w3c.dom.Element definitionElement)

setQNameAttribute

public static void setQNameAttribute(org.w3c.dom.Element element,
                                     java.lang.String attributeName,
                                     javax.xml.namespace.QName attributeValue,
                                     org.w3c.dom.Element definitionElement)

setQNameValue

public static void setQNameValue(org.w3c.dom.Element element,
                                 javax.xml.namespace.QName elementValue)

lookupOrCreateNamespaceDeclaration

public static java.lang.String lookupOrCreateNamespaceDeclaration(org.w3c.dom.Element element,
                                                                  java.lang.String namespaceUri,
                                                                  java.lang.String preferredPrefix)

lookupOrCreateNamespaceDeclaration

public static java.lang.String lookupOrCreateNamespaceDeclaration(org.w3c.dom.Element element,
                                                                  java.lang.String namespaceUri,
                                                                  java.lang.String preferredPrefix,
                                                                  org.w3c.dom.Element definitionElement)

isNamespaceDefinition

public static boolean isNamespaceDefinition(org.w3c.dom.Attr attr)

setNamespaceDeclaration

public static void setNamespaceDeclaration(org.w3c.dom.Element element,
                                           java.lang.String prefix,
                                           java.lang.String namespaceUri)

getNamespaceDeclarations

public static java.util.Map<java.lang.String,java.lang.String> getNamespaceDeclarations(org.w3c.dom.Element element)
Returns map of all namespace declarations from specified element (prefix -> namespace).


setNamespaceDeclarations

public static void setNamespaceDeclarations(org.w3c.dom.Element element,
                                            java.util.Map<java.lang.String,java.lang.String> rootNamespaceDeclarations)

fixNamespaceDeclarations

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


isPrefixUsed

public static boolean isPrefixUsed(org.w3c.dom.Element targetElement,
                                   java.lang.String prefix)

hasNamespaceDeclarationForPrefix

public static boolean hasNamespaceDeclarationForPrefix(org.w3c.dom.Element targetElement,
                                                       java.lang.String prefix)

getNamespaceDeclarationForPrefix

public static java.lang.String getNamespaceDeclarationForPrefix(org.w3c.dom.Element targetElement,
                                                                java.lang.String prefix)

getNamespaceDeclarationPrefix

public static java.lang.String getNamespaceDeclarationPrefix(org.w3c.dom.Attr attr)

getNamespaceDeclarationNamespace

public static java.lang.String getNamespaceDeclarationNamespace(org.w3c.dom.Attr attr)

getChildElement

public static org.w3c.dom.Element getChildElement(org.w3c.dom.Element element,
                                                  javax.xml.namespace.QName qname)

getChildElement

public static org.w3c.dom.Element getChildElement(org.w3c.dom.Element element,
                                                  java.lang.String localPart)

getOrCreateAsFirstElement

public static org.w3c.dom.Element getOrCreateAsFirstElement(org.w3c.dom.Element parentElement,
                                                            javax.xml.namespace.QName elementQName)

getQName

public static javax.xml.namespace.QName getQName(org.w3c.dom.Node node)

getQNameValue

public static javax.xml.namespace.QName getQNameValue(org.w3c.dom.Element element)

getQNameAttribute

public static javax.xml.namespace.QName getQNameAttribute(org.w3c.dom.Element element,
                                                          java.lang.String attributeName)

getQNameAttribute

public static javax.xml.namespace.QName getQNameAttribute(org.w3c.dom.Element element,
                                                          javax.xml.namespace.QName attributeName)

getIntegerValue

public static java.lang.Integer getIntegerValue(org.w3c.dom.Element element)

copyContent

public static void copyContent(org.w3c.dom.Element source,
                               org.w3c.dom.Element destination)

createElement

public static org.w3c.dom.Element createElement(javax.xml.namespace.QName qname)

createElement

public static org.w3c.dom.Element createElement(org.w3c.dom.Document document,
                                                javax.xml.namespace.QName qname)

createElement

public static org.w3c.dom.Element createElement(org.w3c.dom.Document document,
                                                javax.xml.namespace.QName qname,
                                                org.w3c.dom.Element parentElement,
                                                org.w3c.dom.Element definitionElement)

createSubElement

public static org.w3c.dom.Element createSubElement(org.w3c.dom.Element parent,
                                                   javax.xml.namespace.QName subElementQName)

compareElement

public static boolean compareElement(org.w3c.dom.Element a,
                                     org.w3c.dom.Element b,
                                     boolean considerNamespacePrefixes)

compareElementList

public static boolean compareElementList(java.util.List<org.w3c.dom.Element> aList,
                                         java.util.List<org.w3c.dom.Element> bList,
                                         boolean considerNamespacePrefixes)

compareTextNodeValues

public static boolean compareTextNodeValues(java.lang.String a,
                                            java.lang.String b)

isJunk

public static boolean isJunk(org.w3c.dom.Node node)

validateNonEmptyQName

public static void validateNonEmptyQName(javax.xml.namespace.QName qname,
                                         java.lang.String shortDescription)

findElementRecursive

public static org.w3c.dom.Element findElementRecursive(org.w3c.dom.Element element,
                                                       javax.xml.namespace.QName elementQName)

getQNameWithoutPrefix

public static javax.xml.namespace.QName getQNameWithoutPrefix(org.w3c.dom.Node node)

isElementName

public static boolean isElementName(org.w3c.dom.Element element,
                                    javax.xml.namespace.QName name)


Copyright © 2012 evolveum. All Rights Reserved.