A built-in stream that starts out with one item for each entry in every
library rule in the OmniMark program, or in a "-library" file at run-time. The key of each item is a public identifier, and the value of each item is the corresponding system identifier.
#library shelf is initialized from the "-library" specifications on the command line only if, somewhere in the OmniMark program, there is some action that initiates SGML or XML parsing (i.e. a
do sgml-parse or
do xml-parse action). If there is no such markup parsing action, the "-library" command-line arguments are ignored. However, if there are any library rules in an OmniMark program, they are always used to initialize the
The default "current item" of the
#library shelf is the lastmost item, as is the case with programmer-declared shelves.
One of the main uses of the
#library stream is shown by the way the "%epq" and "%epv" format items are interpreted.
If the OmniMark program contains no
external-text-entity rules, any change made to the
#library stream also determines how OmniMark's built-in entity manager interprets public identifiers in referenced external text entities.