0

xsltproc←当我尝试使用在任何 DocBook 5 实体列表中都没有看到的普通左箭头(即 ←)时,会抱怨“实体 'larr' 未定义'” 。我需要包括什么才能让它工作?

我当前的 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="glossterm.auto.link" select="1"/>

</xsl:stylesheet>

...并且 docbook 文件仅以:

<book xmlns:xl="http://www.w3.org/1999/xlink">

...之后我直接进入titleandchapter标签。

我是否需要链接到其他东西才能获得“larr”实体,还是只是从 DocBook 5 中删除?

4

1 回答 1

1

这不是导致您的问题的 XSLT 样式表(除非您&larr;在 XSLT 代码中使用,但没有显示它)。我假设您正在使用&larr;输入 XML 文档中的实体。

您可以在 XML 文件的顶部添加实体声明吗?

<?xml version="1.0" standalone="yes" ?>    
<!DOCTYPE book [
  <!ENTITY larr "&#x2190;">
]>
<book/>

我不熟悉 Docbook,但这个页面似乎表明这是可能的。

这个箭头有几个版本,用不同的 Unicode 字符表示。

于 2015-03-04T19:33:16.660 回答