Go to the previous, next section.
Place the *.el
and the *.elc
files in a directory where
Emacs can find it. If you obtained PSGML without *.elc
files,
you can create them by letting Emacs byte compile the *.el
files
(use M-x byte-compile-file). Parsing SGML in Emacs Lisp is slow
and needs all the speed it can get.
Put the following line in your .emacs:
(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
SGML can refer to external files (really entities) either with public
identifiers or with system identifiers. PSGML uses the variable
sgml-public-map
to map public identifiers to file names.
A 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). The default path would look for this file in
/usr/local/lib/sgml/ISO_8879:1986/entities/Added_Latin_1
Note: blanks are transliterated to `_' (and also `/' to `%') and the text class is down cased.
The default for sgml-public-map
giving the above path is
("/usr/local/lib/sgml/%o/%c/%d")
The sgml-public-map
variable can contain a list of file name
templates where owner is substituted for `%O', public text
class for `%C', and public text description for `%D'. The
text class will be converted to lower case and the owner and description
will be transliterated according to the variable
sgml-public-transliterations
. The templates in the list is tried
in order until an existing file is found. An element can also be a
dotted pair (regexp . filename)
, the filename
is a string treated as above, but only if the regular expression,
regexp, matches the public identifier.
A system identifier looks like
SYSTEM "htmlplus.dtd"
where "htmlplus.dtd" is a system specific identifier. PSGML treats
system identifiers as file names and looks for them in the directories
listed in the variable sgml-system-path
(default is either in
current directory or in `~/sgml').
Go to the previous, next section.