检查 XSLT 中是否存在 XML 节点

Check if XML node exists in XSLT

是否有更好的方法来查找 XML 节点是否存在(在 XSLT 中)而不是使用:

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

替代 xsl:choose

定义更好xsl:choose 很好地涵盖了条件表达式。 更好 需要根据某些标准进行衡量,并且提供了 none。不过,这里有一些您可以根据需要评估的替代方案:

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'"/>