[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