xsl:stylesheet
コメント、空の(端末)タグ、空の属性を排除するために、この「アイデンティティのような」変換があります...しかし、2番目 xsl:when
は機能しません
<xsl:template match="node()">
<xsl:choose>
<xsl:when test="name()='p' and not(./*) and not(normalize-space(.))"></xsl:when>
<xsl:when test="not(name()='img') and not(name()='br') and not(./*) and not(text())"
></xsl:when> <!-- this line NOT WORKS -->
<xsl:otherwise><xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="@*">
<xsl:choose>
<xsl:when test="not(normalize-space(.))"></xsl:when>
<xsl:otherwise><xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="comment()"></xsl:template>
このコンテキストでタグを空にする条件を表現するのは誰ですか?
PS:「空のルール」についてはこちらで説明されています。使用しようとしましたが、なぜ機能しないのかわかりません。