Frage

Ich habe ein Docbook -Dokument und wenn ich ein PDF erstelle, möchte ich, dass er den Kapitel -Titel ohne das Wort "Kapitel" voran zeigt. Entsprechend Dies Folgendes sollte funktionieren:

Mein benutzerdefiniertes Stylesheet: (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>

Wenn ich dieses Dokument verwende: (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>

und diese Befehle:

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

Das resultierende PDF hat immer noch "Kapitel 1" vor dem Kapitel "Einführung".

Ich habe verschiedene Kontextnamen wie "Titel" ausprobiert, aber es funktioniert nicht. Was mache ich falsch oder wie kann ich dieses Problem debuggen?

Aktualisieren Ich fand das Problem. Die Linie l:l18n sollte lesen l:i18n...

War es hilfreich?

Lösung

Ich fand das Problem. Es war ein Tippfehler in einem der Beispiele, die ich mit einer Schriftart fand, in der das i und der L zu ähnlich aussehen.

Das Fix ist in dieser Zeile:

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

In dieser Zeile sollte es lesen l:i18n (mit einem i und nicht ein l)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top