1

プログラム入力として単純な条件を表現する必要があります。入力は人間が判読できるものでなければなりません。

XML はこれに適していますか?

たとえば、次の条件ステートメントがあります。

If AnimalType = Leopard And (SourceCountry = Kenya Or TargetCountry = Kenya) Then
    ZooKeeper=Jack
Else
    ZooKeeper=Jill
End If

上記を XML で表現すると、次のようになります。

<If>                
    <Conditional>           
        <And>       
            <AnimalType>Leopard<AnimalType> 
            <Or>    
                <SourceCountry>Kenya</SourceCountry>
                <TargetCountry>Kenya</TargetCountry>
            </Or>   
        </And>      
    </Conditional>  
    <True>  
        <ZooKeeper>Jack</ZooKeeper>
    </True> 
    <False> 
        <ZooKeeper>Jill</ZooKeeper>
    <False> 
</If>   

XML で条件文を表現する最善の方法についてのアイデアはありますか?

属性の使用についてはまだ調べていません。現在、ネストされた 'If' ステートメントや 'Else If' 句は必要ありませんが、とにかくそれらを試して作業するつもりです。

この場合、おそらく VB コードは XML よりも「読みやすい」ため、代わりにカスタム フラット ファイル形式を作成する必要があります。

4

4 に答える 4

2

これについては XML に問題はありませんが、LISP スタイルのリストのような軽い構文を使用すると、オーバーヘッドをいくらか節約できます。

(if
    (and
         (AnimalType Leopard)
         (or
             (SourceCountry Kenya)
             (TargetCountry Kenya)
         )
     )
     (ZooKeeper Jack)
     (ZooKeeper Jill)
 )

条件、true、false を明示的に宣言する代わりに、if 内の項目の順序付けを使用できます。基本的な要件は、適切な構文ツリーが保持されていることです。

于 2009-01-20T00:55:33.937 に答える
1

RuleMLについて聞いたり見たりしたことがあるでしょうか。

これはあなたが探しているもののようです。私が C# で使用した .NET 用の RuleML を使用するオープン ソースのルール エンジンがあります: NxBRE

NxBRE には、他の人がルールを簡単に理解できるようにする Visio ステンシルもあります。彼らはまた、人間が読めるフォーマットを試しましたが、それがまだ進行中かどうかはわかりません.

于 2009-01-20T01:49:41.003 に答える
0

この場合 XML は便利で、VB はかなり「人間が読める」ので、次のようなものを使用すると思います。

    <Conditional>
        If AnimalType = Leopard And (SourceCountry = Kenya Or TargetCountry = Kenya) Then
            ZooKeeper=Jack
        Else
            ZooKeeper=Jill
        End If
    </Conditional>
于 2009-01-20T17:04:45.167 に答える
0

あなたはそれを人間が判読できるようにしたいと言いましたが、ほとんど理解できない XML の例を提示しました。ここで XML が何を買っているのか、私にはわかりません。真に人間が読める言語の単純なパーサーは、おそらく時間の有効な投資になるでしょう。

于 2009-01-20T01:45:56.253 に答える