XSLT 检查节点可用性

标签 xslt xslt-1.0

我在我的项目中使用 XSLT 1.0。在我的 XSLT 转换中,我必须检查特定元素以及该元素是否存在 - 我必须执行一些串联或其他一些串联操作。

但是,我在这里找不到选项,例如某些内置函数。

要求就像

<Root>
  <a></a>
  <b></b>
  <c></c>
</Root>

这是元素 <a> ,传入请求负载,那么我们需要执行 <b> 的串联和<c>否则<c><b> .

最佳答案

您可以通过模板匹配来做到这一点:

<xsl:template match="Root[not(a)]">
  <xsl:value-of select="concat(c, b)"/>
</xsl:template>

<xsl:template match="Root[a]">
  <xsl:value-of select="concat(b, c)"/>
</xsl:template>

关于XSLT 检查节点可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338654/

相关文章:

java - 如何从 Saxon 的扩展函数返回文档节点?

xslt - 如何从标记存储在变量中的树中选择节点?

java - XSLT:使用xpath表达式提取兄弟节点的最后x位

xml - 在 XSLT 中如何测试变量是否已设置?

xml - 创建层次结构树

xml - XSLT 获取字符串或 url 的一部分

xml - 返回未更改的 XML 的 XSL

xml - 如何使用xslt2.0检索当前节点的(ancestor::w:p)的先前同级?

xml - 向 XSL-FO 文档添加行号

xml - 简单 XML 上每个循环的 XSLT