Для преобразования исходных документов в другие форматы используются языки описания преобразований и таблицы стилей. Существуют два языка для работы с таблицами стилей (stylesheets):
Язык семантики и описания стиля документа (DSSSL — Document Style Semantics and Specification Language) был создан для работы с документами в формате SGML и может работать с документами в формате XML, поскольку второй является подмножеством первого. В Sisyphus таблицы стилей DSSSL для работы с Docbook находятся в пакете docbook-style-dsssl.
Утилиты, использующие эти таблицы стилей, находятся в Sisyphus в пакете docbook-utils.
Расширяемый язык стилей (XSL — Extensible Style Language) — язык обработки стилей, созданный специально для работы с XML. Он позволяет преобразовывать документы из XML в HTML, RTF, а также в другие документы XML. Для преобразования XML-документов можно также пользоваться языком XSLT — XSL Transformations. В Sisyphus XSL-таблицы стилей для Docbook/XML находятся в пакете docbook-style-xsl.
Процессор, обрабатывающий XSL-таблицы стилей, находится в Sisyphus в пакете xsltproc.
Пример 3.2. Преобразование XML-документа в формат HTML с использованием XSL-стилей
xsltproc --xinclude \ --stringparam base.dir html/ \ --stringparam chunker.output.encoding "KOI8-R" \ /usr/share/xml/docbook/xsl-stylesheets/html/chunk.xsl file.xml
В этом примере используется стиль chunk, который создаёт отдельные html-файлы для каждого раздела в подкаталоге html. Параметр chunker.output.encoding указывает кодировку выходных файлов.
При использовании стиля docbook на выходе получится один большой html-файл со всем содержимым. Параметр chunker.output.encoding при этом не учитывается и в документе вместо букв будут их номера в UNICODE. Такие документы корректно отображаются браузерами, просто занимают больше места, чем документы с кодировкой, например, koi8-r.
Опытным путем выяснено, что использование XSL-стилей даёт лучшие результаты, чем использование DSSSL-стилей.