2010-10-29 57 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