On Thu, 4 Apr 2002 13:04:14 +0400 Mikhail Zabaluev 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") > > > > У меня работает, хотя тоже немного хак :) > > > > Багу что-ли повесить ? > > Конечно. Только какой способ решения _полностью_ корректен? Или на усмотрение мантейнера пакета? -- С Уважением, Максим Дзюманенко