Whole document tree
    

Whole document tree

SGML Entity Management - Proposed mapping of public identifiers to system identifiers
[ previous ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]

SGML Entity Management
Chapter 2 Proposed mapping of public identifiers to system identifiers


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 ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]
SGML Entity Management
17 February 2002
Manoj Srivastava srivasta@debian.org