Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
Dim FruitsXML =
"
"
uc.DefineVariable("x")
Dim t = uc.NewTransformer()
Dim FruitsTag = t.FromTo("", "List of fruits")
Dim Fruit = t.FromTo("CommonName={@string:name}", "{@Eval: x++}. {name}")
uc.Eval("x = 1")
Fruit.Maximum = 10
t.Filter(FruitsXML)
Console.WriteLine($"Maximum = {Fruit.Maximum}")
Console.WriteLine($"Matches count: {t.Matches.Count()}") '// 1 for FruitsTag occurrence
Console.WriteLine("")
Console.WriteLine(t.Matches)
Console.WriteLine("")
Console.WriteLine("===============")
uc.Eval("x = 1")
Fruit.Maximum = 20
t.Filter(FruitsXML)
Console.WriteLine($"Maximum = {Fruit.Maximum}")
Console.WriteLine($"Matches count: {t.Matches.Count()}") '// 1 for FruitsTag plus 12 fruits
Console.WriteLine("")
Console.WriteLine(t.Matches)
Console.WriteLine("")
Console.WriteLine("===============")
uc.Eval("x = 1")
Fruit.GlobalMaximum = 10 '// Notice "List of fruits" will not show
t.Filter(FruitsXML)
Console.WriteLine($"MaximumAND = {Fruit.GlobalMaximum}")
Console.WriteLine($"Matches count: {t.Matches.Count()}") '// Even FruitsTage won't be counted
Console.WriteLine("")
Console.WriteLine(t.Matches)
Console.WriteLine("===============")
uc.Eval("x = 1")
Fruit.GlobalMaximum = 20
t.Filter(FruitsXML)
Console.WriteLine($"MaximumAND = {Fruit.GlobalMaximum}")
Console.WriteLine($"Matches count: {t.Matches.Count()}")
Console.WriteLine("")
Console.WriteLine(t.Matches)
End Sub
End Module