如何删除docbook章节标题中的“章节”一词

时间:2012-02-19 17:41:13

标签: docbook docbook-5

我有一个docbook文档,当我创建PDF时,我希望它显示章节标题,前面没有“章节”一词。 根据{{​​3}},以下内容应该有效:

我的自定义样式表:(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在名为“简介”的章节前面仍然有“第1章”。

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

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

1 个答案:

答案 0 :(得分:5)

我发现了问题。这是我发现的一个例子中的拼写错误,结合了字体,其中i和l看起来太相似了。

修复就在这一行:

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

在这一行中,它应该是l:i18ni而不是l