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.