Создание выходных данных из XML и CSS с помощью docbook - работа для HTML, ошибка для PDF - PullRequest
0 голосов
/ 29 октября 2010

Начиная с серии XML-файлов и таблицы стилей, я генерирую HTML-файл, используя docbook-xsl-ns-1.73, libxslt-1.1.22.win32 и fop-0.94. таблица стилей говорит, что куски кода должны иметь пронумерованные строки и серый фон. Вот часть задачи и, которая преобразует xmls в html:

<exec executable="${XSLTPROC_EXECUTABLE}">
     <arg value="--output" />
     <arg value="${target.html.dir}/${book}_toc.xml" />

     <arg value="--xinclude" />

     <arg value="--param" />
     <arg value="html.stylesheet" />
     <arg value="'css/visixd-docbook.css'" />

     <arg value="--param" />         
     <arg value="chunk.separate.lots" />
     <arg value="1" />

     <arg value="--param" />         
     <arg value="chunk.first.sections" />
     <arg value="1" />

     <arg value="--param" />
     <arg value="chunk.section.depth" />
     <arg value="8" />

     <arg value="--param" />         
     <arg value="toc.section.depth" />
     <arg value="3" />

     <arg value="--param" />         
     <arg value="navig.graphics" />
     <arg value="1" />

     <arg value="--param" />         
     <arg value="ignore.image.scaling" />
     <arg value="1" />

     <arg value="src/reusable/xsl/makeCustomToc.xsl" />
     <arg value="src/workspace/${book}/${language}/${book}.xml" />
    </exec> 

теперь эта задача работает отлично, производя желаемый результат.

аналогичная задача, используемая для преобразования xmls в pdf, имеет следующие параметры:

<exec executable="${XSLTPROC_EXECUTABLE}">
     <arg value="--output" />
     <arg value="${target.fo.dir}/${book}.fo" />

     <arg value="--param" />
     <arg value="paper.type" />
     <arg value="'USletter'" />         

     <arg value="--param" />
     <arg value="img.src.path" />
     <arg value="'src/workspace/${book}/${language}/'" />

     <arg value="--param" />
     <arg value="fop.extensions" />
     <arg value="0" />

     <arg value="--param" />
     <arg value="fop1.extensions" />
     <arg value="1" />

     <arg value="--param" />
     <arg value="pdf.stylesheet" />
     <arg value="'css/visixd-docbook.css'" />

     <arg value="--xinclude" />

     <arg value="--param" />         
     <arg value="chunk.separate.lots" />
     <arg value="1" />

     <arg value="--param" />         
     <arg value="chunk.first.sections" />
     <arg value="1" />

     <arg value="--param" />
     <arg value="chunk.section.depth" />
     <arg value="8" />

     <arg value="--param" />         
     <arg value="toc.section.depth" />
     <arg value="3" />

     <arg value="${DOCBOOK_XSL_HOME}/fo/docbook.xsl" />
     <arg value="src/workspace/${book}/${language}/${book}.xml" />
    </exec>

проблема в том, что моя задача муравья для преобразования PDF не в состоянии отформатировать строки кода, как указано в таблице стилей что может быть не так? учитывая, что преобразование в html использует ту же таблицу стилей и работает. где я должен искать решение? заранее спасибо.

1 Ответ

1 голос
/ 16 декабря 2010

Вы пытаетесь отформатировать вывод FO / PDF с использованием CSS. Это не работает.

Стандартные таблицы стилей DocBook XSL не имеют параметра с именем pdf.stylesheet. А параметры chunk.* предназначены только для вывода в формате HTML.

Что вы подразумеваете под "кусками кода" и "строками кода"? Вы имеете в виду <programlisting> элементов в источнике XML?

Вам следует обратиться к окончательному справочнику по использованию DocBook XSL: http://www.sagehill.net/docbookxsl/index.html.

...