public int isNodeIncludeDO()

in src/main/java/org/apache/xml/security/transforms/implementations/TransformXPath2Filter.java [183:224]


    public int isNodeIncludeDO(Node n, int level) {
        int result = 1;
        if (hasSubtractFilter) {
            if (inSubtract == -1 || level <= inSubtract) {
                if (inList(n, subtractNodes)) {
                    inSubtract = level;
                } else {
                    inSubtract = -1;
                }
            }
            if (inSubtract != -1){
                result = -1;
            }
        }
        if (result != -1 && hasIntersectFilter
            && (inIntersect == -1 || level <= inIntersect)) {
            if (!inList(n, intersectNodes)) {
                inIntersect = -1;
                result = 0;
            } else {
                inIntersect = level;
            }
        }

        if (level <= inUnion) {
            inUnion = -1;
        }
        if (result == 1) {
            return 1;
        }
        if (hasUnionFilter) {
            if (inUnion == -1 && inList(n, unionNodes)) {
                inUnion = level;
            }
            if (inUnion != -1) {
                return 1;
            }
            result = 0;
        }

        return result;
    }