I have been trying to figure out how I can manually or automatically add the fo:marker section.head.marker to specific sections.
I am using FOP to convert my xml files to pdf.
My format looks as such
Article
    section A1 -
        section A2 -
            section A3
    section B1 -
        section B2 -
            section B3
I can use the
<xsl:param name="marker.section.level">3</xsl:param>
to generate the header for all of the sections, however i do not want the header to be generated for A3, but I do want it for B3.
I have tried switching A3 to a simplesect however simplesect at that level still has the header generated.
I have also tried manually adding the fo:marker as such:
<section id="B3">
    <fo:marker marker-class-name="section.head.marker">
        B3
    </fo:marker>
    <title id="B3.title">B3</title>
    ...
but in my pdf output i get:
<fo:marker> sensors </fo:marker>
Is there something that I am missing to manually add the fo:marker to my xml file, or is there a way to prevent fo:markers from being generated in simplesect's via xsl?
It looks like this might be solved in a similar way as
<xsl:template match="processing-instruction('hard-pagebreak')">
    <fo:block break-after='page'/>
</xsl:template>
where instead of adding the hard-pagebreak command to the xml I add a header command of sorts that grabs the current section title and creates the fo:header
The xsl section that handles the running header generation is:
<xsl:param name="marker.section.level">2</xsl:param>
<xsl:template name="header.content">  
    <xsl:param name="position" select="''"/>
    <xsl:param name="sequence" select="''"/>
    <fo:block>
        <!-- position can be left, center, right -->
        <xsl:choose>
            <xsl:when test="$sequence = 'first'">
                <!-- off -->
            </xsl:when>
            <xsl:when test="$position = 'left'">
                <xsl:call-template name="draft.text"/>
            </xsl:when>
            <xsl:when test="$position = 'center'">
                <fo:retrieve-marker 
                      retrieve-class-name="section.head.marker"
                      retrieve-position="first-including-carryover"
                      retrieve-boundary="page-sequence"/>
            </xsl:when>
        </xsl:choose>
    </fo:block>
</xsl:template>
The rest of my xsl file handles:
imports     <xsl:import href="./docbook-xsl/fo/docbook.xsl"/> first
moving TOC to new page
allowing hard page breaks
Adding footer ( title, page# )
verbatim segment properties
    shading/word wrap
formatting revision history
disable hyphenation
disable showing URLs of links
Color links
				
                        
I was able to generate a manual section.head.marker with the following xsl code:
then I just included the running header processing-instruction.
This allows me to manually add a section.head.marker with the current section title.