built-in shelf
The built-in #current-dtd shelf of type dtd refers to the DTD that gets compiled during an
SGML or XML parse and subsequently used for the validation of the document instance.
Whenever a new parse is started, the shelf #current-dtd is saved and assigned a new dtd
instance. In case of an SGML parse, the instance will have the sgml-dtd type, and in case of a
validating XML parse it will be an xml-dtd. This newly created instance does not become usable
until the dtd-end point.
If #current-dtd is assigned another dtd value during a validating parse, but no later than the
dtd-end point, this value will be used for the instance validation. The shelf is writable only within the
lexical scope of the following rules:
do sgml-parse or a validating do xml-parse action,
external-text-entity #dtd rule,
document-type-declaration rule,
dtd-start rule, or
dtd-end rule.