xml - 如何有效地在 XML 中建模逻辑/ bool 表达式?

标签 xml boolean-logic

这里是一些 xml 建模练习。

假设我们有一些逻辑表达式: (x & y) | (p & q)

无论出于何种原因,它都需要用 XML 表示。

这是一个快速的尝试,但我认为这很笨拙:

 <expr>
    <or>
        <and>
            <e>x</e>
            <e>y</e>
        </and>
        <and>
            <e>p</e>
            <e>q</e>
        </and>
    </or>
 </expr>

另一个刺,我闻起来不对:

<expr>
    <or>
        <and l="x" r="y"/>
        <and l="p" r="q"/>
    </or>
</expr>

你会怎么做?

最佳答案

Armatus 的回答对我来说不错。我认为左右元素是多余的。有一个逻辑表达式,无论我是从左向右还是从右向左评估它们都没有关系。

 <expr type="or">
    <expr type="and">
        <sig>x</sig>
        <sig>y</sig>
    </expr>
    <expr type="and">
        <sig>p</sig>
        <sig>q</sig>
    </expr>
</expr>

例如: (x & y) | (p & q)(q & p) | 相同(y & x)

此外,还可以添加两个以上的信号。

关于xml - 如何有效地在 XML 中建模逻辑/ bool 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10049677/

相关文章:

c# - 仅当子元素具有特定数量的元素时才选择父元素

javascript - 在位掩码中设置位的正确方法是什么?

c - 多条件同时测试(C语言)

user-interface - 如何在Web窗体GUI中实现用户友好的 bool 逻辑?

python - 如何测试多个变量与单个值的相等性?

java - 共享元素转换后如何使用动画

xml - 如何抑制过于冗长的 xpath 输出?

boolean-logic - 现实生活中的异或情况?

php - 使用 PHP 从包含 &lt;![CDATA[]]> 的 rss 中提取数据

xml - 如何使用 go-libxml2 更新特定 XML 元素值