我们目前正在开发一个.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