using uCalcSoftware; var uc = new uCalc(); var FruitsXML = """ """; var t = new uCalc.Transformer(); t.Text = FruitsXML; var fruitsTagRule = t.Pattern(""); var fruitRule = t.Pattern("CommonName={@string:name}"); Console.WriteLine("--- Using Minimum (Rule-Level Invalidation) ---"); fruitRule.Minimum = 4; // Rule fails if fewer than 4 fruits are found. t.Find(); Console.WriteLine($"Match count when fruit rule fails: {t.Matches.Count()}"); Console.WriteLine("Matches found:"); foreach(var m in t.Matches) { Console.WriteLine($" {m.Text}"); }; Console.WriteLine(""); Console.WriteLine("--- Using GlobalMinimum (Transformer-Level Invalidation) ---"); fruitRule.Minimum = 0; // Reset local minimum fruitRule.GlobalMinimum = 4; // Transformer fails if fewer than 4 fruits are found. t.Find(); Console.WriteLine($"Match count when global rule fails: {t.Matches.Count()}"); Console.WriteLine("Matches found:"); foreach(var m in t.Matches) { Console.WriteLine($" {m.Text}"); };