variables - XSLT 中的条件变量选择

标签 variables xslt xslt-2.0

如果值是数字,我希望变量具有元素的值,但如果不是数字,那么我希望变量具有值 0

换句话说,XSLT 中是否存在与以下内容等效的简单内容?

var foobar = is_numeric(element value) ? element value : 0

或者你会怎么写这个?

<xsl:variable name="foobar" select=" ? " />

最佳答案

XPath 1.0:

<xsl:variable name="foobar">
  <xsl:choose>
    <xsl:when test="number($value) = number($value)">
      <xsl:value-of select="$value"/>
    </xsl:when>
    <xsl:otherwise>0</xsl:otherwise>
  </xsl:choose>
</xsl:variable>

引用这个聪明的number($value) = number($value)数字测试:Dimitre Novatchev's answer"Xpath test if is number" question .

关于variables - XSLT 中的条件变量选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139584/

相关文章:

java - 将非结构化 xml 转换为结构化

mysql - 我如何声明 mysql 列表变量

java - 在 XSL 转换期间读取并替换 XML 中的常量

python - 赋值前引用的另一个局部变量 - Python

xml - 如何使用XSLT在XML中创建增量序列号

xslt - 使用<xsl:for-each>作为增量元素名称

xslt - 使用 XSLT 1.0 根据引用的 XML 文件中的元素删除元素(WXS 组件/文件/等)

xml - XSLT:检查是否在节点列表中找到节点

php - PHP 中的自定义环境变量

linux - Bash:引用字符串中的变量替换看起来像暮光之城中的东西