TL; DR:在我的docbook SGML中,当使用docbook-dsssl样式表通过openjade转换为HTML时,xref
元素会产生类似“第33章”的链接文本而不是“章节的标题” <chapter>
的{{1}}元素。我希望它发出标题,但无法弄清楚如何制作它。
即使在阅读the introductory/newbie docs,tech docs,customisation docs和xref
element docs之后,我仍在努力使用docbook linktext。
除非我使用明确的<title>
,否则我总是会获得<link linkend="blah">text</link>
的链接文字,例如第33章或第33.2.1节标题。
e.g。如果我有:
xref
并参考:
<chapter id="spi">
<title>Server Programming Interface</title>
我得到像第33章这样的链接文本,而不是预期的第33章:服务器编程接口或只是服务器编程接口。
使用的样式表未指定<xref linkend="spi">
。如果我明确添加:
xref.with.number.and.title
到<xsl:param name="xref.with.number.and.title">1</xsl:param>
它不会改变我看到的输出。
我在stylesheet-common.xsl
或stylesheet.xsl
中找不到任何stylesheet.xsl
/ <l:context
gentext自定义(<l:template
中有一些,但它不用于构建HTML文档,只有联机帮助页和被覆盖的模板不会生成我看到的文本。
我可以使用目标元素上的stylesheet-man.xsl
属性覆盖linktext,但是当那里已经存在xreflabel
时,这很笨拙。同样地,我可以给<title>
一个<title>
并从id
元素引用它,但它很笨拙而且不应该是必要的。
我很难过。为什么xref
linktext会忽略<xref>
元素?
上下文:我正在使用the PostgreSQL documentation written in DocBook SGML并使用openjade and the DocBook 4.2 DTD,使用OpenJade 1.3.2(OpenSP 1.5.2)和docbook-dsssl 1.79。
相关的样式表在公共git doc/src/sgml
中。
构建时<title>
命令行为:
openjade
stylesheet.dsl
中有以下内容:
openjade -wall -wno-unused-param -wno-empty -wfully-tagged \
-D . -D . -c /usr/share/sgml/docbook/dsssl-stylesheets/catalog \
-d stylesheet.dsl -t sgml -i output-html -i include-index \
postgres.sgml
但删除它没有效果。