基本上我需要在一个 if 语句中打开一个 div 并在另一个 if 语句中关闭它。我试过
<xsl:value-of select="'<div>'"/>
但这失败了,因为属性中不允许使用 。有任何想法吗? 干杯
如果您想要做的是无论任何条件都输出一些内容,但将内容包装在<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" />等等,取决于不变的内容是什么。
<xsl:call-template>
<xsl:apply-templates>
<xsl:value-of select="$myvariable" />
这样,您将把树结构视为树结构,利用基于 XML 树的处理器的强大功能,而不是试图对抗它。 DOE 可能在许多情况下都有效,但它不可移植,因为 XSLT 处理器不需要遵守它。事实上他们不能,除非他们碰巧负责特定管道中的序列化。上述方法避免了这个问题。