This patch adds support for the XML Commons Resolver (or others) through a new "entityresolver" configuration option of DiffMk. Also made DiffMk print usage when run with no arguments (since throwing up a stack trace in this case was ... unhelpful).
Also fixes a bug in Serializer.java where attribute values were not being escaped, leading to invalid XML being emitted.
Removed the docbook xmlns from docbook.xsl, since docbook 4.4 strictly doesn't understand namespaces according to xmllint, and the build system I was feeding the resultant XML to was running xmllint over it.
Lastly, made the docbook.xsl (try to) avoid generating change markers for the same kind of change on nested elements, so that the resulting XML is more compact and simpler to process - and also so more idiotic formatters don't have a heart attack ;-). I didn't try to reproduce this on the other document types supported. Sorry about that.
Each of these changes could be made independently, so feel free to chop and change which parts to apply or not.
This patch is against the latest (revision 7) SVN trunk.