I've done a lot of clean-up. You have the basic implementation correct. I've moved several functions inline. I've moved the printing of the stack trace constants to XQueryException since only XQueryException has stack traces. I've added doxygen comments that you didn't.
Why don't you include the "raised at" in the XML format?
Why don't you include the "applied at" in the XML format? (Not knowing what it is is not an acceptable reason.)
Why does ErrorPrinter need to exist at all? It seems redundant.
I've done a lot of clean-up. You have the basic implementation correct. I've moved several functions inline. I've moved the printing of the stack trace constants to XQueryException since only XQueryException has stack traces. I've added doxygen comments that you didn't.
Why don't you include the "raised at" in the XML format?
Why don't you include the "applied at" in the XML format? (Not knowing what it is is not an acceptable reason.)
Why does ErrorPrinter need to exist at all? It seems redundant.