0

从一系列 xml 文件和一个样式表开始,我使用 docbook-xsl-ns-1.73、libxslt-1.1.22.win32 和 fop-0.94 生成了一个 HTML 文件。样式表说代码块必须有编号的行和灰色的背景。这是将 xmls 转换为 html 的 and 任务的一部分:

<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 使用相同的样式表并且有效。我应该在哪里寻找解决方案?提前致谢。

4

1 回答 1

1

您正在尝试使用 CSS 格式化 FO/PDF 输出。那是行不通的。

现有的 DocBook XSL 样式表没有名为pdf.stylesheet. chunk.*参数仅用于 HTML 输出。

“代码块”和“代码行”是什么意思?您是指<programlisting>XML 源中的元素吗?

您应该查阅有关使用 DocBook XSL 的权威参考:http: //www.sagehill.net/docbookxsl/index.html

于 2010-12-16T10:18:26.683 回答