You could try using
select * from table(xmlsequence( myfunc() ))
. In this case you get xml in columns.
Or try this example to extract fields from your refcursor
select extractvalue(column_value,'/ROW/FIRST_NAME') first_name , extractvalue(column_value,'/ROW/LAST_NAME') last_name from table(xmlsequence(f()));
FIRST_NAME | LAST_NAME :--------- | :-------- Donald | Duck Mickey | Mouse
dbfiddle here
PS. Note about xml overhead.