3.5. Транслируем в HTML

Наберите команду:

$ xsltproc --nonet /usr/local/docbook-xsl-1.68.1/html/chunk.xsl article.xml
Writing index.html for article
$

Как свидетельствует сообщение программы, в текущем каталоге образовался файл index.html. Открыв его в браузере, вы увидите примерно следующее:

HTML-help

Стандартные XSL-скрипты поддерживают специальный вариант трансляции в HTML — для последующего преобразования в Microsoft HTML Help. Вместо html/chunk.xsl задайте htmlhelp/htmlhelp.xsl, в результате образуется набор HTML-файлов и служебные файлы, которые понимает штатный Help-компилятор hhc.exe.

Посмотрим на HTML-код образовавшегося файла:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" 
content="text/html; charset=ISO-8859-1">
<title>&#1053;&#1072;&#1079;&#1074;&#1072;&#1085;&#1080;&#1077; 
&#1089;&#1090;&#1072;&#1090;&#1100;&#1080;</title>

Видно, что русские буквы превратились в числовые коды. Чтобы получить текст в нормальной кодировке (например, windows-1251), зададим соответствующий параметр:

$ xsltproc --nonet --stringparam chunker.output.encoding windows-1251 \
> /usr/local/docbook-xsl-1.68.1/html/chunk.xsl article.xml
Writing index.html for article
$

Ключи xsltproc

Ключ --nonet запрещает обращение в Интернет за XSL-скриптами. Обработка DocBook довольно трудоемка, поэтому предпочтительно чтобы скрипты находились на сервере локально. С этим ключом вы будете уверены, что берутся только локальные скрипты, а обращения в Интернет будут диагностироваться и блокироваться.

Ключами --param и --stringparam задают значения числовых и строковых параметров соответственно, управляя таким способом внешним видом выходного документа.