An diesen Stellen hat meiner Ansicht nach das W3C geschlampt.
Per Spezifikation ist das Verschachteln von Links nicht erlaubt. Es ist auch irgendwo darin angemerkt, dass diese Regel nicht durch eine SGML-DTD ausgedrückt werden kann. Derlei Regeln gibt es viele, da die Fähigkeiten von SGML- und XML-DTDs sehr begrenzt sind. Andere formale Grammatiken erlauben es, solche Ausnahmen festzulegen. Wenn man XHTML 1 gegen XML Schema oder (X)HTML 5 gegen RELAX NG und Schematron validiert, ist <a><object><a>bla</a></object></a> nicht valide. Zum Zeitpunkt von HTML 4 hatte man m.W. einfach keine besseren Schema-Sprachen als DTD.
Mathias