Text this: Efficient Algorithms to Index, Store and Query XML Documents