Re: [xml-dev] What exactly does this mean: an XML document may notcontain the NUL character
You might consider that control characters are, in a sense, not characters at all. They are there to allow higher level protocols to be implemented above the textual. They are not "this is" codes but "do this" codes, IYSWIM.
For example, the standard C libraries treat a NUL as a terminator for strings. Or BS is to backspace a print head. Or EOT is to end a transmission. Etc.
So to allow NUL directly in transmitted text is a layer violation.
Would it actually hurt much to allow a XML documents to have � ? Not at all, if you are willing to make life more difficult for developers in languages using null terminated strings. (In effect, you would be penalizing the C traditional Open Source ecosystem such as the GNU family, over the more recent languages and platforms such as Rust, .NET, Java, etc.)
In the past, it seemed that the people who wsnted NUL often wanted to put binary data into XML: fragments of non-unicode. So Bin64 notation provides a different way.
Cheers
Rick