JavaScript DSL for building complex XPath expressions