2010-10-29 33 views
0

从一系列xml文件和样式表开始,我使用docbook-xsl-ns-1.73,libxslt-1.1.22.win32生成一个HTML文件和fop-0.94。样式表说代码块必须有数字线和灰色背景。 这里是一块转换个XML为HTML和任务:使用docbook生成XML和CSS的输出 - 为HTML工作,失败的PDF

<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> 

现在这个任务工作完全正常,产生所需的输出。

用于个XML转换成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转换ant任务未能执行所述格式化代码行样式表。 什么可能是错的?考虑到转换为HTML使用相同的样式表和工作。 我应该在哪里寻找解决方案? 在此先感谢。

回答

1

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

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

“code chunks”和“code lines”是什么意思?你的意思是XML源代码中的<programlisting>元素?

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