鉴于下面的 XSL 模板和 XML,这是我试图实现的 HTML 输出(或多或少):
<p>
foo goes here
<span class="content"><p>blah blah blah</p><p>blah blah blah</p></span>
bar goes here
<span class="content">blah blah blah blah blah blah</span>
</p>
以下是实际呈现的内容(缺少 <span.content> 的全部内容):
<p>
foo goes here
<span class="content"></span>
bar goes here
<span class="content">blah blah blah blah blah blah</span>
</p>
这是我的模板(片段):
<xsl:template match="note[@type='editorial']">
<span class="content">
<xsl:apply-templates />
</span>
</xsl>
<xsl:template match="p">
<p>
<xsl:apply-templates />
</p>
</xsl>
这是我的xml:
<p>
foo goes here
<note type="editorial"><p>blah blah blah</p><p>blah blah blah</p></note>
bar goes here
<note type="editorial">blah blah blah blah blah blah</note>
</p>
渲染特定元素并不重要。IE。我不在乎是否渲染了 <p> 或 <div> 或 <span>,只要没有丢失任何文本元素。我想避免创建一个特定的规则来匹配“p/note/p”,假设 <note> 元素可以包含任意子元素。
我完全是 xsl 的菜鸟,所以任何额外的提示或指针都会非常有帮助。
提前致谢。