[devel] Re: sgmltools-lite -b ld2db ГЛЮКИ (Was: варианты sgml -> pdf cyr для howto-ru)

Mikhail Zabaluev =?iso-8859-1?q?mhz_=CE=C1_alt-linux=2Eorg?=
Чт Апр 4 13:04:14 MSD 2002


Hello Maxim,

On Sat, Mar 30, 2002 at 01:03:00AM +0200, Maxim Dzumanenko wrote:
>
> On Wed, 27 Mar 2002 21:10:52 +0300
> Sergey Vlasov <vsu на mivlgu.murom.ru> wrote:
> 
> > Теперь к вопросу, почему sgmltools -b ld2db не работает.  Внутрь я не
> > лазил, но strace показал, что openjade вызывается с переменной
> > SGML_CATALOG_FILES=/usr/share/sgml/stylesheets/sgmltools/sgmltools.cat
> > 
> > В этом каталоге не находятся:
> > 1) LinuxDoc DTD - на что и идет первая ругань; для нее еще нужны как
> > минимум iso-entities;
> > 2) внутренние DTD openjade (/usr/share/sgml/openjade-*);
> 
> А я вот полез, и в backend-е Ld2db.py обнаружил такую пургу:
> метод PreJade кастрирует SGML_CATALOG_FILES и оставляет только те catalog файлы,
> в которых найдены подстроки вида:
> 
>  'dtd/sgmltools', 'stylesheets/sgmltools', 'dtd/jade', 'entities/iso-entities-8879.1986'
> 
> это мотивируется тем, что лишние catalog элементы будут создавать
проблемы с "finding the wrong SGML declaration."

Абсолютная ботва. Программа не должна пытаться быть умнее
администратора системы.

> До этой фильтрации Sgmltools.py засовывает в SGML_CATALOG_FILES:
> 
> /etc/sgml/catalog:/usr/share/sgml/stylesheets/sgmltools/sgmltools.cat:/usr/share/sgml/CATALOG.docbkdsl
> 
> из этого списка вышеуказанные подстроки есть только в /usr/share/sgml/stylesheets/sgmltools/sgmltools.cat
> поэтому /etc/sgml/catalog (с его DTD-openjade и iso-entities) остается за бортом !!!
> А ссылок на /usr/share/sgml/dtd/sgmltools/catalog вообще нигде нет!
> 
> IMHO правильный метод решения:
> 1. создать /etc/sgml/sgml-linuxdoc.cat содержащий:
> 	CATALOG "/usr/share/sgml/dtd/sgmltools/catalog"
> 	CATALOG "/usr/share/sgml/openjade-1.3.1/catalog"
> 	CATALOG "/usr/share/sgml/sgml-iso-entities-8879.1986/catalog"
> 	CATALOG "/usr/share/sgml/stylesheets/sgmltools/sgmltools.cat""
> Кстати почему подобного там нет?
> 
> 2. Заставить PreJade в Ld2db.py включть этот catalog в SGML_CATALOG_FILES
> Например так: перед os.environ["SGML_CATALOG_FILES"] = string.join(newcatfiles, ':')
> вставить newcatfiles.append("/etc/sgml/sgml-linuxdoc.cat")
> 
> У меня работает, хотя тоже немного хак :)
> 
> Багу что-ли повесить ?

Конечно.

-- 
Stay tuned,
  MhZ                                     JID: mookid на jabber.org
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 232 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20020404/e0cc02f1/attachment-0001.bin>


Подробная информация о списке рассылки Devel