Titulky kapitol/sekcii

Jirka Kosek jirka na kosek.cz
Neděle Únor 27 22:27:44 CET 2005


Jaroslav Kuruc wrote:

> daju sa standardne docbook xsl sablony upravit tak, aby pri generovani
> titulku kapitoly/sekcie pri zapnuti automatickeho cislovania generovali
> vystup formatovany nejako takto:

Upravit se to dá, i když to není nic jednoduchého, protože současné 
styly generují texty jako "Kapitola 1. Úvod" jeden celek. Pro kapitoly a 
přílohy by to měla zvládnout následující úprava (jejím autorem je Honza 
Tichý):

<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
     <xsl:variable name="chapter.titulek">
         <xsl:call-template name="component.title">
             <xsl:with-param name="node" 
select="ancestor-or-self::chapter[1]"/>
         </xsl:call-template>
     </xsl:variable>

     <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" 
xsl:use-attribute-sets="chapter.titlepage.recto.style" >
         <xsl:choose>
             <xsl:when test="count(preceding::chapter)=0 or 
count(following::chapter)=0">
                 <xsl:value-of select="substring-after($chapter.titulek, 
'. ')"/>
             </xsl:when>
             <xsl:otherwise>
                 <fo:block>
                     <xsl:value-of 
select="substring-before($chapter.titulek, '.')"/>
                 </fo:block>
                 <fo:block margin-top="0.5em">
                     <xsl:value-of 
select="substring-after($chapter.titulek, '. ')"/>
                 </fo:block>
             </xsl:otherwise>
         </xsl:choose>
     </fo:block>
</xsl:template>


<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
     <xsl:variable name="appendix.titulek">
         <xsl:call-template name="component.title">
             <xsl:with-param name="node" 
select="ancestor-or-self::appendix[1]"/>
         </xsl:call-template>
     </xsl:variable>

     <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" 
xsl:use-attribute-sets="appendix.titlepage.recto.style">
         <fo:block>
             <xsl:value-of select="substring-before($appendix.titulek, 
'.')"/>
         </fo:block>
          <fo:block margin-top="0.5em">
             <xsl:value-of select="substring-after($appendix.titulek, '. 
')"/>
         </fo:block>
     </fo:block>
</xsl:template>


-- 
------------------------------------------------------------------
   Jirka Kosek     e-mail: jirka na kosek.cz     http://www.kosek.cz
------------------------------------------------------------------
   Profesionální školení a poradenství v oblasti technologií XML.
      Podívejte se na náš nově spuštěný web http://DocBook.cz
        Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------

------------- další část ---------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3158 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://www.linux.cz/pipermail/docbook/attachments/20050227/b14e2ecc/attachment.bin>


Další informace o konferenci Docbook