| Tag (t,k) -> element_by_tag tree t k
| Axis (a,q1) -> let v = eval_qtree tree start q1 in
eval_axis tree v a
| Binop (op,q1,q2)-> begin
let v1 = eval_qtree tree start q1 in
let v2 = eval_qtree tree start q2 in
| Tag (t,k) -> element_by_tag tree t k
| Axis (a,q1) -> let v = eval_qtree tree start q1 in
eval_axis tree v a
| Binop (op,q1,q2)-> begin
let v1 = eval_qtree tree start q1 in
let v2 = eval_qtree tree start q2 in