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

Mikhail Zabaluev =?iso-8859-1?q?mhz_=CE=C1_alt-linux=2Eorg?=
Пт Апр 5 13:32:09 MSD 2002


Hello Maxim,

On Thu, Apr 04, 2002 at 03:41:29PM +0300, Maxim Dzumanenko wrote:
>
> 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")
> > > 
> > > У меня работает, хотя тоже немного хак :)
> > > 
> > > Багу что-ли повесить ?
> > 
> > Конечно.
> Только какой способ решения _полностью_ корректен?

Ваш способ хорош.

-- 
Stay tuned,
  MhZ                                     JID: mookid на jabber.org
___________
Hey, waiter!  I want a NEW SHIRT and a PONY TAIL with lemon sauce!
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20020405/100422e7/attachment-0001.bin>


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