Есть относительно простой способ получить это, хотя я уверен, что вы не сможете без создание слоя настройки DocBook XSL или просто изменение установленных (системных) таблиц стилей.
В любом случае, я думаю, что фактический шаблон docbook-xsl, который вам нужно изменить или переопределить, называется make.toc
и находится в дистрибутиве таблиц стилей в файле html/autotoc.xsl
.
Это большой шаблон - почти сотня строк, но вам нужно всего лишь изменить его в одну строку:
--- /usr/share/xml/docbook/stylesheet/docbook-xsl/html/autotoc.xsl 2012-12-16 11:35:12.000000000 +0900
+++ /opt/workspace/autotoc.xsl 2015-12-26 09:19:36.000000000 +0900
@@ -28,7 +28,7 @@
</xsl:variable>
<xsl:template name="make.toc">
- <xsl:param name="toc-context" select="."/>
+ <xsl:param name="toc-context" select="/"/>
<xsl:param name="toc.title.p" select="true()"/>
<xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
То есть вам нужно вызвать этот шаблон с параметром toc-context
, установленным на «/
» (вместо «.
»).
Значение по умолчанию «.
» сообщает шаблону, что при создании оглавления для фрагмента он должен смотреть только на (дочернее) содержимое того элемента, который он обрабатывает в данный момент (то есть на корень этого конкретного фрагмента); например, если он обрабатывает section
, он смотрит только на дочерние элементы этого section
.
Но если вместо этого вы измените это значение на «/
», вы укажете шаблону каждый раз (пере) просматривать все содержимое исходного документа. Поэтому, если ваш документ book
, он будет каждый раз давать вам полное оглавление для всей книги, а если ваш документ - это article
, вся статья и т. Д.
Так что я думаю, это должно дать вам то, чего вы хотите.
Если вы решили просто изменить установленные таблицы стилей и установили их из любого менеджера пакетов для конкретной ОС, который вы используете, вам нужно найти, где установлен html/autotoc.xsl
файл.
В моей системе Debian Linux html/autotoc.xsl
файл находится здесь:
/usr/share/xml/docbook/stylesheet/docbook-xsl/html/autotoc.xsl
А в моей системе OS X, установленной из пакета homebrew, он находится здесь:
/usr/local/opt/docbook-xsl/docbook-xsl/html/autotoc.xsl
Если вместо этого вы решите создать уровень настройки, вам необходимо скопировать его весь шаблон make.toc
в ваш уровень настройки (но с этим toc-context
параметром, измененным на "/
").
person
sideshowbarker
schedule
26.12.2015