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

Suc*_*hem 7 xml xslt xpath

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

if (Number != '' and (Name != '' or PreferredName != '')) {// code here}
Run Code Online (Sandbox Code Playgroud)

基本上我想这样做<xsl:if>:

<xsl:if text="Number != '' and (Name != '' or PreferredName != '')">
Run Code Online (Sandbox Code Playgroud)

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

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

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

Mae*_*o13 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>
Run Code Online (Sandbox Code Playgroud)

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