以下の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>
特定の要素をレンダリングすることは重要ではありません。すなわち。テキスト要素が失われない限り、<p>、<div>、または<span>がレンダリングされるかどうかは関係ありません。<note>要素に任意の子を含めることができると仮定して、「p / note/p」に一致する特定のルールを作成することは避けたいと思います。
私はxslに完全に精通しているので、追加のヒントやポインタは本当に役に立ちます。
前もって感謝します。