- From: Sam Sneddon <notifications@github.com>
- Date: Wed, 29 May 2019 13:38:28 +0000 (UTC)
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/dom/pull/763/review/243257873@github.com>
gsnedders commented on this pull request.
> + XPathResult evaluate(Node contextNode,
+ optional unsigned short type,
+ optional XPathResult? result);
+};
+</pre>
+
+<h3 id=mixin-xpathevaluatorbase>Mixin {{XPathEvaluatorBase}}</h3>
+
+<pre class=idl>
+callback interface XPathNSResolver {
+ DOMString? lookupNamespaceURI(DOMString? prefix);
+};
+
+interface mixin XPathEvaluatorBase {
+ [NewObject] XPathExpression createExpression(DOMString expression,
+ optional XPathNSResolver? resolver);
```suggestion
optional XPathNSResolver? resolver = null);
```
> + readonly attribute Node? singleNodeValue;
+ readonly attribute boolean invalidIteratorState;
+ readonly attribute unsigned long snapshotLength;
+
+ Node? iterateNext();
+ Node? snapshotItem(unsigned long index);
+};
+</pre>
+
+<h3 id=interface-xpathexpression>Interface {{XPathExpression}}</h3>
+
+<pre class=idl>
+[Exposed=Window]
+interface XPathExpression {
+ XPathResult evaluate(Node contextNode,
+ optional unsigned short type,
```suggestion
optional unsigned short type = 0 /* ANY_TYPE */,
```
> + readonly attribute boolean invalidIteratorState;
+ readonly attribute unsigned long snapshotLength;
+
+ Node? iterateNext();
+ Node? snapshotItem(unsigned long index);
+};
+</pre>
+
+<h3 id=interface-xpathexpression>Interface {{XPathExpression}}</h3>
+
+<pre class=idl>
+[Exposed=Window]
+interface XPathExpression {
+ XPathResult evaluate(Node contextNode,
+ optional unsigned short type,
+ optional XPathResult? result);
```suggestion
optional XPathResult? result = null);
```
> +</pre>
+
+<h3 id=mixin-xpathevaluatorbase>Mixin {{XPathEvaluatorBase}}</h3>
+
+<pre class=idl>
+callback interface XPathNSResolver {
+ DOMString? lookupNamespaceURI(DOMString? prefix);
+};
+
+interface mixin XPathEvaluatorBase {
+ [NewObject] XPathExpression createExpression(DOMString expression,
+ optional XPathNSResolver? resolver);
+ XPathNSResolver createNSResolver(Node nodeResolver);
+ XPathResult evaluate(DOMString expression,
+ Node contextNode,
+ optional XPathNSResolver? resolver,
```suggestion
optional XPathNSResolver? resolver = null,
```
> +
+<h3 id=mixin-xpathevaluatorbase>Mixin {{XPathEvaluatorBase}}</h3>
+
+<pre class=idl>
+callback interface XPathNSResolver {
+ DOMString? lookupNamespaceURI(DOMString? prefix);
+};
+
+interface mixin XPathEvaluatorBase {
+ [NewObject] XPathExpression createExpression(DOMString expression,
+ optional XPathNSResolver? resolver);
+ XPathNSResolver createNSResolver(Node nodeResolver);
+ XPathResult evaluate(DOMString expression,
+ Node contextNode,
+ optional XPathNSResolver? resolver,
+ optional unsigned short type,
```suggestion
optional unsigned short type = 0 /* ANY_TYPE */,
```
> +<h3 id=mixin-xpathevaluatorbase>Mixin {{XPathEvaluatorBase}}</h3>
+
+<pre class=idl>
+callback interface XPathNSResolver {
+ DOMString? lookupNamespaceURI(DOMString? prefix);
+};
+
+interface mixin XPathEvaluatorBase {
+ [NewObject] XPathExpression createExpression(DOMString expression,
+ optional XPathNSResolver? resolver);
+ XPathNSResolver createNSResolver(Node nodeResolver);
+ XPathResult evaluate(DOMString expression,
+ Node contextNode,
+ optional XPathNSResolver? resolver,
+ optional unsigned short type,
+ optional XPathResult? result);
```suggestion
optional XPathResult? result = null);
```
> @@ -9818,6 +9818,88 @@ the given value.
+<h2 id=xpath>XPath</h2>
+
+<cite>DOM Level 3 XPath</cite> defined an API for evaluating <cite>XPath 1.0</cite> expressions.
+[[DOM-Level-3-XPath]] [[XPath]] These APIs are widely implemented, but
+<cite>DOM Level 3 XPath</cite> is no longer maintained. The DOM Standard does not attempt to
+define any of the behavior, but the interface definitions are maintained here so that they can
+be updated when Web IDL changes. [[WEBIDL]]
There's more changes than just that, some of them simplify the API by making arguments optional.
Let's also add something, possibly just normative, saying:
* `XPathException` is gone (just use `DOMException`)
* The query is matched against the DOM, and therefore contrary to the XPath 1.0 data model the root element has a parent (the Document) and text nodes can be adjacent to one another. [wilful violation]
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/pull/763#pullrequestreview-243257873
Received on Wednesday, 29 May 2019 13:38:52 UTC