Package nu.xom

Examples of nu.xom.ParentNode


            }
            return out;
        }
       
       
        ParentNode parent = result;
        boolean backtracking = false;
        while (true) {
            if (current.hasChildNodes() && !backtracking) {
                current = current.getFirstChild();
                backtracking = false;
            }
            else if (current == element) {
                break;  
            }
            else if (current.getNextSibling() != null) {
                current = current.getNextSibling();
                backtracking = false;
            }
            else {
                current = current.getParentNode();
                backtracking = true;
                if (parent.getParent() != null) parent = parent.getParent();
                continue;
            }
           
            int type = current.getNodeType();
            if (type == org.w3c.dom.Node.ELEMENT_NODE) {
                Element child = makeElement((org.w3c.dom.Element) current, factory);
                if (child != null) {
                    parent.appendChild(child);
                    if (current.hasChildNodes()) parent = child;
                }
            }
            else {
                Nodes children = convert(current, factory);
                for (int i = 0; i < children.size(); i++) {
                    parent.appendChild(children.get(i));
                }
            }
           
        }
       
View Full Code Here


               indexes = grow(indexes, top);
               indexes[top] = 0;
            }
            else {
                end = false;
                ParentNode xomParent = xomCurrent.getParent();
                org.w3c.dom.Node grandparent = domParent.getParentNode();
                if (grandparent.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE
                  && xomCurrent instanceof Element) {
                    domParent = grandparent;
                }
                if (xomParent.getChildCount() - 1 == index) {
                    xomCurrent = xomParent;
                    top--;
                    if (xomCurrent == xomElement) break;
                    ParentNode tp = xomCurrent.getParent();
                    if (tp == null) break;
                    index = indexes[top];
                    end = true;
                    continue;
                }
View Full Code Here

        int namespaceCount = element.getNamespaceDeclarationCount();
        for (int i = 0; i < namespaceCount; i++) {
            String additionalPrefix = element.getNamespacePrefix(i);
            String uri = element.getNamespaceURI(additionalPrefix);

            ParentNode parentNode = element.getParent();
            if (parentNode instanceof Element) {
               Element parentElement = (Element) parentNode;  
               if (uri.equals(
                 parentElement.getNamespaceURI(additionalPrefix))) {
                    continue;
View Full Code Here

   
    private static class AttributeFactory extends NodeFactory {

        public Nodes finishMakingElement(Element element) {
            ParentNode parent = element.getParent();
            if (parent == null || parent instanceof Document) {
                return new Nodes(element);
            }       
            return new Nodes(new Attribute(element.getQualifiedName(),
                    element.getNamespaceURI(), element.getValue()));
View Full Code Here

                    }
                    else {
                        writeChild(current);
                    }
                    end = false;
                    ParentNode parent = current.getParent();
                    if (parent.getChildCount() - 1 == index) {
                        current = parent;
                        if (current != element) {
                            parent = current.getParent();
                            index = parent.indexOf(current);
                        }
                        end = true;
                    }
                    else {
                        index++;
                        current = parent.getChild(index);
                    }
                }
            }  
        }
       
View Full Code Here

                        stringBuildExpr.append(path);
                       
                      textMarker = matcher.end();
                  }
                 
                  ParentNode parent = childNode.getParent();
            if(stringBuildExpr.length() > 0) {
                    String id;
                    // TODO If the parent element is the root of the view, this doesn't work right
                    if(parent != myRootElement && parent.getChildCount() == 1) {
                      Element parentElement = ((Element)parent);
                id = parentElement.getAttributeValue("id");
                      if(id == null) {
                            id = "interpolation"+insertedText.size();
                            parentElement.addAttribute(new Attribute("id", id));
                            insertedText.put(id, id);
                      }
                    } else {
                        id = "interpolation"+insertedText.size();
                        insertedText.put(id, id);
                            Element element = new Element("span", XHTML_NAMESPACE);
                            element.addAttribute(new Attribute("id", id));
                            element.appendChild("$$$");
                            parent.replaceChild(childNode, element);
                    }
                    if(textMarker < text.length()) {
                      stringBuildExpr.append(" + \"").append(backslashEscape(text.substring(textMarker))).append('"');
                    }
                       
View Full Code Here

            throw new FunctionCallException(pe);
        }
    }

    public Object getDocumentNode(Object o) {
        ParentNode parent = null;
        if (o instanceof ParentNode) {
            parent = (ParentNode)o;
        } else if (o instanceof Node) {
            parent = ((Node)o).getParent();
        }
        return parent.getDocument();
    }
View Full Code Here

        if (! isElement(o)) {
            return JaxenConstants.EMPTY_ITERATOR;
        }
        Map nsMap = new HashMap();
        Element elt = (Element)o;
        ParentNode parent = elt;
       
        while (parent instanceof Element) {
            elt = (Element)parent;
            String uri    = elt.getNamespaceURI();
            String prefix = elt.getNamespacePrefix();
View Full Code Here

        if (parents.isEmpty()) {
            // won't append until finishMakingElement()
            current = element;
        }
        else {
            ParentNode parent = (ParentNode) parents.get(parents.size()-1);
            parent.appendChild(element);
        }
        parents.add(element);
       
        // Attach the attributes
        length = attributes.getLength();
View Full Code Here

            }
            current = null;
        }
        else {
            Nodes nodes = factory.finishMakingElement(element);
            ParentNode parent = element.getParent();
            element.detach();
            for (int i = 0; i < nodes.size(); i++) {
                Node node = nodes.get(i);
                if (node instanceof Attribute) {
                    ((Element) parent).addAttribute((Attribute) node);
                }
                else {
                    parent.appendChild(node);
                }
            }
        }

    }
View Full Code Here

TOP

Related Classes of nu.xom.ParentNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.