[docs] Re: collect_images при сборке
Vitaly Ostanin
vyt на vzljot.ru
Вт Ноя 22 15:37:40 MSK 2005
Kirill Maslinsky пишет:
> Добрый день!
>
> Я тут столкнулся с проблемой при сборке DocBook/XML в HTML -- сбор всех
> иллюстраций и помещение их в html-дерево. Хочется решить эту проблему
> сразу правильно.
>
> Читал старые Makefiles из cvs/docs, обнаружил следующее:
>
> имеется стиль collect_images.xsl, который, насколько я могу понять:
>
> 1) переписывает пути к файлам иллюстраций (после XInclude всё в одном файле,
> пути поменялись).
> 2) Его же можно применить, чтобы получить список иллюстраций (с переписанными
> уже путями) на stdout.
>
> В комментариях в Makefile'ах написано, что collect_images -- это хак.
Где именно и как написано? Сейчас уже не хак.
> В том tuning.xsl, который в cvs/docs, импортируется collect_images.
> А в том, который в alt-docs-xsl-common -- нет.
В текущей инкарнации collect_images.xsl - самостоятельный
тюнинговый стиль, живёт он здесь:
http://vyt.vzljot.ru/dcben/browser/dcben/trunk/markup/core/collect_images.xsl
использует
http://vyt.vzljot.ru/dcben/browser/dcben/trunk/markup/core/filename.xsl
который использует
http://vyt.vzljot.ru/dcben/browser/dcben/trunk/markup/core/str.split.template.xsl
Пример использования стиля:
http://vyt.vzljot.ru/dcben/browser/dcben/trunk/build-rules/make/include.d/collect_images
После обработки документа стилем должен создаваться shell-скрипт
для копирования файлов в нужный каталог с нужными именами, а
также изменённый документ, где исправлены пути и имена картинок.
Таким образом картинки собираются в один каталог конечного
формата с исправлением дубликатов имён.
Пример создания html с использованием этого стиля и скрипта:
http://vyt.vzljot.ru/dcben/browser/dcben/trunk/build-rules/make/include.d/alt_html
> Вопрос: а как тут правильно быть?
> - Сделать свой xsl-стиль, в котором импортировать collect_images.xsl
> и tuning.xsl?
tuning.xsl должен быть распилен на отключаемую функциональность,
в текущей версии обработка картинок отключена и вынесена в
collect_images.xsl. Текущая версия tuning.xsl:
http://vyt.vzljot.ru/dcben/browser/dcben/trunk/markup/core/tuning.xsl
> - colect_images -- вообще неправильный, для решения этой задачи нужно писать
> другой xsl-стиль?
Не думаю :) В оригинальных стилях DocBook с недавних пор
появилась поддержка xml:base для картинок, но она не рассчитана
на сборку отдельно от исходников документов, и не умеет
исправлять дубликаты. Поэтому xml:base в collect_images.xsl
подавляется до обработки оригинальными стилями.
Других стилей для сборки картинок я не встречал.
> - xsl-стиль тут вообще не нужно писать, а решать задачу другими средствами
> (какими?)?
Достоверная информация о картинках доступна только из xml
документа, поэтому правильно собирать её xsl-стилем. Можно решать
эту задачу организационно с помощью соглашений о префиксах в
именах картинок и хранении их всех в оговоренном каталоге, как
это было не так давно в проекте Docs. Но это неудобно и
неприемлемо в других проектах, поэтому был написан
collect_images.xsl.
--
Regards, Vyt
mailto: vyt at vzljot.ru
JID: vyt at vzljot.ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://lists.altlinux.org/pipermail/docs/attachments/20051122/598c6bec/signature.bin
Подробная информация о списке рассылки docs