* any other escape sequence MUST be interpreted as ? (question mark) character.
Isn't it better to forbid them? Presumably you are saving the space for further extensions, but this is allowing readers to interpret them as '?'
Similarly what is the rationale for interpreting control characters is '?'? Instead you can ban them, with the possible exception of treating tabs as spaces.
But as written, the definition permits generating the weird output. Which ignores the other arm of Postel's principle.
You could have the format definition forbid these characters; and then in the section about Postel's principle have "If you choose to accept forbidden characters, you MUST treat them as '?'".
Comments
Isn't it better to forbid them? Presumably you are saving the space for further extensions, but this is allowing readers to interpret them as '?'
Similarly what is the rationale for interpreting control characters is '?'? Instead you can ban them, with the possible exception of treating tabs as spaces.
Postel's principle: By liberal in what you accept... It means that the tool won't crash just because there's weird input.
But as written, the definition permits generating the weird output. Which ignores the other arm of Postel's principle.
You could have the format definition forbid these characters; and then in the section about Postel's principle have "If you choose to accept forbidden characters, you MUST treat them as '?'".
Isn't it better to crash than to fail silently, possibly storing malformed data?
Known as "Fail early, fail loudly".
https://en.wikipedia.org/wiki/Fail-fast