わかりましたので、解決できないように見える xslt の問題があります。これは質問をする 2 回目の試みです。重複としてマークしないでください。
<p>
私の問題は、ドキュメントの 4 番目のタグの後に HTML を含めたいということです。<p>
問題は、属性を持つタグが存在する可能性があることですclass="exclude"
タグにそのクラスがある場合、<p>
その段落をレンダリングしたくありません。同時に、含まれている html を 4 番目の段落の後にレンダリングしたいと思います<p class="excludes"
。
編集::これは私が以前持っていたxslです。これにより、含まれている html が 4 番目の段落に挿入されます。
<xsl:template match="content/p[position() = 4]">
content include<xsl:apply-templates /></p>
</xsl:template>
ここにいくつかの入力/出力の例があります
<p class="excludes">
まず、私の入力がない基本的な例は次のとおりです。
<body>
<p></p>
<p></p>
<p></p>
<p></p>
include new HTML here
<p></p>
...
</body>
その例では、html は xslt を通過した後、4 番目の段落の後にうまくレンダリングされます。
ただし、考慮する必要があります<p class="exclude">
これは、より複雑な例です<p class="exclude" being used >
<body>
<p class="exclude"></p> (should not be rendering on page)
<p></p>
<p></p>
<p></p>
<p></p>
include new HTML here
<p></p>
...
</body>
この例では、最初の段落がページにレンダリングされるべきではないため、含まれている HTML が 5 番目の * 段落の後に表示されていることに注意してください。より複雑な例をもう 1 つ見てみましょう。
<body>
<p class="exclude"></p> (this should not be rendering on page)
<p></p>
<p class="exclude"></p> (this should not be rendering on page)
<p class="exclude"></p> ...
<p></p>
<p class="exclude"></p> ...
<p></p>
<p class="exclude"></p> ...
<p class="exclude"></p> ...
<p class="exclude"></p> ...
<p></p>
new HTML include here
<p></p>
...
<body>
<p class="exclude"></p>
さて、私の最後の例では、複数が追加されていることがわかります。<p class="excludes"
はい、レンダリングされた 4 番目の段落の後に新しい html コンテンツをレンダリングする必要があります。この例では、すべての段落の合計 11 番目です。
これを達成するのに役立つxsltを誰かが持っていれば、それは素晴らしいことです。xslt 1.0 を使用していることを覚えておいてください。よろしくお願いします。