我有一个DocBook5文档,可以使用xsltproc渲染到分块的HTML中。
我现在正在尝试渲染为PDF,但在fo输出阶段,xsltproc给了我:
Element step in namespace 'http://docbook.org/ns/docbook' encountered in sidebar, but no template matches.
如果我尝试使用fop渲染生成的fo,实际上,xsltproc似乎已经省略了侧边栏中任何过程中的步骤,因为第一个上的fop chokes:
...pdf/book.fo:9:1597: Error(9/1597): fo:list-block is missing child elements.
Required Content Model: marker* (list-item)+
对于chunked HTML,xsltproc怎么不关心这个,但是不喜欢这个?
更新:似乎是发出此消息的样式表:
$ cat /usr/share/sgml/docbook/xsl-ns-stylesheets-1.75.2/fo/docbook.xsl | grep -B 15 "but no template matches"
<xsl:key name="id" match="*" use="@id|@xml:id"/>
<!-- ==================================================================== -->
<xsl:template match="*">
<xsl:message>
<xsl:text>Element </xsl:text>
<xsl:value-of select="local-name(.)"/>
<xsl:text> in namespace '</xsl:text>
<xsl:value-of select="namespace-uri(.)"/>
<xsl:text>' encountered</xsl:text>
<xsl:if test="parent::*">
<xsl:text> in </xsl:text>
<xsl:value-of select="name(parent::*)"/>
</xsl:if>
<xsl:text>, but no template matches.</xsl:text>