I had this same misconception for weeks and had it clarified here only last
week. The DTD Reference section of the spec gives you the impression that
tags operate at a single level with each new tag taking over the content
rules until such time as either a new tag is encountered or the latest tag
is closed allowing a return to the most recent tag. In several cases
including Forms the special inclusion and exclusion rules are used to
override this basic behavior.
The suggestion has been made to add a footnote to the DTD References section
to mention this behavior.
I was referred to the following document which I found very helpful in
understanding these inclusion and exclusion rules.
`Gentle Introduction to SGML' in
This postscript document explains the DTD concepts and DTD interpretation.
See page 13, section 2.5 forward for a discussion of complexities like these.
Newton Computing Solutions