如何在 XSLT 中打印单个
而不将其关闭

2024-04-18

基本上我需要在一个 if 语句中打开一个 div 并在另一个 if 语句中关闭它。我试过

<xsl:value-of select="'<div>'"/>

但这失败了,因为属性中不允许使用 。有任何想法吗? 干杯


如果您想要做的是无论任何条件都输出一些内容,但将内容包装在<div>取决于条件:

  <xsl:choose>
     <xsl:when test="myConditionIsTrue">
        <div>
           <xsl:call-template name="bar"/>
        </div>
     </xsl:when>
     <xsl:otherwise>
        <xsl:call-template name="bar"/>            
     </xsl:otherwise>
  </xsl:choose>

您可以更改<xsl:call-template> to <xsl:apply-templates> or <xsl:value-of select="$myvariable" />等等,取决于不变的内容是什么。

这样,您将把树结构视为树结构,利用基于 XML 树的处理器的强大功能,而不是试图对抗它。 DOE 可能在许多情况下都有效,但它不可移植,因为 XSLT 处理器不需要遵守它。事实上他们不能,除非他们碰巧负责特定管道中的序列化。上述方法避免了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 XSLT 中打印单个
而不将其关闭 的相关文章

随机推荐