9

尝试使用<xsl:if test="expression">我想将多个表达式组合在一起的 if 语句来执行操作顺序,例如这个伪代码:

if (Number != '' and (Name != '' or PreferredName != '')) {// code here}

基本上我想在一个<xsl:if>

<xsl:if text="Number != '' and (Name != '' or PreferredName != '')">

但我不确定expression语法,我认为我不能那样做(),因为我在任何地方都没有看到它。我在网上找不到表达式语法,可能是 XPath,但我不确定 XPath 是否支持()对表达式进行分组。我不是 XSL/XML/XSD 方面的专家,所以我不知道表达式是不是 XPath,还是什么。

如果可能的话,我宁愿不做嵌套<xsl:if>语句,并且想坚持使用<xsl:if>not <xsl:choose>

我敢肯定这可能是一个简单的答案,但有点卡在这里。谢谢。

4

1 回答 1

11

初学者的条件语句xsl:if需要一个xsl:template或其他 xsl 元素作为父元素。
语法将类似于以下内容:

<xsl:template>
    ... preliminary xsl statements ...
    <xsl:if test="Number != '' and (Name != '' or PreferredName != '')">
        ... further xsl statements (the code you were referring to ...
    </xsl:if>
    ... other xsl stataments ...
</xsl:template>

进一步建议:研究 xslt 的用法,特别是模板及其应用程序(以及某种自动循环)。

于 2012-05-15T16:44:45.807 回答