2017-10-01 10 views
0

プログラムの外部入力として使用できる一連のルールでXMLファイルを作成したいとします。私のプログラムはそのXMLを解析し、そのルールセットをコードに変換します。XML形式で設定されたルール

XML形式は、単純なif文に変換できるものでなければなりません。例えば

、私はこのようなものがある場合:私はC#このように変換されます

<rule variable='email' value='[email protected]'> 
    <or> 
     <and> 
      <condition name=x operator='!=' value=1> 
      <condition name=y operator='>' value=5> 
     </and> 
     <condition name=z operator='=' value='abc'> 
    </or> 
</rule> 

if ((x != 1) && (y > 5)) || (z = 'abc')) 
    email = '[email protected]'; 

を私はXML構造のこの種は、どこかにそこにあるかなり確信しています、それを見つけることができませんでした。

私はXML形式を探しています。それで、検証とC#コード用のXSDを作成できます。このコンポーネントの1つまたは複数をどこかで実行することがわかっていると、それは素晴らしいものになります。

+0

['System.CodeDom'](https://msdn.microsoft.com/en-us/library/mt481474(v=vs.110))のツールを使用して何かできます。 aspx)名前空間。これは 'xsd.exe'がコード生成を行うために使用するものです。既存の質問については、タグ[tag:codedom]を参照してください。 [CodeDOMまたはLinqExpression Dynamicllyで条件ブロックを生成する方法は?](https://stackoverflow.com/q/3388610) – dbc

答えて

0

RuleMLを参照してください:

RuleML(もルールのモデリング 言語となっているルールマークアップ言語は、)(スキーマ言語によって、一部には、指定したWebルール のための言語の家族の統一システムであります通常Relax NG)で、XML用に最初に開発されたWeb文書およびデータ用で、後でJSONなどの他の形式に変換されます。

関連する問題