according to
[31] extSubset ::= ( markupdecl | conditionalSect | PEReference
| S )
there is no requirement that the external subset begin with a document
type declaration.
which would mean that the only indication of the root element type comes
from the refering declaration. which would mean that distinct xml
documents could well specify different root elements with respect to the
same external subset.
is this intentional?