Ejemplo n.º 1
0
 private Selector(string query, Element root)
 {
     Validate.NotNull(query);
     query = query.Trim();
     Validate.NotEmpty(query);
     Validate.NotNull(root);
     this.evaluator = QueryParser.Parse(query);
     this.root = root;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Build a list of elements,
 /// by visiting root and every descendant of root, and testing it against the evaluator.
 /// </summary>
 /// <param name="eval">Evaluator to test elements against</param>
 /// <param name="root">root of tree to descend</param>
 /// <returns>list of matches; empty if none</returns>
 public static Elements Collect(Evaluator eval, Element root)
 {
     Elements elements = new Elements();
     new NodeTraversor(new Collector.Accumulator(root, elements, eval)).Traverse(root);
     return elements;
 }
Ejemplo n.º 3
0
 internal Accumulator(Element root, Elements elements, Evaluator eval)
 {
     this.root = root;
     this.elements = elements;
     this.eval = eval;
 }
Ejemplo n.º 4
0
 public Parent(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 5
0
 public ImmediateParent(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 6
0
 public ImmediatePreviousSibling(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 7
0
 public Not(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 8
0
 public PreviousSibling(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 9
0
 public ImmediatePreviousSibling(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 10
0
 public ImmediateParent(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 11
0
 internal Accumulator(Element root, Elements elements, Evaluator eval)
 {
     this.root     = root;
     this.elements = elements;
     this.eval     = eval;
 }
Ejemplo n.º 12
0
 public Parent(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 13
0
 public Not(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 14
0
 public Has(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 15
0
 internal void ReplaceRightMostEvaluator(Evaluator replacement)
 {
     evaluators[num - 1] = replacement;
 }
Ejemplo n.º 16
0
 public Has(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }
Ejemplo n.º 17
0
 public void Add(Evaluator e)
 {
     evaluators.Add(e);
     UpdateNumEvaluators();
 }
Ejemplo n.º 18
0
 public PreviousSibling(Evaluator evaluator)
 {
     this.evaluator = evaluator;
 }