複雑な XSLT ファイルのセットを調整する必要がありますが、空の段落タグが追加されているという問題があり、その理由がわかりません。for-each と関係があると思いますが、変換に p-Tag が含まれていないため、これらのタグがどこから来たのかわかりません。
これは、for-each で何かが空の場合に、xsl がそれ自体で追加できるものですか? 常に for-each の直後と for-each の終了の直前に取得されます (生成された出力を効果的に囲んでいます)。
タグが空の場合、for-each の内部を確認するにはどうすればよいですか?
ご協力ありがとうございました。
ファイルは主に次の構造になっています。
// Base File
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="library.xsl" />
<xsl:output method="html" encoding="utf-8" indent="yes"/>
// Some keys are defined here ...
<xsl:template name="base">
<xsl:call-template name="someTemplate" />
// More templates follow ...
</xsl:template>
</xsl:stylesheet>
library.xsl には、次のようなテンプレート「someTemplate」があります。
<xsl:template name="someTemplate">
<xsl:for-each select="[very complicated XPath here]">
// Some HTML generation, but absolutely withoug p-tags!!!!
</xsl:for-each>
</xsl:template>
XSLT: How to exclude empty elements from my result?のスレッドを読みました。また、名前付きパターンを適用しようとしましたが (私のファイルは for-each を使用しているため)、うまくいきませんでした。