【发布时间】:2015-03-05 03:40:12
【问题描述】:
我的 DocBook 5 文档包含 glossentry 标签,其中包含 abbrev 标签。 abbrev 标签似乎对呈现的 HTML 没有任何贡献。我是 DocBook 和 XSLT 的新手。我需要从哪里开始寻求改变?我一直在查看文档,除了对这显然是默认行为感到惊讶之外,我不确定在哪里寻找故障排除。
设置:我的 DocBook 文件以 <book xmlns:xl="http://www.w3.org/1999/xlink"> 开头。我仅将xsltproc 指向一个 XSL 文件,其中包含以下内容:
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl"/>
<xsl:output method="html"
encoding="UTF-8"
indent="no"/>
<xsl:param name="html.stylesheet" select="'main.css'"/>
<xsl:param name="generate.toc">
book toc,title
</xsl:param>
<xsl:param name="glossentry.show.acronym">yes</xsl:param>
</xsl:stylesheet>
【问题讨论】:
-
我查看了
docbook-xsl-ns-1.78.1\html\glossary.xsl,它确实有一个<xsl:template match="d:glossentry/d:abbrev"> <xsl:apply-templates/> <xsl:if test="following-sibling::d:acronym|following-sibling::d:abbrev">, </xsl:if> </xsl:template>用于abbrev元素的模板,基于此,我希望abbrev元素的内容出现,如果有几个,以逗号分隔内容。您能否向我们展示您的 docbook 输入的最小但完整的示例、您使用的确切 XSLT、您获得的 HTML 以及您想要的 HTML? -
进一步看,您似乎可以将参数
glossentry.show.acronym设置为yes,以确保同时显示“此设置控制光泽条目中的首字母缩写词和缩写元素”。 -
@MartinHonnen,谢谢,我会添加该信息(最初没有,因为最近似乎过于详细的问题吓跑了人们)。该参数有效,但有趣的是它的格式与我见过的其他格式不同!起初这让我很震惊。
-
我从您的评论中了解到该参数已经解决了这个问题,所以我会写一个关于它的答案。
标签: xslt rendering docbook docbook-5