So all that means is that Postel's law can confict with Goal 6? Who says is should not? Just another tradeoff, surely?
Still not very convinced, sorry. If someone at the other end does not implement reading PIs, why cannot you use the same logic that they may have omitted to implement some elements, and therefore you should avoid using elements as much as possible too? Or does the principle apply to optional elements: that for robustness we should avoid generating elements or attributes that are optional in the schema (and PIs, if they are optional in that situtation too)? I don't think that counts as robustness, unless perhaps you have duplicate elements (think of MARC library format) from successive generations of aggregation of prior standards.
I think you
have flipped back to humans writing, not machines generating, haven't
you?. Actually, for behind-the scenes work on large pipelines made by different developers of varying quality discipline, I have frequently found it
prudent to normalize the XML to use only ASCII for direct characters.
Developers so commonly get encoding wrong, and some APIs positively make
it hard to do things right, in particular in the common case where you
need to do some text massaging before XML parsing and so you need to
check which encoding is being used in your code. I think that is an
application of Postel's principle.
Surely the kind of readable you are talking about is determined by the
language skills of the developers, not the language of the text of the
document?