XSLT if表达式语法,组合多个表达式

时间:2012-05-15 16:23:52

标签: xml xslt xpath

尝试使用<xsl:if test="expression">组合if语句,我希望将多个表达式放在一起,以执行此伪操作的操作顺序:

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

基本上我想在<xsl:if>中执行此操作:

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

但是我不确定expression语法,我认为我不能像那样(),因为我没有在任何地方看到它。我无法轻松地在Web上找到表达式语法,它可能是XPath,但我不确定XPath是否支持()组表达式。我不是XSL / XML / XSD的专家'所以我不知道表达式是否甚至是XPath,或者是什么。

如果可能的话,我宁愿不做嵌套的<xsl:if>语句,并希望坚持<xsl:if>而不是<xsl:choose>

我确信这可能是一个简单的答案,但有点困在这里。感谢。

1 个答案:

答案 0 :(得分:8)

初学者的条件语句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的使用,特别是模板及其应用(以及自动循环)。