- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Fri, 4 Apr 2003 17:08:49 -0500
- To: Adam Di Carlo <aph@debian.org>, Manoj Srivastava <srivasta@debian.org>
- Cc: www-archive@w3.org
- Message-ID: <20030404220849.GL10825@w3.org>
Re sgml-data, the following DTD catalog chain prevents any subsequent
HTML DTDs from being processed. For me, the issue arose when I was
using an xhtml1 [1] DTD:
/etc/sgml/catalog:
CATALOG /usr/lib/sgml/transitional.cat
/usr/lib/sgml/transitional.cat:
CATALOG /usr/share/sgml/html/dtd/catalog
/usr/share/sgml/html/dtd/catalog:
-- The Default DOCTYPE File ............................................. --
-- Used the latest WWW standard if the doctype is html --
DOCTYPE html 4.01/loose.dtd
DOCTYPE HTML 4.01/loose.dtd
First request, wipe out DOCTYPE html entries from this (and all)
catalogs, or, give users a high priority dialog preinst message that
says they won't be able to add html DTDs to their systems via the
sanctioned update-catalog mechanism. See html_dtd_catalog.diff
Second request, for psgml mode, state what file had a DOCTYOPE
match. Currently, the frustrated user (that's me), can
(setq sgml-trace-entity-lookup t) and see:
Start looking for dtd entity html public -//W3C//DTD XHTML 1.0 Transitional//EN// system http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
catalog: /home/eric/WWW/2002/02/21-WSDL-RDF-mapping/catalog empty/non existent
catalog: /etc/sgml/catalog exists
catalog: /usr/lib/sgml/transitional.cat empty/non existent
catalog: /etc/sgml/sgml-data.cat exists
catalog: /usr/share/sgml/dtd/catalog exists
catalog: /usr/share/sgml/entities/catalog exists
catalog: /usr/share/sgml/entities/sgml-iso-entities-8879.1986/catalog exists
catalog: /usr/share/sgml/entities/sgml-iso-entities-9573-13.1991/catalog exists
catalog: /usr/share/sgml/entities/xml-iso-entities-8879.1986/catalog exists
catalog: /usr/share/sgml/html/dtd/4.0/catalog exists
catalog: /usr/share/sgml/html/dtd/4.01/catalog exists
catalog: /usr/share/sgml/html/dtd/iso-15445/catalog exists
catalog: /usr/share/sgml/html/dtd/catalog exists
>> /usr/share/sgml/html/dtd/4.01/loose.dtd [by doctype html]
The attached patch (psgml-parse.el.diff) changes the last line to
>> /usr/share/sgml/html/dtd/4.01/loose.dtd [by doctype html in /usr/share/sgml/html/dtd/catalog]
Hopefully, this will make such problems much easier to find in the
future. I would still caution against "DOCTYPE html" entries
(sgml-data issue above) as it will take the naive user a long time to
figoure out to turn on sgml-trace-entity-lookup and know what to look
for. I know, I was such a naive user.
In the process I learned edebug and lisp, but that was probably excessive.
This issue did not become a problem until I decieded to see why it was
I needed xemacs in order to have xml-mode work for (!x)emacs. xemacs
installs xhmtl1 dtds so I never had to use update-catalog to append it
with pointers to downloaded catalogs files. It may be nice to include
those in sgml-data as well.
I have archived [2] this mail so I and others may reference it easily.
[1] http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
[2] http://lists.w3.org/Archives/Public/www-archive/2003Apr/0005
--
-eric
office: +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell: +1.857.222.5741
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Attachments
- text/plain attachment: html_dtd_catalog.diff
- text/plain attachment: psgml-parse.el.diff
Received on Friday, 4 April 2003 17:08:50 UTC