code: function AjaxsltEngine() {
  // private
      var ignoreAttributesWithoutValue = false;
  
      function selectLogic(xpath, contextNode, namespaceResolver, firstMatch) {
          // DGF set xpathdebug = true (using getEval, if you like) to turn on JS
          // XPath debugging
          //xpathdebug = true;
          var context;
  
          if (contextNode == this.doc) {
              context = new ExprContext(this.doc);
          }
          else {
              // provide false values to get the default constructor values
              context = new ExprContext(contextNode, false, false,
                  contextNode.parentNode);
          }
  
          context.setCaseInsensitive(true);
          context.setIgnoreAttributesWithoutValue(ignoreAttributesWithoutValue);
          context.setReturnOnFirstMatch(firstMatch);
  
          try {
              var xpathObj = xpathParse(xpath);
          }
          catch (e) {
              var msg = extractExceptionMessage(e);
              throw new SeleniumError("Invalid xpath [3]: " + msg);
          }
  
          var nodes = []
          var xpathResult = xpathObj.evaluate(context);
  
          if (xpathResult && xpathResult.value) {
              for (var i = 0; i < xpathResult.value.length; ++i) {
                  nodes.push(xpathResult.value[i]);
              }
          }
  
          return nodes;
      }
  
  // public
      // Override
      this.isAvailable = function() { return true; };
  
      // Override
      this.selectNodes = function(xpath, contextNode, namespaceResolver) {
          return selectLogic(xpath, contextNode, namespaceResolver, false);
      };
  
      // Override
      this.selectSingleNode = function(xpath, contextNode, namespaceResolver) {
          var nodes = selectLogic(xpath, contextNode, namespaceResolver, true);
          return (nodes.length > 0 ? nodes[0] : null);
      };
  
      // Override
      this.setIgnoreAttributesWithoutValue = function(ignore) {
          ignoreAttributesWithoutValue = ignore;
          return this;
      };
  }
docs: Implements XPathEngine.