[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ next ]
SGML can refer to an external file (really an entity) with an external identifier: this is a public identifier or a system identifier, or both.
A typical public identifier looks like
PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN"
where ISO 8879-1986 is the owner, ENTITIES is the text class and Added Latin 1 is the text description, and EN is language.
A system identifier looks like
SYSTEM "htmlplus.dtd"
where htmlplus.dtd is a system-specific identifier.
To map external identifiers to file names, one should first try the system identifier, as a file name, and then search entity catalog files and then search the list of file names derived from the public identifier. The catalog format is according to SGML/Opens resolution on entity management. The catalog consists of a series of entries and comments. A comment is delimited by -- like in a markup declaration.
The fallback derivation of the file name is modelled after the
sgmls
environment variable SGML_PATH, and Emacs
psgml
mode's sgml-public-map variable. There does not
seem to be any official standards (this is left to the implementation), so this
standard is simply an abstraction of real-world practice of SGML tools, and
shall now be the standard for Debian systems, since this is the convention
currently followed by all applications currently in Debian.
Contiguous white space is compacted to a single space and replaced with an underscore (_); the characters / to % are also replaced with _. The text class is down-cased. The language specifier (i.e., //EN) and anything following it should be removed.
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ next ]
SGML Entity Management
2022-05-10mailto:srivasta@debian.org