Dart API Referencedart:htmlXPathEvaluator

XPathEvaluator class

This interface is used to evaluate XPath expressions against a DOM node.
Inherits from: nsISupports Last changed in Gecko 1.7

Implemented by: @mozilla.org/dom/xpath-evaluator;1. To create an instance, use:

var domXPathEvaluator = Components.classes["@mozilla.org/dom/xpath-evaluator;1"]
                        .createInstance(Components.interfaces.nsIDOMXPathEvaluator);
@DocsEditable
@DomName('XPathEvaluator')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator
@deprecated // experimental
class XPathEvaluator native "XPathEvaluator" {

 @DomName('XPathEvaluator.XPathEvaluator')
 @DocsEditable
 factory XPathEvaluator() {
   return XPathEvaluator._create_1();
 }
 static XPathEvaluator _create_1() => JS('XPathEvaluator', 'new XPathEvaluator()');

 @DomName('XPathEvaluator.createExpression')
 @DocsEditable
 XPathExpression createExpression(String expression, XPathNSResolver resolver) native;

 @DomName('XPathEvaluator.createNSResolver')
 @DocsEditable
 XPathNSResolver createNSResolver(Node nodeResolver) native;

 @DomName('XPathEvaluator.evaluate')
 @DocsEditable
 XPathResult evaluate(String expression, Node contextNode, XPathNSResolver resolver, int type, XPathResult inResult) native;
}

Extends

Interceptor > XPathEvaluator

Constructors

factory XPathEvaluator() #

@DomName('XPathEvaluator.XPathEvaluator')
@DocsEditable
factory XPathEvaluator() {
 return XPathEvaluator._create_1();
}

Properties

final int hashCode #

inherited from Interceptor

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

docs inherited from Object
int get hashCode => Primitives.objectHashCode(this);

final Type runtimeType #

inherited from Interceptor

A representation of the runtime type of the object.

docs inherited from Object
Type get runtimeType => getRuntimeType(this);

Operators

bool operator ==(other) #

inherited from Interceptor

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

docs inherited from Object
bool operator ==(other) => identical(this, other);

Methods

XPathExpression createExpression(String expression, XPathNSResolver resolver) #

Creates an nsIDOMXPathExpression which can then be used for (repeated) evaluations.

Gecko 1.9 note
(Firefox 3)

Prior to Gecko 1.9, you could call this method on documents other than the one you planned to run the XPath against; starting with Gecko 1.9, however, you must call it on the same document.

Parameters
expression
A string representing the XPath to be created.
resolver
A name space resolver created by , or a user defined name space resolver. Read more on Implementing a User Defined Namespace Resolver if you wish to take the latter approach.
Return value

An XPath expression, as an nsIDOMXPathExpression object.

@DomName('XPathEvaluator.createExpression')
@DocsEditable
XPathExpression createExpression(String expression, XPathNSResolver resolver) native;

XPathNSResolver createNSResolver(Node nodeResolver) #

Creates an nsIDOMXPathExpression which resolves name spaces with respect to the definitions in scope for a specified node. It is used to resolve prefixes within the XPath itself, so that they can be matched with the document. null is common for HTML documents or when no name space prefixes are used.

Parameters
nodeResolver
The node to be used as a context for name space resolution.
Return value

A name space resolver.

@DomName('XPathEvaluator.createNSResolver')
@DocsEditable
XPathNSResolver createNSResolver(Node nodeResolver) native;

XPathResult evaluate(String expression, Node contextNode, XPathNSResolver resolver, int type, XPathResult inResult) #

Evaluate the specified XPath expression.

Parameters
expression
A string representing the XPath to be evaluated.
contextNode
A DOM Node to evaluate the XPath expression against. To evaluate against a whole document, use the document.documentElement .
resolver
A name space resolver created by , or a user defined name space resolver. Read more on Implementing a User Defined Namespace Resolver if you wish to take the latter approach.
type
A number that corresponds to one of the type constants of nsIXPathResult .
result
An existing nsIXPathResult to use for the result. Using null will create a new nsIXPathResult .
Return value

An XPath result.

@DomName('XPathEvaluator.evaluate')
@DocsEditable
XPathResult evaluate(String expression, Node contextNode, XPathNSResolver resolver, int type, XPathResult inResult) native;

dynamic noSuchMethod(Invocation invocation) #

inherited from Interceptor

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod in an Invocation. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

docs inherited from Object
dynamic noSuchMethod(Invocation invocation) {
 throw new NoSuchMethodError(
     this,
     _symbolToString(invocation.memberName),
     invocation.positionalArguments,
     _symbolMapToStringMap(invocation.namedArguments));
}

String toString() #

inherited from Interceptor

Returns a string representation of this object.

docs inherited from Object
String toString() => Primitives.objectToString(this);

This page includes content from the Mozilla Foundation that is graciously licensed under a Creative Commons: Attribution-Sharealike license. Mozilla has no other association with Dart or dartlang.org. We encourage you to improve the web by contributing to The Mozilla Developer Network.