Java XML Element Check isAncestor(Element candAnc, Node cand)

Here you can find the source of isAncestor(Element candAnc, Node cand)

Description

Check, if a given DOM element is an ancestor of a given node.

License

EUPL

Parameter

Parameter Description
candAnc The DOM element to check for being the ancestor.
cand The node to check for being the child.

Return

true, if candAnc is an (indirect) ancestor of cand; false otherwise.

Declaration

public static boolean isAncestor(Element candAnc, Node cand) 

Method Source Code

//package com.java2s;
/*/*from  w  w  w.j  a  va  2  s .c o  m*/
 * Copyright 2003 Federal Chancellery Austria
 * MOA-ID has been developed in a cooperation between BRZ, the Federal
 * Chancellery Austria - ICT staff unit, and Graz University of Technology.
 *
 * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
 * the European Commission - subsequent versions of the EUPL (the "Licence");
 * You may not use this work except in compliance with the Licence.
 * You may obtain a copy of the Licence at:
 * http://www.osor.eu/eupl/
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the Licence is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the Licence for the specific language governing permissions and
 * limitations under the Licence.
 *
 * This product combines work with different licenses. See the "NOTICE" text
 * file for details on the various modules and licenses.
 * The "NOTICE" text file is part of the distribution. Any derivative works
 * that you distribute must include a readable copy of the "NOTICE" text file.
 */

import org.w3c.dom.Element;

import org.w3c.dom.Node;

public class Main {
    /**
     * Check, if a given DOM element is an ancestor of a given node.
     * 
     * @param candAnc The DOM element to check for being the ancestor.
     * @param cand The node to check for being the child.
     * @return <code>true</code>, if <code>candAnc</code> is an (indirect) 
     * ancestor of <code>cand</code>; <code>false</code> otherwise.
     */
    public static boolean isAncestor(Element candAnc, Node cand) {
        Node currPar = cand.getParentNode();

        while (currPar != null) {
            if (candAnc == currPar)
                return true;
            currPar = currPar.getParentNode();
        }
        return false;
    }
}

Related

  1. is(final Element e, final String tag)
  2. isAppearanceTag(Element e)
  3. isAsyncEventQueue(Element element)
  4. isComputedGoal(final Element element)
  5. isElement(XMLStreamReader xmlRdr, int eventType, String tagName)