Domanda

Ho un documento di libretto di documento e quando creo un PDF voglio che visualizzi il titolo del capitolo senza la parola "capitolo" di fronte a esso. Secondo questo Quanto segue dovrebbe funzionare:

Il mio foglio di stile personalizzato: (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>

Quando uso questo documento: (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>

e questi comandi:

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

Il PDF risultante ha ancora "Capitolo 1" di fronte al capitolo chiamato "Introduzione".

Ho provato nomi di contesto diversi come "titolo" ma non funziona. Cosa sto facendo di sbagliato o come posso eseguire il debug di questo problema?

Aggiornare Ho trovato il problema. La linea l:l18n dovresti leggere l:i18n...

È stato utile?

Soluzione

Ho trovato il problema. Era un errore di battitura in uno degli esempi che ho trovato combinato con un carattere in cui l'I e la L sembrano troppo simili.

La correzione è in questa riga:

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

In questa riga dovrebbe leggere l:i18n (con un i e non un l)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top