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

Maxim Dzumanenko =?iso-8859-1?q?mvd_=CE=C1_altlinux=2Eru?=
Сб Мар 30 02:03:00 MSK 2002


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")

У меня работает, хотя тоже немного хак :)

Багу что-ли повесить ?

-- 
С Уважением,
Максим Дзюманенко


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : 00000001.mimetmp
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20020330/a3d644f8/attachment-0002.bin>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20020330/a3d644f8/attachment-0003.bin>


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