/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/**
 * Corresponds to http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020208
 */

#include "domstubs.idl"

interface nsIDOMXPathNSResolver;
interface XPathException;

[uuid(89a0fe71-c1d9-46bd-b76b-47f51fd935ff)]
interface nsIDOMXPathEvaluator : nsISupports
{
  nsIDOMXPathNSResolver    createNSResolver(in nsIDOMNode nodeResolver);
  nsISupports              evaluate(in DOMString expression, 
                                    in nsIDOMNode contextNode, 
                                    in nsIDOMXPathNSResolver resolver, 
                                    in unsigned short type, 
                                    in nsISupports result)
                                      raises(XPathException,
                                             DOMException);
};
