| Syntax 
   external-text-entity #dtd
  OR
  (when | unless) entity is #dtd
 
 Purpose
 
 The name of the external entity that contains the declarations that follow the declarations in an SGML doctypedeclaration. If the "%q" format item is used for the #dtdentity, it will produce the string#dtd. Note, however, that this entity really doesn't have a name, and that by using a variant SGML syntax, an SGML document can define an entity with the name#dtdthat produces the results with the "%q" format item. To distinguish the "real"#dtdentity from the user's entity with the same name, use theentity is #dtdtest. The entity is #dtdtest is used to determine whether the "real" entity is the#dtdentity.#dtdis used the wayexternal,public, orparameterare used in anentitytest, and can be combined with these other keywords. This is useful when anexternal-text-entityrule can process either the#dtdentity or another entity, and needs to determine which one it has processed. If there are any external-text-entityrules in an OmniMark program that use the keyword#dtdin their headings, all#dtdentities must be handled by the OmniMark program. If no#dtdentity is handled by an OmniMark program then all such entities are subject to OmniMark's default processing. In the head of the external-text-entityrule,#dtdcan be combined with either#impliedor the names of named entities, but not with both, because#impliedcannot be combined with the names of entities. The #dtdentity is considered a parameter entity (not a general entity) for the purposes of theentity is generalandentity is parametertests. The following sample external text entity rule uses a file called "default.dtd" when there is an external identifier at the start of the DTD that has no public or system identifier (e.g.,  !DOCTYPE doc SYSTEM ).
   external-text-entity #dtd when entity isnt (system | public)
     output file "default.dtd"
 |