[sisyphus] Бага в xml-ном добре (xml-common-0.6.3-alt11 и docbook-dtds-4.4-alt1)

Vitaly Ostanin =?iso-8859-1?q?vyt_=CE=C1_altlinux=2Eorg?=
Ср Май 7 18:28:38 MSD 2008


Yury Aliaev пишет:
> Всем добрый день!
> 
> При попытке собрать один пакет я получил следующее:
> 
> docbook2html -d qtiplot.dsl docbook-en/index.docbook -e no-valid
> Using catalogs: /etc/sgml/xml-docbook-4.4.cat
> Using stylesheet: /usr/src/RPM/BUILD/qtiplot-0.9.5/manual/qtiplot.dsl
> Working on: /usr/src/RPM/BUILD/qtiplot-0.9.5/manual/docbook-en/index.docbook
> jade:/usr/share/xml/docbook/dtd/4.4/dbcentx.mod:308:0:E: cannot find 
> "ent/isoamsa.ent"; tried 
> "/usr/share/xml/docbook/dtd/4.4/ent/isoamsa.ent", 
> "/usr/share/sgml/ent/isoamsa.ent"

<skipped/>

> Когда я стал копать, то выяснил следующее: файл 
> /usr/share/xml/docbook/dtd/4.4/dbcentx.mod, принадлежащий пакету 
> docbook-dtds-4.4-alt1, содержит строки вида:
> <!ENTITY % ISOnum PUBLIC
> "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
> "ent/isonum.ent">

Эта строка означает, что набор сущностей ISOnum нужно искать по
публичному идентификатору (PUBLIC id)
"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
и если ничего не найдётся, то обращаться в системный
"ent/isonum.ent"

PUBLIC id резолвятся в файлы через механизм XML Catalogs. Например,
для iso entities в файле
/usr/share/xml/xml-iso-entities-8879.1986/xmlcatalog
из пакета xml-common
указано:
<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow
Relations//EN//XML" uri="iso-amsa.ent"/>

jade вообще относится к миру SGML, и понимает, видимо, только тот
XML, который не сильно отличается от SGML.

И вообще, XML тут не при чём. Вы перегоняете в html формат SGML,
используя стили DSSSL. Нужно определить, почему подхватился
/etc/sgml/xml-docbook-4.4.cat, а не /etc/sgml/sgml-docbook-4.4.cat.
Когда вы это исправите, вылезет ошибка уже в
/usr/share/sgml/sgml-iso-entities-8879.1986/catalog
из пакета sgml-common. А может, и не вылезет.

> (а также прочие isoxxx.ent), а сами файлы именуются так:
> [builder на builder SPECS]$ cd /usr/share/xml/docbook/dtd/4.4/ent/
> [builder на builder ent]$ ls
> catalog       iso-amsc.ent  iso-amsr.ent  iso-cyr2.ent  iso-grk2.ent 
> iso-lat1.ent  iso-pub.ent
> iso-amsa.ent  iso-amsn.ent  iso-box.ent   iso-dia.ent   iso-grk3.ent 
> iso-lat2.ent  iso-tech.ent
> iso-amsb.ent  iso-amso.ent  iso-cyr1.ent  iso-grk1.ent  iso-grk4.ent 
> iso-num.ent   xmlcatalog
> 
> т.е. после iso имеется дефис. Эти файлы относятся к пакету
> xml-common-0.6.3-alt11
> Т.е. налицо несогласованность между пакетами docbook-dtds-4.4-alt1 и 
> xml-common-0.6.3-alt11. Вопрос: на какой из этих пакетов вешать багу?

Они нормально работают друг с другом, так что у них баги нет.

Название файлов, в которых хранятся сущности, не так уж важно, лишь
бы они правильно резолвились. Почему в оригинальном DocBook не
используются дефисы для файлов с iso entities, а у нас используются
- не знаю, исторически сложилось, наверно. Можно, конечно, привести
всё к единообразию, но кто же возьмётся?

-- 
Regards, Vyt
mailto:  vyt на altlinux.org
JID:     vitaly.ostanin на gmail.com

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 252 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20080507/80caca88/attachment-0002.bin>


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