Description
These are currently left to DOM 3 XPath. However, that spec is (a) very old, and thus wrong in a lot of ways; (b) not very large. It could maybe be subsumed and thus give implementations an actual non-crazy reference.
XPathEvaluator.prototype.evaluate has ~0.7% usage and isn't going anywhere. XPathEvaluator.prototype.createNSResolver has ~0.04% and so is also likely here to stay. However XPathEvaluator.prototype.createExpression is at 0.001% and could probably be left out. Which is great because that means we can very likely kill XPathExpression.
Other features of the spec that don't seem to be implemented are XPathException and XPathNamespace.
According to a comment in Blink's source code, XPathEvaluator has a constructor in reality, even if not in the spec.
Credit to @sideshowbarker for bringing this up.