---------------------------------------------------------------------------
InsertableElementsInfo is a simple 'data packet' class that is used to
get information into and out of the validator APIs that allow you to ask
what kind of elements can be inserted into a particular place in an
element's content model.
Since a Document may contain at most one top-level Element child,
and at most one DocumentType declaraction, we need to subclass our
add-children methods to implement this constraint.