Why doesn't it seem possible to have the following macro
  \def\docall#1{\csname xmlprocess#1\encsname{}{}}
and use it with \docall{buffer}?
How then accomplish this?

Runaway argument?
\def \sourcenode {exam::15}\edef \currentsource {\xmlattdef {exam::15\ETC.
! File ended while scanning use of \buff_gobble.
...
\luat_start_lua_code_indeed ...nd \directlua {#1}}

Hans van der Meer