web-dev-qa-db-ja.com

XMLノードがXSLTに存在するかどうかを確認します

以下を使用するよりも、XMLノードが(XSLTに)存在するかどうかを確認するためのより良い方法はありますか?

<xsl:choose>
  <xsl:when test="...........">body node exists</xsl:when>
  <xsl:otherwise>body node missing</xsl:otherwise>
</xsl:choose>
7
user3767641

xsl:chooseの代替

定義より良い; xsl:chooseは条件式を非常にうまくカバーしています。 betterであることは、いくつかの基準に対する測定を必要とし、何も提供されませんでした。それでも、適切と思われる場合に評価できるいくつかの選択肢があります。

XSLT 1.0

<xsl:if test="/path/to/node">node exists</xsl:if>
<xsl:if test="not(/path/to/node)">node missing</xsl:if>

XSLT 2.0

<xsl:value-of select="if (/path/to/node) then 'node exists' else 'node missing'"/>
10
kjhughes