我們目前正在開發一個.NET項目,它涉及根據一組用戶定義的規則分析XML文檔。這裏有一個例子:基本規則引擎體系結構
<Person>
<Name>Bob</Name>
<Cars>
<Car Type="SUV" Color="Black"/>
<Car Type="Sports" Color="Red"/>
<Cars/>
</Person>
EG規則:如果 人的名字=「鮑勃」,有2輛車,然後... 如果人有至少得有一個SUV和至少一個跑車,然後...
我們將構建一個「規則構建器」嚮導,引導用戶完成創建規則的過程。除此之外,其他複雜因素之一是XML文檔的模式將取決於客戶需求,所以我們需要一種快速適應新模式的方法。任何人都可以提供一些洞察什麼底層技術可以最好地完成這個?以下是我們認爲有兩件事情:
- 動態的LINQ to XML
- 碎紙XML到SQL表和生成動態SQL語句
- 創建某種類型的自定義DSL的(鐵的Python,噓,等)
最大的擔憂是能夠實時執行規則,速度和編寫規則的簡單/靈活性。
想法?
爲什麼不在XSD模式中定義這些規則? – 2010-09-01 23:59:10