docbook(openjade)<title>被&lt; xref&gt;忽略,产生“第33章”,“第33.2节”等</title>

时间:2015-02-16 04:46:01

标签: xslt docbook

TL; DR:在我的docbook SGML中,当使用docbook-dsssl样式表通过openjade转换为HTML时,xref元素会产生类似“第33章”的链接文本而不是“章节的标题” <chapter>的{​​{1}}元素。我希望它发出标题,但无法弄清楚如何制作它。


即使在阅读the introductory/newbie docstech docscustomisation docsxref 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.xslstylesheet.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

但删除它没有效果。

0 个答案:

没有答案