Notes: 1) get_all_text check out loncom/homework/structuretags.pm start_block for an example use. It works like HTML::TokeParser->get_text(). Additionaly note the existance of a depth counter similar to the one in Gerd's original lonproblem.pm 2) depthcounter $Apache::lonxml::curdepth will be a string like: 2_3_1 (tag 1 in the 3 second level tag in the 2 toplevel tag) It gets set by callsub and is available for use in the Perl tag implementations.