This makes it a little easier to correlate each enumerator with its
error message, and the compiler should generate a lookup table anyway.
It also avoids running into Clang's -Wsign-compare warning when building
on Windows (where enum's are signed ints):
error: comparison of integers of different signs: 'enum XML_Error'
and 'unsigned int' [-Werror,-Wsign-compare]
if (code > 0 && code < sizeof(message)/sizeof(message[0]))
~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We ran into this when building Chromium on Windows using a recent version of
Clang.