Ana içeriğe geç

Parse

Girdiyi ayrıştırır ve karar tablosunu yürütmek için kullanılabilecek bir işlev döndürür.

1
$Decisions.Parse(input: ( string | Xml )):(input: any) => any

Parametreler

( string | Xml ) girdi
    Bir XML düğüm örneği veya karar tablosu XML dizesi.

Döndürür

Verileri karar tablosuna göre değerlendirmek için kullanılabilecek bir işlev.

Notlar

Ayrıştırma yalnızca bir XML dizesini veya Xmldeğerini kabul eder. Döndürülen işlev çağrıldığında bir nesne, XML düğümü veya girdi olmaması kabul edilir. null Karar çıktısı JavaScript'e eşlenir undefined; kimlikler, tarihler, diziler ve skaler değerler, komut dizilerindeki karşılıklarına dönüştürülür.

Örnek karar tablosu XML'si

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  <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>

Karar tablosu XML'sini ayrıştırma

1
2
var decisionTableNode = $Xml.SelectSingle('MyDecisionTable');
var fn = $Decisions.Parse(decisionTableNode);

Değerlendirme için JSON sağlama

1
2
3
4
var result = fn({
    CustomerCategory: "Business",
    OrderSize: 10
});

Değerlendirme için XML düğümü nesnesi sağlama

1
2
var dataNode = $Xml.SelectSingle('MyDataInputs');
var result = fn(dataNode);

Ayrıca bkz.