$Decisions.Parse
Overview
Parses the input and returns a function that can be used to execute the decision table.
DecisionTable $Decisions.Parse(input: ( string |
Xml
))
Arguments
( string | Xml ) input
Xml node instance or decision table xml string
Example
Sample decision table xml
<MyDecisionTable HitPolicy="Any" Aggregation="">
<OutputLabel>Discount by Customer Category</OutputLabel>
<Inputs>
<Input>
<Label>Customer Category</Label>
<Expression TypeRef="string">Customer.Category</Expression>
<InputValues TypeRef="" />
</Input>
<Input>
<Label>Order Size</Label>
<Expression TypeRef="number">OrderSize</Expression>
<InputValues TypeRef="" />
</Input>
</Inputs>
<Outputs>
<Output TypeRef="number" Name="Discount">
<Label>Discount</Label>
<OutputValues />
<Default>0</Default>
</Output>
</Outputs>
<Rules>
<Rule>
<Description />
<Inputs>
<Input>"Business"</Input>
<Input><10</Input>
</Inputs>
<Outputs>
<Output>0.10</Output>
</Outputs>
</Rule>
<Rule>
<Description />
<Inputs>
<Input>"Business"</Input>
<Input>>=10</Input>
</Inputs>
<Outputs>
<Output>0.15</Output>
</Outputs>
</Rule>
<Rule>
<Description />
<Inputs>
<Input>"Private"</Input>
<Input />
</Inputs>
<Outputs>
<Output>0.05</Output>
</Outputs>
</Rule>
</Rules>
</MyDecisionTable>
Example
Parsing decision table xml
var decisionTableNode = $Xml.SelectSingle('MyDecisionTable');
var fn = $Decisions.Parse(decisionTableNode);
Example
Providing JSON to evaluate
var result = fn({
CustomerCategory: "Business",
OrderSize: 10
});
Example
Providing XML Node object to evaluate
Copyright © 2010 - 2023 Emakin. All rights reserved.