Hi,
There is nothing in the "extra bits" of the DOM interface for this but you can use the countrts() function from the FoX_common module will work out the array size you will need. I would do something like the following:
allocate( l_array(countrts(getTextContent(p), .true.))
call extractDataContent(p, l_array)
which is assuming you want to read logical data into an allocatable array 'l_array' and the pointer 'p' points the the node you want to get the data out of. Change '.true.' to 0.0d0 if you want double precision real data, etc.
For what it's worth, extractDataContent and friends are really just wrappers around rts from the common module. Although I could imagine I countExtractDataContent function that wraps countrts in a similar way I'm not sure that it would be very useful. countrts is a pure function so it can be used in specification statements, but getTextContent is not pure (I don't think it can be: it uses pointers) and so you'll always need to pass the result into allocate or similar.
I hope this helps,
Andrew