这样:
<formalpara>
<title>foo</title>
<para>bar</para>
</formalpara>
将呈现为:
<p>
<span class="formalpara-title">foo</span>
bar
</p>
我已经设置了<xsl:param name="runinhead.default.title.end.punct"></xsl:param>
,因此愚蠢的点不再被渲染。
<div class="formalpara">
<h2 class="title">foo</h2>
<p>bar</p>
</div>
我改变了:
<xsl:template match="d:formalpara">
<xsl:call-template name="paragraph">
.....
</xsl:template>
为:
<xsl:template match="d:formalpara">
<xsl:call-template name="block.object">
.....
</xsl:template>
我改变了:
<xsl:template match="d:formalpara/d:title|d:formalpara/d:info/d:title">
.....
<span class="formalpara-title">
.....
</span>
</xsl:template>
为:
<xsl:template match="d:formalpara/d:title|d:formalpara/d:info/d:title">
.....
<h2 class="title">
.....
</h2>
</xsl:template>
这将是现在呈现的内容:
<div class="formalpara">
<h2 xmlns:d="http://docbook.org/ns/docbook" class="title">foo</h2>
bar
</div>
xmlns:d="http://docbook.org/ns/docbook"
会被渲染?<p>
附近获得bar
标记?答案 0 :(得分:0)
您应该能够通过在xmlns:d="http://docbook.org/ns/docbook"
(分别为h2
)元素上添加exclude-result-prefixes="d"
来避免xsl:stylesheet
元素上的命名空间声明xsl:transform
。< / p>
我会假设添加
<xsl:template match="d:formalpara/d:para">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
确保转换para
的{{1}}元素子元素,但我没有检查它是否有效。