或条件不按预期工作

时间:2013-12-10 08:18:29

标签: xslt-2.0

我有以下XML语句

<section level="sect1">
    <title><content-style font-style="bold">PRACTICE DIRECTIONS</content-style></title>
</section>

当我尝试应用以下条件时

<xsl:when test="not(contains(./title/content-style/text(),'PRACTICE DIRECTIONS'))">
<xsl:choose>
    <xsl:when test="./section[1]/para/phrase">

        <xsl:value-of select="./section[1]/para[1]/phrase"/>

        <xsl:for-each select="./section">
            <xsl:apply-templates select="." mode="toc"/>    
        </xsl:for-each>
    </xsl:when>
</xsl:choose>

工作正常

我还有另一个条件。

<xsl:when test="not(contains(./title/content-style,'ORDER')) or not(contains(./title/content-style/text(),'PRACTICE DIRECTIONS')) or not(contains(./section[1]/title,'ORDER')) or not(contains(./section[1]/title,'PRACTICE DIRECTIONS'))">

这里不应该让条件(或光标)进入内部选择条件,因为有not(contains(./title/content-style/text(),'PRACTICE DIRECTIONS'))作为条件之一。

但在我的情况下,光标移动到内部选择。我哪里错了?

1 个答案:

答案 0 :(得分:1)

使用AND代替OR,您可能会得到您之后的结果。