static int has_blank_nodes_p(VALUE cache)
{
    long i;

    if (NIL_P(cache)) {
        return 0;
    }

    for (i = 0; i < RARRAY_LEN(cache); i++) {
        xmlNodePtr node;
        VALUE element = rb_ary_entry(cache, i);
        Data_Get_Struct(element, xmlNode, node);
        if (xmlIsBlankNode(node)) {
            return 1;
        }
    }

    return 0;
}
static int has_blank_nodes_p(VALUE cache)
{
    long i;

    if (NIL_P(cache)) {
        return 0;
    }

    for (i = 0; i < RARRAY_LEN(cache); i++) {
        xmlNodePtr node;
        VALUE element = rb_ary_entry(cache, i);
        Data_Get_Struct(element, xmlNode, node);
        if (xmlIsBlankNode(node)) {
            return 1;
        }
    }

    return 0;
}