Как получить заголовки разделов как вывод в DocBook
Я пытаюсь установить заголовки разделов и глав для моего DocBook, используя следующий синтаксис:
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book>
<title>My Guide to Bowling</title>
<chapter>
<section header="section header">
<title>Buying the right clothes</title>
<para>I want to buy some shoes</para>
</section>
</chapter>
</book>
Затем в моем XSL я делаю следующую настройку, чтобы установить правильный заголовок:
<?xml version='1.0'?>
<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="/docbook-xsl-1.79.1/fo/docbook.xsl"/>
<xsl:template name="header.content">
<xsl:param name="pageclass"/>
<xsl:param name="position" select="''"/>
<fo:block>
<xsl:choose><xsl:when test="$pageclass = 'body'">
<xsl:choose><xsl:when test="$position = 'center'">
<xsl:value-of select="ancestor-or-self::*[@header]/@header"/>
</xsl:when></xsl:choose>
</xsl:when></xsl:choose>
</fo:block>
</xsl:template>
</xsl:stylesheet>
Это работает для глав, но не разделов. Как заставить это работать для разделов на текущей странице?
1 ответ
Попробуй это
<xsl:value-of select="ancestor-or-self::*[@header][1]/@header"/>