3

我有一个 docbook 文档,当我创建 PDF 时,我希望它显示章节标题,而前面没有“Chapter”一词。据此,以下应该工作:

我的自定义样式表:(doc.xsl)

<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:fo="http://www.w3.org/1999/XSL/Format"
  version="1.0">
<xsl:import
  href="/usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl"/>
<xsl:param name="local.l10n.xml" select="document('')"/> 

<l:l18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
  <l:l10n language="en"> 
    <l:context name="title-numbered"> 
      <l:template name="chapter" text="%n.&#160;%t"/> 
    </l:context>    
  </l:l10n>
</l:l18n>
</xsl:stylesheet>

当我使用这个文档时:(doc.xml)

<book xmlns="http://docbook.org/ns/docbook" version="5.0"
     xml:lang="en">
  <title>Doc</title>
  <chapter>
    <title>Introduction</title>
    <section>
      <title>Purpose of the document</title>  
      <para></para>    
    </section>
  </chapter>
</book>

和这些命令:

xsltproc doc.xsl doc.xml > doc.fo
fop -fo doc.fo -pdf fo.pdf

生成的 PDF 在名为“Introduction”的章节前面仍然有“Chapter 1”。

我尝试了不同的上下文名称,例如“标题”,但它不起作用。我在做什么错或如何调试此问题?

更新 我发现了问题。该行l:l18n应为l:i18n...

4

1 回答 1

5

我发现了问题。这是我发现的一个示例中的错字,加上 i 和 l 看起来太相似的字体。

修复在这一行:

<l:l18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">

在这一行中,它应该l:i18n是(带有一个i而不是一个l

于 2012-02-19T22:03:13.410 回答