xml and text producer/listener