xml-eval - 基于 beetl 的评级引擎


BSD
跨平台
Java

软件简介

一个使用 xml 和 beetl 来实现的计算引擎(评级引擎),支持树形评级结构,通过计算得出一个评级,可以用于打分等应用。

<?xml version="1.0" encoding="UTF-8"?>
<workspace name="评级">
    <project name="银行评级">
        <doc name="评级得分" f="sum">
            <node name="财务信息" f="sum">
                <node name="年度利润">每月收入*12</node>
                <node name="年度负债" >每月负债*12*0.3</node>
            </node>         
        </doc>
    </project>
</workspace>


<node name="非财务信息" f="sum">
            <node name="上访次数" f="script">
                <![CDATA[
                    var c =上访次数;
                    var d = 0;
                    if(c>10){
                        d=10;
                    }else{
                        d=100;
                    }
                    return d ;
        ]]>
    
    </node>
</node>


    EvalEngine engine = new EvalEngine();
    Map<String,Object> paras = new HashMap<String,Object>();
    paras.put("每月收入", 178832323.12);
    paras.put("每月负债", 128.99);
    InputStream ins = EvalEngineTest.class.getResourceAsStream("/sample/simple001.xml");
    InputStreamReader reader = new InputStreamReader(ins,"utf8");
    Object ret = engine.run(reader, paras);
    System.out.println(ret);