This module defines an internal (generic) representation for XML
documents including their DTDs.
History:
The original module was derived by hand from the XML specification,
following the grammar precisely. Then we simplified the types,
removing layers of indirection and redundancy, and generally making
things easier to work with. Then we allowed PEReferences to be
ubiquitous, by removing them from the types and resolving all
PE references at parse-time. Finally, we added a per-document
symbol table for GEReferences, and a whitespace-significance flag
for plaintext.