2014-02-24 4 views
3

DocBook에 문서를 쓰고 있으며 머리글과 바닥 글이 PDF로 출판되기를 원합니다. 이를 위해 나는이 스타일이 있습니다Docbook : 헤더의 챕터 번호 및 단어 "Chapter"

Chapter 1: My first chapter blah-blah   1 

어떤 템플릿 :

My first chapter blah-blah   1 

내가이 얻고 싶은 :이 코드 조각

<xsl:template name="header.content"> 
    <xsl:param name="pageclass" select="''"/> 
    <xsl:param name="sequence" select="''"/> 
    <xsl:param name="position" select="''"/> 
    <xsl:param name="gentext-key" select="''"/> 

    <fo:block> 

    <!-- sequence can be odd, even, first, blank --> 
    <!-- position can be left, center, right --> 
    <xsl:choose> 
     <xsl:when test="$sequence = 'blank'"> 
     <!-- nothing --> 
     </xsl:when> 

     <xsl:when test="$position='left'"> 
     <xsl:call-template name="draft.text"/> 
     <xsl:apply-templates select="." mode="titleabbrev.markup"/> 
     </xsl:when> 
    </xsl:choose> 
    <xsl:when test="$position='right'"> 
     <fo:page-number/> 
    </xsl:when> 
    </fo:block> 
</xsl:template> 

을, 나는 다음 헤더를 얻을 수 그런 상용구를 만들기 위해 전화해야합니까?

+0

여기 많은 사람들이 XSLT에 익숙하지만 Docbook에는 익숙하지 않습니다. 따라서 다음 질문에 답할 수 있습니다. 템플릿 "header.content"는 어디에서 호출합니까? 챕터 번호가 매개 변수입니까, 아니면 처음부터 생성해야합니까? –

답변

4

은 다음 (I 닥북에 너무 익숙하지이기 때문에 시도) 시도 :

header.content 템플릿에

<xsl:apply-templates select="." mode="object.title.markup"/> 

를 추가합니다. 이렇게하면 "장 번호 레이블이있는 장 제목"을 삽입해야합니다. Docbook 문서 참조 here을 참조하십시오.

<xsl:template name="header.content"> 
    <xsl:param name="pageclass" select="''"/> 
    <xsl:param name="sequence" select="''"/> 
    <xsl:param name="position" select="''"/> 
    <xsl:param name="gentext-key" select="''"/> 

    <fo:block> 

    <!-- sequence can be odd, even, first, blank --> 
    <!-- position can be left, center, right --> 
    <xsl:choose> 
     <xsl:when test="$sequence = 'blank'"> 
     <!-- nothing --> 
     </xsl:when> 

     <xsl:when test="$position='left'"> 
     <xsl:call-template name="draft.text"/> 
     <xsl:text>Chapter </xsl:text> 
     <xsl:apply-templates select="." mode="object.title.markup"/> 
     </xsl:text> </xsl:text> 
     </xsl:when> 
    </xsl:choose> 
    <xsl:when test="$position='right'"> 
     <fo:page-number/> 
    </xsl:when> 
    </fo:block> 
</xsl:template> 

그러나이 title.markuptitleabbrev.markup의 차이가있을 수 있습니다.