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

Maxim Dzumanenko =?iso-8859-1?q?mvd_=CE=C1_altlinux=2Eru?=
Чт Апр 4 16:41:29 MSD 2002


On Thu, 4 Apr 2002 13:04:14 +0400
Mikhail Zabaluev <mhz на alt-linux.org> wrote:


> > А я вот полез, и в 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."
> 
> Абсолютная ботва. Программа не должна пытаться быть умнее
> администратора системы.
Ботва, но не абсолютная. Если я у себя вообще выключаю фильтрацию, а в /etc/sgml/catalog 
включаю нижеприведенный sgml-linuxdoc.cat
То он openjade матерится практически на все теги а в конце выдает:

Traceback (most recent call last):
  File "/usr/bin/sgmltools", line 93, in ?
    tool.processFile(curfile)
  File "/usr/share/sgml/misc/sgmltools/python/SGMLtools.py", line 259, in processFile
    jadepipe.writelines(nextfile.readlines())
IOError: [Errno 32] Broken pipe

То есть таки что то мешает, даже если поставить -j "-E 100000", то полученный sgml страдает большим количеством
пропущенных тегов и как следствие получить html из него нельзя :((
> > До этой фильтрации 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")
> > 
> > У меня работает, хотя тоже немного хак :)
> > 
> > Багу что-ли повесить ?
> 
> Конечно.
Только какой способ решения _полностью_ корректен?
Или на усмотрение мантейнера пакета?

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

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20020404/5b2306e4/attachment-0001.bin>


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