let rec token = lexer
| [' ' '\t'] -> token lexbuf
| "text()" | "node()" | "and" | "not" | "or"
+ | "contains" | "contains_full"
| "self" | "descendant" | "child" | "descendant-or-self"
| "attribute" | "following-sibling" | "preceding-sibling"
| "parent" | "ancestor" | "ancestor-or-self" | "preceding" | "following"