XML の有識者に聞きたいんですが、
https://www.w3.org/TR/REC-xml/#NT-CharData
[14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
が [2] Char で定義されていない (Char ではない制御文字等も使えるかのように読める) のは意図してのもの? それとも [^<&] は単に Char - ('<' | '&') として解釈するべき?
https://nya.lemonade.moe/@lemon/102802558610517964
[2] Char の制約が要求されるのは tag とか comment とか PI とか CDATA section みたいな特殊な文脈内であって、そういう特殊な文脈以外で出現するプレーンなテキストはもっと制約がユルいという解釈でいけそう