I wonder a bit why < must be escaped in an XML attribute, e.g.
<foo bar="3 < 4" />
From the surrounding (inside a tag, inside an attribute value) it should be quite clear for a parser that it can't be the beginning of a new tag.
What is the reason the XML specification prohibits this?