Print

Print


Hi all,

I'm absolutley new to psgml, ead and emacs but has configured psgml and emacs on my OS/2 Merlin PC.
Psgml is version 043b
Emacs is version 19.31.1 for OS/2


A remark in the ead.dtd says:

<!--  NOTE:      This is a modular DTD.  It references other    -->
<!--             DTD modules through the use of Formal Public   -->
<!--             Identifiers and/or SYSTEM entity references.   -->
<!--             TO USE THIS DTD YOU MUST make the proper       -->
<!--             FORMAL or SYSTEM pathname connection!!!!!!!    -->
<!--

and the psgml documentation says:


Modify search path for external entities
========================================

   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).  With
the default setting of `sgml-public-map' Emacs 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 `%P' will be substituted with the whole public
identifier, 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.

but HOW DO I DO IT?

The problem occurs when I parse the DTD - emacs tells me:
Public id -//Society of American Archivists//DTD eadnotat.ent (EAD Notation Declarations)//EN; can't find file
Entity eadnotat undefined
Public id -//Society of American Archivists//DTD eadbase.ent (EAD Basic Declarations)//EN; can't find file
Entity eadbase undefined
Public id -//Society of American Archivists//DTD eadchars.ent (EAD Special Characters)//EN; can't find file
Entity eadchars undefined

Any thoughts?

Regds,
Martin Bantz
Statens Museum for Kunst
Denmark