Well, we could say this is complex because structured texts are rich, complex, objects, and any system that can capture their essence will of necessity have some complexity.
Or we could claim that the design of SGML used the &...; syntax for at least three different purposes, and furthermore, introduced more complexity (and the need for two types of entities) by using a different syntax for the DTD and the document itself.
In any case, the design processes for SGML and then for XML led to a situation where there are a lot of different things that can happen. This table brings the descriptions of them all together in one place; it has received good reviews from XML implementers.
Back-link to specCopyright © 1998, Tim Bray. All rights reserved.