xslt - xsl - 多个 xsl :if with the same condition

标签 xslt if-statement

关于 xslt 的新手问题。我有多个 xsl:if 检查,例如

<xsl:if test="node/node1"> ...</xsl:if>
...
<xsl:if test="node/node1"> ...</xsl:if>
...
<xsl:if test="node/node1"> ... </xsl:if>

有没有办法参数化测试条件,使代码更具可读性和易于维护?也许有一个变量或类似的东西

<xsl:variable name="node1Present" select="true()"/>
<xsl:if test="$node1Present"> ... </xsl:if>

我不明白如何构造变量来反射(reflect)“测试节点存在”(test="node/node1")

最佳答案

<xsl:variable name="node1Present" select="boolean(node/node1)"/>

对于节点集,当且仅当节点集不为空时,boolean() 才会转换为 true。

关于xslt - xsl - 多个 xsl :if with the same condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3022068/

相关文章:

javascript - 如何在 Javascript 中将对象包装在网格上?

python - 给定奇数或偶数条件,如何对列表中的偶数或奇数求和?

xslt - <copy-of>和<apply-templates>有什么区别?

ant - 如何让 xslt 缩进 xml(来自 Ant)?

javascript - 通过 (JavaScript) 在 IE 中将样式表 (XSL) 应用于 (XML) 时出现问题

if-statement - Jenkins 声明式管道。 post block 中的条件语句

java - 如何确保我正在检查未选中的复选框 selenium java

xml - XSLT 函数格式-数字不显示零

c# - XmlWriter 异步操作失败并显示 XmlWriterSettings.OutputMethod = Html

java - 比 Java 中的 If(x instanceof y) 更好的方法?