3

ここで 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>

あなたならどうしますか?

4

4 に答える 4

5

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)

さらに、2 つ以上の信号を追加することもできます。

于 2014-02-10T10:07:09.033 に答える
4

これはどう?

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

<expr:xor><l>x</l><r>y</r></expr>とを追加することもでき<expr:not>x</expr>ます。

于 2012-04-06T22:11:25.910 に答える
1

あなたの最初の「クイックスタブ」は、あまり価値がない外側の「expr」要素を除いて、私には完全に合理的に見えます。

于 2012-04-06T22:36:55.540 に答える