Example usage for org.w3c.dom Element getOwnerDocument

List of usage examples for org.w3c.dom Element getOwnerDocument

Introduction

In this page you can find the example usage for org.w3c.dom Element getOwnerDocument.

Prototype

public Document getOwnerDocument();

Source Link

Document

The Document object associated with this node.

Usage

From source file:de.betterform.xml.xforms.model.constraints.RelevanceSelector.java

private static void addElement(Element relevantParent, Node instanceNode) {
    Document relevantDocument = relevantParent.getOwnerDocument();
    Element relevantElement;/* w  w w  .j av  a 2s.  c o  m*/

    if (instanceNode.getNamespaceURI() == null) {
        relevantElement = relevantDocument.createElement(instanceNode.getNodeName());
    } else {
        relevantElement = relevantDocument.createElementNS(instanceNode.getNamespaceURI(),
                instanceNode.getNodeName());
    }

    // needed in instance serializer ...
    relevantElement.setUserData("", instanceNode.getUserData(""), null);

    relevantParent.appendChild(relevantElement);
    addAttributes(relevantElement, instanceNode);
    addChildren(relevantElement, instanceNode);
}

From source file:cz.incad.kramerius.rest.api.k5.client.utils.SOLRUtils.java

public static <T> List<T> array(final Element doc, final String attributeName, Class<T> clz) {
    synchronized (doc.getOwnerDocument()) {
        List<T> ret = new ArrayList<T>();
        List<Element> elms = XMLUtils.getElements(doc, new XMLUtils.ElementsFilter() {

            @Override//from  w ww. jav  a  2 s .co m
            public boolean acceptElement(Element element) {
                return (element.getNodeName().equals("arr") && element.hasAttribute("name")
                        && element.getAttribute("name").equals(attributeName));
            }
        });
        for (Element e : elms) {
            ret.add(value(e.getTextContent(), clz));
        }
        return ret;
    }
}

From source file:fr.aliasource.webmail.server.proxy.client.http.DOMUtils.java

public static Element createElement(Element parent, String elementName) {
    Element el = parent.getOwnerDocument().createElement(elementName);
    parent.appendChild(el);//from w w  w  . ja va 2 s.  com
    return el;
}

From source file:Main.java

/**
 * Finds element in DOM tree//from w  w w.ja  va2s. c om
 * @param topElm Top element
 * @param nodeName Node name
 * @return returns found node
 */
public static List<Node> findNodesByType(Element topElm, int type) {
    List<Node> retvals = new ArrayList<Node>();
    if (topElm == null)
        throw new IllegalArgumentException("topElm cannot be null");
    synchronized (topElm.getOwnerDocument()) {
        Stack<Node> stack = new Stack<Node>();
        stack.push(topElm);
        while (!stack.isEmpty()) {
            Node curElm = stack.pop();
            if (curElm.getNodeType() == type) {
                retvals.add(curElm);
            }
            List<Node> nodesToProcess = new ArrayList<Node>();

            NodeList childNodes = curElm.getChildNodes();
            for (int i = 0, ll = childNodes.getLength(); i < ll; i++) {
                Node item = childNodes.item(i);
                //stack.push((Element) item);
                nodesToProcess.add(item);
            }
            Collections.reverse(nodesToProcess);
            for (Node node : nodesToProcess) {
                stack.push(node);
            }
        }
        return retvals;
    }
}

From source file:cz.incad.kramerius.rest.api.k5.client.utils.SOLRUtils.java

public static <T> List<T> narray(final Element doc, final String attributeName, Class<T> clz) {
    synchronized (doc.getOwnerDocument()) {
        List<T> ret = new ArrayList<T>();
        List<Element> elms = XMLUtils.getElements(doc, new XMLUtils.ElementsFilter() {
            @Override/*w  ww .j  a  v  a2s  .  c o  m*/
            public boolean acceptElement(Element element) {
                return (element.getNodeName().equals("arr") && element.hasAttribute("name")
                        && element.getAttribute("name").equals(attributeName));
            }
        });

        if (elms.size() >= 1) {
            Element parentE = elms.get(0);
            NodeList chnds = parentE.getChildNodes();
            for (int i = 0, ll = chnds.getLength(); i < ll; i++) {
                Node n = chnds.item(i);
                if (n.getNodeType() == Node.ELEMENT_NODE) {
                    ret.add(value(n.getTextContent(), clz));
                }
            }
        }
        return ret;
    }
}

From source file:de.betterform.xml.xforms.model.constraints.RelevanceSelector.java

private static void addChildren(Element relevantElement, Node instanceNode) {
    Document ownerDocument = relevantElement.getOwnerDocument();
    NodeList instanceChildren = instanceNode.getChildNodes();

    for (int index = 0; index < instanceChildren.getLength(); index++) {
        Node instanceChild = (Node) instanceChildren.item(index);

        if (isEnabled(instanceChild)) {
            switch (instanceChild.getNodeType()) {
            case Node.TEXT_NODE:
                /* rather not, otherwise we cannot follow specs when
                 * serializing to multipart/form-data for example
                 */*from  w  w  w . j  av  a2 s  . c  om*/
                // denormalize text for better whitespace handling during serialization
                List list = DOMWhitespace.denormalizeText(instanceChild.getNodeValue());
                for (int item = 0; item < list.size(); item++) {
                    relevantElement.appendChild(ownerDocument.createTextNode(list.get(item).toString()));
                }
                */
                relevantElement.appendChild(ownerDocument.createTextNode(instanceChild.getNodeValue()));
                break;
            case Node.CDATA_SECTION_NODE:
                relevantElement.appendChild(ownerDocument.createCDATASection(instanceChild.getNodeValue()));
                break;
            case Node.ELEMENT_NODE:
                addElement(relevantElement, instanceChild);
                break;
            default:
                // ignore
                break;
            }
        }
    }
}

From source file:Main.java

public static void setChildText(Element e, String tagname, String newValue, boolean cdata) {
    Element child = getChildByTagName(e, tagname);

    if (child == null) {
        Document doc = e.getOwnerDocument();
        child = doc.createElement(tagname);
        e.appendChild(child);//from w  w  w .  j  a  v  a  2s .  c om
    }

    setElementText(child, newValue, cdata);
}

From source file:Main.java

/**
 * A helper method for quick property saving/modification. If the property element does not exist, it is automatically created.
 *
 * @param element The parent element.//from w  ww.  ja  v a2 s.  c o m
 * @param name The property name.
 * @param value The property value
 * @return
 */
public static void quickPropertyWrite(Element element, String name, String value) {
    NodeList nodeList = element.getElementsByTagName(name);
    if (nodeList.getLength() == 1) {
        nodeList.item(0).setTextContent(value);
    } else {
        Element newProp = element.getOwnerDocument().createElement(name);
        newProp.setTextContent(value);
        element.appendChild(newProp);
    }
}

From source file:Main.java

private static void attributize(Element root) {
    NamedNodeMap attributeMap = root.getAttributes();
    for (int i = 0; i < attributeMap.getLength(); i++) {
        org.w3c.dom.Attr attr = (Attr) attributeMap.item(i);

        Element attrElement = root.getOwnerDocument().createElement(attr.getName());
        attrElement.setTextContent(attr.getValue());
        root.appendChild(attrElement);//  ww  w . ja  v a2s . co m
    }

    NodeList children = root.getChildNodes();
    for (int i = 0; i < children.getLength(); i++) {
        if (children.item(i) instanceof Element) {
            attributize((Element) children.item(i));
        }
    }
}

From source file:Main.java

/**
 * Sets data to be the TEXT content of element
 *
 * @param parentNode the parent element.
 * @param data the data to set.//from  w ww  . j a v  a  2 s  . c  o  m
 */
public static void setText(Element parentNode, String data) {
    if (data == null)
        return;

    Text txt = getTextNode(parentNode);

    if (txt != null)
        txt.setData(data);
    else {
        txt = parentNode.getOwnerDocument().createTextNode(data);
        parentNode.appendChild(txt);
    }
}