This is the mail archive of the
davenport@berkshire.net
mailing list for the Davenport project.
Re: DAVENPORT: psgml in emacs-20.3 question
- To: davenport AT berkshire dot net
- Subject: Re: DAVENPORT: psgml in emacs-20.3 question
- From: Peter Flynn <pflynn AT imbolc.ucc.ie>
- Date: Tue, 14 Sep 1999 17:47:06 +0100
- Reply-To: davenport AT berkshire dot net
> Can someone help me understand why psgml doesn't work for me.
>
> If I edit a file with
>
> <!DOCTYPE BOOK PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
>
> psgml parses it fine (and quickly), highlights nice and pretty, but I get
>
> External entity book not found
> Public identifier -//Davenport//DTD DocBook V3.0//EN
If you're getting that then it's not parsing the DTD at all. That's
the reason it looks fast. It means _exactly_ what it says: it cannot
find the DTD referred to as "-//Davenport//DTD DocBook V3.0//EN",
probably because you don't have an entry for it in your catalog.
You must have a copy of a DTD in an accessible place if you want to use it.
> The only 'entities' (markup->insert entity) I have are 'atilogo', 'generic',
> 'gloss', 'markups', 'sgmlexa', and 'www'.
Unfortunately these have nothing to do with it.
> '/usr/lib/sgml/' looks like:
>
> 30chg.txt ISOamsr ISOlat1 dbhier.mod nwalsh-modular.cat
> 40issues.txt ISObox ISOlat2 dbpool.mod sgml-common.cat
> CATALOG ISOcyr1 ISOnum docbook.cat style-sheet.dtd
> ChangeLog ISOcyr2 ISOpub docbook.dcl stylesheets/
> ISOamsa ISOdia ISOtech docbook.dtd stylesheets.cat
> ISOamsb ISOgrk1 announce.txt dsssl.cat
> ISOamsc ISOgrk2 cals-tbl.dtd dsssl.dtd
> ISOamsn ISOgrk3 cdtd/ dtds/
> ISOamso ISOgrk4 dbgenent.mod fot.dtd
>
> What's going on? It looks to me that psgml is not parsing the DTD and I
> thought it was suppose to.
Yes, that's it. Create a file called "catalog" containing
PUBLIC "-//Davenport//DTD DocBook V3.0//EN" "/usr/lib/sgml/docbook.dtd"
(and ditto for the three mod files, cals-tbl.dtd, and all the ISO* files,
using the formal public identifiers you will find in comments at the start
of each file). Or copy it from CATALOG and edit it to reflect the directory
where you have this stuff.
Put catalog or CATALOG in a place where your copy of Emacs/psgml looks for
it: read the psgml docs to find out where this is. It can't just go anywhere,
it must go in the right place, otherwise nothing will work.
///Peter