This is the mail archive of the davenport@berkshire.net mailing list for the Davenport project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: DAVENPORT: psgml in emacs-20.3 question


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]