a first un-tested pass at an xml processor
bug: compact is an array function. interestingly, this only fails on production.