Well-formed XML is not allowed to include character entities that are
not legal XML characters, according to the definition of character
entity references in section 4.1 of the XML 1.0 specification:
[66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
Well-formedness constraint: Legal Character
- Characters referred to using character references MUST match the
- production for Char.
The production for Char is defined in section 2.2:
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] |
[#x10000-#x10FFFF]
Strings with any other characters ought to be base64-encoded. I just
encountered a problem when lisppaste sent an XML-RPC response with a
paste that contains form feed characters to client with an extremely
strict XML parser.