XSLT:根据元素是否存在获取xpath的值

时间:2012-09-12 22:34:21

标签: xml xslt xhtml

我会检查一个文档是否包含给定的值和xpath,如果它确实使用了所选的值,否则使用另一个。我对XSLT非常苛刻,但这就是我的开始:

  <xsl:choose>
          <xsl:when test="p//section.std[@type = 'SpecialSection']/p/img/@alt">
            <xsl:apply-templates select="p//section.std[@type = 'SpecialSection']/p/img/@alt"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:apply-templates select="p//meta-data.titles/meta-data.title"/>
          </xsl:otherwise>
        </xsl:choose>         

目前没有选择任何值。我怀疑我不能像我一样编写我的选择测试。我不确定空值是否计算为布尔值。基本上我想测试第一个xpath是否返回一个值,如果它确实使用它,如果不使用块中的那个。

有任何帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下单个表达式选择所需节点(下面select的{​​{1}}属性):

xsl:variable