The spec says:
for compatibility
A feature of XML included solely to ensure that XML remains
compatible with SGML.
"For compatibility" is just an explanation of the requirement. You'll
notice that all the "for compatibility" comments are associated with
"must" or similar wording. So a conforming processor must indicate an
error if it encounters -- in a comment.
Contrast this with "for interoperability", which does not impose any
requirement. This term is used in conjunction with "should" or "may"
rather than "must", though I notice that in Section 3.1 it is used
with "must", which seems like an error in the standard to me.
-- Richard