In Debian bug #82763 a user requested to stop at the first not well-formed document with a non-zero exit status. The patch is attached. We apply it for Debian atm.
It seems this is indeed a bug.
In other error cases (out of memory, file open error), xmlwf returns 1. When incorrect parameters are passed, it returns 2.
The Debian patch returns 2 for a parse error. This seems to be in line with existing usage, where 1 indicates an exception (execution error), and 2 indicates an actual execution result.
So I applied the patch - see xmlwf.c rev. 1.75.