v_areas_hijas is a local collection variable (specifically it's an associative array), not a relational table you can use in SQL (not just count(*)). You can cast some collections to relational tables using the table() operator, although there are limitations with scope and compatibility depending on the type, where it's declared and which version of Oracle you have (11g, 12c R1 and 12c R2 have different capabilities.)
Using a globally declared SQL collection type created with create or replace type (or an existing one like sys.ku$_xmlcolset_t) you can do something like this:
declare
v_areas_hijas sys.ku$_xmlcolset_t := sys.ku$_xmlcolset_t(1,10,100);
v_counter integer;
begin
select count(*) into v_counter from table(v_areas_hijas);
dbms_output.put_line('Count = ' || v_counter);
end;
v_areas_hijasis a local collection variable (specifically it's an associative array), not a relational table you can use in SQL (not justcount(*)).