Next in thread → Next in month →

Re: [docbook-apps] Titles in

From
Bob Stayton <>
Date
2012-01-05T17:35:38+00:00
ID
00e601cccbd0$67130e80$6600a8c0@pazu
Thread
Re: [docbook-apps] Titles in
Here you go.  The first template fills in a 
placeholder template in the stylesheet that is called at the start of the part 
titlepage before any other content.  It adds a marker for the part 
title.

 

<xsl:template 
name="part.titlepage.before.recto">
  <fo:marker 
marker-class-name="part.head.marker">
         
<xsl:apply-templates select="d:title|d:info/d:title" 
mode="titlepage.mode"/>
  </fo:marker>
</xsl:template>

 

The second template is a customization of the 
'header.content' template that is used to specify the content of the running 
headers.  It is documented in:

 

http://www.sagehill.net/docbookxsl/PrintHeaders.html#PrintHeadersText

 

In this customization, I just changed the reference 
in @retrieve-class-name from "section.head.marker" to "part.head.marker" to 
refer to the new marker, and changed the @retrieve-boundary property to 
"document".

 

<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>
    <xsl:value-of 
select="$pageclass"/>
    <xsl:text>, 
</xsl:text>
    <xsl:value-of 
select="$sequence"/>
    <xsl:text>, 
</xsl:text>
    <xsl:value-of 
select="$position"/>
    <xsl:text>, 
</xsl:text>
    <xsl:value-of 
select="$gentext-key"/>
  </fo:block>
-->

 

  <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'">
        
<!-- Same for odd, even, empty, and blank sequences 
-->
        <xsl:call-template 
name="draft.text"/>
      
</xsl:when>

 

      <xsl:when 
test="($sequence='odd' or $sequence='even') and 
$position='center'">
        <xsl:if 
test="$pageclass != 
'titlepage'">
          
<xsl:choose>
            
<xsl:when test="ancestor::book and ($double.sided != 
0)">
              
<fo:retrieve-marker 
retrieve-class-name="part.head.marker"
                                  
retrieve-position="first-including-carryover"
                                  
retrieve-boundary="document"/>
            
</xsl:when>
            
<xsl:otherwise>
              
<xsl:apply-templates select="." 
mode="titleabbrev.markup"/>
            
</xsl:otherwise>
          
</xsl:choose>
        
</xsl:if>
      </xsl:when>

 

      <xsl:when 
test="$position='center'">
        
<!-- nothing for empty and blank sequences 
-->
      </xsl:when>

 

      <xsl:when 
test="$position='right'">
        
<!-- Same for odd, even, empty, and blank sequences 
-->
        <xsl:call-template 
name="draft.text"/>
      
</xsl:when>

 

      <xsl:when 
test="$sequence = 'first'">
        
<!-- nothing for first pages -->
      
</xsl:when>

 

      <xsl:when 
test="$sequence = 'blank'">
        
<!-- nothing for blank pages -->
      
</xsl:when>
    </xsl:choose>
  
</fo:block>
</xsl:template>

 

</xsl:stylesheet>

Bob Stayton
Sagehill Enterprises


 

 

  
----- Original Message ----- 

  
From: 
  Paddy O' 
  Connell 

  
To:  
  

  
Sent: Thursday, January 05, 2012 4:11 
  AM

  
Subject: [docbook-apps] Titles in 

  

Hi,
  
I'm currently completing a 2 large technical documents using Oxygen, 
  Docbook 5, Apache FOP and Saxon 6.5.5 and have managed to complete all the 
  customisations needed, apart from one which is proving to be beyond me at the 
  moment, it's my first venture into XML.

  
I want to include the <part> title in the header of the body pages 
  as it is shown in the toc pages, there are two books one titled "Technical 
  Handbook - Non-Domestic" and the other "Technical Handbook - Domestic" 
  and I need to show this on the body pages along with the <chapter> title 
  which is already showing.

  
I have managed to find the file I need to work on, I think, 
  "pagesetup.xsl" where I created a test <xsl:text> tag which shows the 
  text I enter within it but on all pages. I think I need to use retrieve marker 
  from my current investigations as I need the <part> title for each book 
  to appear on the body pages rather than creating individual customisations 
  using the <xsl:text> tag approach.

  
Can anyone help a poor beginner who is really a designer and not a code 
  master, I have worked hard and managed to get all the other custom work done 
  and learned a lot about XML along the way but this bit is beating me:)

  
Cheers:)

  

  

  

  

  
---------------------------

  
Best Regards

  
Paddy O' Connell

  
Fife Design 
  Partnership

  
01334 828393

  
www.fifedesign.co.uk

  
Next in thread → Next in month →