|
|||||
Entity manager: determining when the built-in entity manager is being used | |||||
Prerequisite Concepts | Related Syntax |
When there are no external-text-entity
rules in an OmniMark program, then OmniMark uses its built-in entity manager to find the text of an SGML text entity.
When there are any external-text-entity
rules in an OmniMark program, the built-in entity manager is not used: the entity manager defined by the OmniMark program (by the external-text-entity
rules) is used instead. In this case, one (and only one) of them must provide the replacement text for each external text entity, general or parameter, referenced by an SGML document, as follows:
external-text-entity
rule, it must provide the replacement text for every external text entity.
external-text-entity
rule, then each must have a condition such that for every external text entity, one of the conditions succeeds and all the others fail. The rule on which the condition succeeds is the one that provides the replacement text of the entity.
These statements apply to both general entities and parameter entities. Similar statements apply independently to the "entities" referenced by the external identifier at the start of the DOCTYPE declaration and by the public identifiers in the SGML declaration.
OmniMark provides facilities that allow an OmniMark program to duplicate the behavior of OmniMark's built-in entity manager. An OmniMark program can, for example, provide or find the replacement text for a certain class of external text entities, but "fall back" on OmniMark's built-in behavior for any other external text entity by duplicating or closely emulating the built-in entity manager.
Prerequisite Concepts Entities Entity manager: built-in Entity managers: programmer-defined XML/SGML entity managers |
Related Syntax external-text-entity |
---- |