没有缩写标签的 DocBook 5 渲染
DocBook 5 rendering without abbrev tag
我的 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>
有一个名为 glossentry.show.acronym
的参数,您可以将其设置为 yes
以确保显示“glossentry 中的 acronym
和 abbrev
元素”。您还可以将其设置为 primary
以确保这些元素显示为条目的主要文本。
如果您需要更多自定义,则需要添加自己的模板以覆盖 Docbook 样式表中的模板,即
<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
元素输出为逗号分隔列表。
我的 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>
有一个名为 glossentry.show.acronym
的参数,您可以将其设置为 yes
以确保显示“glossentry 中的 acronym
和 abbrev
元素”。您还可以将其设置为 primary
以确保这些元素显示为条目的主要文本。
如果您需要更多自定义,则需要添加自己的模板以覆盖 Docbook 样式表中的模板,即
<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
元素输出为逗号分隔列表。