XML 1.1 characters in range 0x1 - 0x1F aren't recognized
Brought to you by:
yuvalo
XML 1.1 (unlike XML 1.0) allows characters in range 0x1 - 0x1F to be encoded as numeric entities, but Piccolo reports an error without checking XML version.
The check in PiccoloLexer.flex (function parseEncodedChar) is
if ((result < 0x20 && result != '\t' && result != '\r' && result != '\n')
|| (result >= 0xD800 && result < 0xE000)
|| result >= 0xFFFE)
throw new IllegalCharException(
"Character reference to illegal XML character");
and there must be a check for xmlVersion == "1.0".