<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gsnedders</id>
	<title>WHATWG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gsnedders"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/wiki/Special:Contributions/Gsnedders"/>
	<updated>2026-05-06T12:19:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10293</id>
		<title>DOM XPath</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10293"/>
		<updated>2019-05-29T12:58:44Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: delete trailing whitespace&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If someone ever decides to write down DOM XPath (i.e. a proper version of the [https://www.w3.org/TR/DOM-Level-3-XPath/xpath.html DOM3XPath note]), take this into account:&lt;br /&gt;
&lt;br /&gt;
* Integrate the XPath part of the section [https://html.spec.whatwg.org/multipage/infrastructure.html#interactions-with-xpath-and-xslt with XPath and XSLT] from HTML.&lt;br /&gt;
* Make it clear that contrary to [https://www.w3.org/TR/1999/REC-xpath-19991116/ XPath 1.0] multiple Text nodes can indeed be returned, even if they are siblings. The DOM is not the XML InfoSet. (As is the case in WebKit and Gecko today.)&lt;br /&gt;
* Make it clear that contrary to [https://www.w3.org/TR/1999/REC-xpath-19991116/ XPath 1.0] the root of the tree is the Document (and not the root element). This means you can return the parent of the root element (can you get all types of siblings? comments, PIs, doctypes? probably, but untested).&lt;br /&gt;
* Simplifications: https://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0310.html&lt;br /&gt;
* Exceptions: https://bugzilla.mozilla.org/show_bug.cgi?id=743888&lt;br /&gt;
&lt;br /&gt;
== WebIDL interfaces ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;idl&amp;quot;&amp;gt;&lt;br /&gt;
[Exposed=Window]&lt;br /&gt;
interface XPathResult {&lt;br /&gt;
  const unsigned short      ANY_TYPE                       = 0;&lt;br /&gt;
  const unsigned short      NUMBER_TYPE                    = 1;&lt;br /&gt;
  const unsigned short      STRING_TYPE                    = 2;&lt;br /&gt;
  const unsigned short      BOOLEAN_TYPE                   = 3;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_ITERATOR_TYPE   = 4;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_ITERATOR_TYPE     = 5;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_SNAPSHOT_TYPE   = 6;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_SNAPSHOT_TYPE     = 7;&lt;br /&gt;
  const unsigned short      ANY_UNORDERED_NODE_TYPE        = 8;&lt;br /&gt;
  const unsigned short      FIRST_ORDERED_NODE_TYPE        = 9;&lt;br /&gt;
&lt;br /&gt;
  readonly attribute unsigned short resultType;&lt;br /&gt;
  readonly attribute unrestricted double numberValue;&lt;br /&gt;
  // Maybe &amp;quot;DOMString?&amp;quot;.&lt;br /&gt;
  readonly attribute DOMString stringValue;&lt;br /&gt;
  readonly attribute boolean booleanValue;&lt;br /&gt;
  readonly attribute Node? singleNodeValue;&lt;br /&gt;
  readonly attribute boolean          invalidIteratorState;&lt;br /&gt;
  readonly attribute unsigned long    snapshotLength;&lt;br /&gt;
  Node?               iterateNext();&lt;br /&gt;
  Node?               snapshotItem(unsigned long index);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Exposed=Window]&lt;br /&gt;
interface XPathExpression {&lt;br /&gt;
  XPathResult evaluate(Node contextNode,&lt;br /&gt;
                       optional unsigned short type,&lt;br /&gt;
                       optional XPathResult? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
callback interface XPathNSResolver {&lt;br /&gt;
  DOMString? lookupNamespaceURI(DOMString? prefix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
interface mixin XPathEvaluatorBase {&lt;br /&gt;
  [NewObject] XPathExpression createExpression(DOMString expression,&lt;br /&gt;
                                               optional XPathNSResolver? resolver);&lt;br /&gt;
  XPathNSResolver    createNSResolver(Node nodeResolver);&lt;br /&gt;
  XPathResult        evaluate(DOMString expression,&lt;br /&gt;
                              Node contextNode,&lt;br /&gt;
                              optional XPathNSResolver? resolver,&lt;br /&gt;
                              optional unsigned short type,&lt;br /&gt;
                              optional XPathResult? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Exposed=Window, Constructor]&lt;br /&gt;
interface XPathEvaluator {};&lt;br /&gt;
&lt;br /&gt;
XPathEvaluator includes XPathEvaluatorBase;&lt;br /&gt;
Document includes XPathEvaluatorBase;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indeed, you can both construct this object and access its methods on Document. Isn&#039;t the world wonderful?&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec coordination]]&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10291</id>
		<title>DOM XPath</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10291"/>
		<updated>2019-05-29T11:49:27Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: update links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If someone ever decides to write down DOM XPath (i.e. a proper version of the [https://www.w3.org/TR/DOM-Level-3-XPath/xpath.html DOM3XPath note]), take this into account:&lt;br /&gt;
&lt;br /&gt;
* Integrate the XPath part of the section [https://html.spec.whatwg.org/multipage/infrastructure.html#interactions-with-xpath-and-xslt with XPath and XSLT] from HTML.&lt;br /&gt;
* Make it clear that contrary to [https://www.w3.org/TR/1999/REC-xpath-19991116/ XPath 1.0] multiple Text nodes can indeed be returned, even if they are siblings. The DOM is not the XML InfoSet. (As is the case in WebKit and Gecko today.)&lt;br /&gt;
* Make it clear that contrary to [https://www.w3.org/TR/1999/REC-xpath-19991116/ XPath 1.0] the root of the tree is the Document (and not the root element). This means you can return the parent of the root element (can you get all types of siblings? comments, PIs, doctypes? probably, but untested).&lt;br /&gt;
* Simplifications: https://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0310.html&lt;br /&gt;
* Exceptions: https://bugzilla.mozilla.org/show_bug.cgi?id=743888&lt;br /&gt;
&lt;br /&gt;
== WebIDL interfaces ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;idl&amp;quot;&amp;gt;&lt;br /&gt;
[Exposed=Window]&lt;br /&gt;
interface XPathResult {&lt;br /&gt;
  const unsigned short      ANY_TYPE                       = 0;&lt;br /&gt;
  const unsigned short      NUMBER_TYPE                    = 1;&lt;br /&gt;
  const unsigned short      STRING_TYPE                    = 2;&lt;br /&gt;
  const unsigned short      BOOLEAN_TYPE                   = 3;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_ITERATOR_TYPE   = 4;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_ITERATOR_TYPE     = 5;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_SNAPSHOT_TYPE   = 6;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_SNAPSHOT_TYPE     = 7;&lt;br /&gt;
  const unsigned short      ANY_UNORDERED_NODE_TYPE        = 8;&lt;br /&gt;
  const unsigned short      FIRST_ORDERED_NODE_TYPE        = 9;&lt;br /&gt;
&lt;br /&gt;
  readonly attribute unsigned short resultType;&lt;br /&gt;
  readonly attribute unrestricted double numberValue;&lt;br /&gt;
  // Maybe &amp;quot;DOMString?&amp;quot;.&lt;br /&gt;
  readonly attribute DOMString stringValue;&lt;br /&gt;
  readonly attribute boolean booleanValue;&lt;br /&gt;
  readonly attribute Node? singleNodeValue;&lt;br /&gt;
  readonly attribute boolean          invalidIteratorState;&lt;br /&gt;
  readonly attribute unsigned long    snapshotLength;&lt;br /&gt;
  Node?               iterateNext();&lt;br /&gt;
  Node?               snapshotItem(unsigned long index);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Exposed=Window]&lt;br /&gt;
interface XPathExpression {&lt;br /&gt;
  XPathResult evaluate(Node contextNode,&lt;br /&gt;
                       optional unsigned short type,&lt;br /&gt;
                       optional XPathResult? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
callback interface XPathNSResolver {&lt;br /&gt;
  DOMString? lookupNamespaceURI(DOMString? prefix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
interface mixin XPathEvaluatorBase {&lt;br /&gt;
  XPathExpression    createExpression(DOMString expression, &lt;br /&gt;
                                      optional XPathNSResolver? resolver);&lt;br /&gt;
  XPathNSResolver    createNSResolver(Node nodeResolver);&lt;br /&gt;
  XPathResult        evaluate(DOMString expression, &lt;br /&gt;
                              Node contextNode, &lt;br /&gt;
                              optional XPathNSResolver? resolver, &lt;br /&gt;
                              optional unsigned short type, &lt;br /&gt;
                              optional XPathResult? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Exposed=Window, Constructor]&lt;br /&gt;
interface XPathEvaluator {};&lt;br /&gt;
&lt;br /&gt;
XPathEvaluator includes XPathEvaluatorBase;&lt;br /&gt;
Document includes XPathEvaluatorBase;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indeed, you can both construct this object and access its methods on Document. Isn&#039;t the world wonderful?&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec coordination]]&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10290</id>
		<title>DOM XPath</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10290"/>
		<updated>2019-05-29T11:48:14Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: Add link to XPath 1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If someone ever decides to write down DOM XPath (i.e. a proper version of the [http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html DOM3XPath note]), take this into account:&lt;br /&gt;
&lt;br /&gt;
* Integrate the XPath part of the section [http://www.whatwg.org/C#interactions-with-xpath-and-xslt Interactions with XPath and XSLT] from HTML.&lt;br /&gt;
* Make it clear that contrary to [https://www.w3.org/TR/1999/REC-xpath-19991116/ XPath 1.0] multiple Text nodes can indeed be returned, even if they are siblings. The DOM is not the XML InfoSet. (As is the case in WebKit and Gecko today.)&lt;br /&gt;
* Make it clear that contrary to [https://www.w3.org/TR/1999/REC-xpath-19991116/ XPath 1.0] the root of the tree is the Document (and not the root element). This means you can return the parent of the root element (can you get all types of siblings? comments, PIs, doctypes? probably, but untested).&lt;br /&gt;
* Simplifications: http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0310.html&lt;br /&gt;
* Exceptions: https://bugzilla.mozilla.org/show_bug.cgi?id=743888&lt;br /&gt;
&lt;br /&gt;
== WebIDL interfaces ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;idl&amp;quot;&amp;gt;&lt;br /&gt;
[Exposed=Window]&lt;br /&gt;
interface XPathResult {&lt;br /&gt;
  const unsigned short      ANY_TYPE                       = 0;&lt;br /&gt;
  const unsigned short      NUMBER_TYPE                    = 1;&lt;br /&gt;
  const unsigned short      STRING_TYPE                    = 2;&lt;br /&gt;
  const unsigned short      BOOLEAN_TYPE                   = 3;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_ITERATOR_TYPE   = 4;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_ITERATOR_TYPE     = 5;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_SNAPSHOT_TYPE   = 6;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_SNAPSHOT_TYPE     = 7;&lt;br /&gt;
  const unsigned short      ANY_UNORDERED_NODE_TYPE        = 8;&lt;br /&gt;
  const unsigned short      FIRST_ORDERED_NODE_TYPE        = 9;&lt;br /&gt;
&lt;br /&gt;
  readonly attribute unsigned short resultType;&lt;br /&gt;
  readonly attribute unrestricted double numberValue;&lt;br /&gt;
  // Maybe &amp;quot;DOMString?&amp;quot;.&lt;br /&gt;
  readonly attribute DOMString stringValue;&lt;br /&gt;
  readonly attribute boolean booleanValue;&lt;br /&gt;
  readonly attribute Node? singleNodeValue;&lt;br /&gt;
  readonly attribute boolean          invalidIteratorState;&lt;br /&gt;
  readonly attribute unsigned long    snapshotLength;&lt;br /&gt;
  Node?               iterateNext();&lt;br /&gt;
  Node?               snapshotItem(unsigned long index);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Exposed=Window]&lt;br /&gt;
interface XPathExpression {&lt;br /&gt;
  XPathResult evaluate(Node contextNode,&lt;br /&gt;
                       optional unsigned short type,&lt;br /&gt;
                       optional XPathResult? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
callback interface XPathNSResolver {&lt;br /&gt;
  DOMString? lookupNamespaceURI(DOMString? prefix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
interface mixin XPathEvaluatorBase {&lt;br /&gt;
  XPathExpression    createExpression(DOMString expression, &lt;br /&gt;
                                      optional XPathNSResolver? resolver);&lt;br /&gt;
  XPathNSResolver    createNSResolver(Node nodeResolver);&lt;br /&gt;
  XPathResult        evaluate(DOMString expression, &lt;br /&gt;
                              Node contextNode, &lt;br /&gt;
                              optional XPathNSResolver? resolver, &lt;br /&gt;
                              optional unsigned short type, &lt;br /&gt;
                              optional XPathResult? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Exposed=Window, Constructor]&lt;br /&gt;
interface XPathEvaluator {};&lt;br /&gt;
&lt;br /&gt;
XPathEvaluator includes XPathEvaluatorBase;&lt;br /&gt;
Document includes XPathEvaluatorBase;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indeed, you can both construct this object and access its methods on Document. Isn&#039;t the world wonderful?&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec coordination]]&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10268</id>
		<title>DOM XPath</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10268"/>
		<updated>2018-03-16T10:10:20Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If someone ever decides to write down DOM XPath (i.e. a proper version of the [http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html DOM3XPath note]), take this into account:&lt;br /&gt;
&lt;br /&gt;
* Integrate the XPath part of the section [http://www.whatwg.org/C#interactions-with-xpath-and-xslt Interactions with XPath and XSLT] from HTML.&lt;br /&gt;
* Make it clear that contrary to XPath 1.0 multiple Text nodes can indeed be returned, even if they are siblings. The DOM is not the XML InfoSet. (As is the case in WebKit and Gecko today.)&lt;br /&gt;
* Make it clear that contrary to XPath 1.0 the root of the tree is the Document (and not the root element). This means you can return the parent of the root element (can you get all types of siblings? comments, PIs, doctypes? probably, but untested).&lt;br /&gt;
* Simplifications: http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0310.html&lt;br /&gt;
* Exceptions: https://bugzilla.mozilla.org/show_bug.cgi?id=743888&lt;br /&gt;
&lt;br /&gt;
== WebIDL interfaces ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
interface XPathResult {&lt;br /&gt;
  const unsigned short      ANY_TYPE                       = 0;&lt;br /&gt;
  const unsigned short      NUMBER_TYPE                    = 1;&lt;br /&gt;
  const unsigned short      STRING_TYPE                    = 2;&lt;br /&gt;
  const unsigned short      BOOLEAN_TYPE                   = 3;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_ITERATOR_TYPE   = 4;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_ITERATOR_TYPE     = 5;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_SNAPSHOT_TYPE   = 6;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_SNAPSHOT_TYPE     = 7;&lt;br /&gt;
  const unsigned short      ANY_UNORDERED_NODE_TYPE        = 8;&lt;br /&gt;
  const unsigned short      FIRST_ORDERED_NODE_TYPE        = 9;&lt;br /&gt;
&lt;br /&gt;
  readonly attribute unsigned short resultType;&lt;br /&gt;
  readonly attribute unrestricted double numberValue;&lt;br /&gt;
  // Maybe &amp;quot;DOMString?&amp;quot;.&lt;br /&gt;
  readonly attribute DOMString stringValue;&lt;br /&gt;
  readonly attribute boolean booleanValue;&lt;br /&gt;
  readonly attribute Node singleNodeValue;&lt;br /&gt;
  readonly attribute boolean          invalidIteratorState;&lt;br /&gt;
  readonly attribute unsigned long    snapshotLength;&lt;br /&gt;
  Node?               iterateNext();&lt;br /&gt;
  Node?               snapshotItem(unsigned long index);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
interface XPathExpression {&lt;br /&gt;
  XPathResult evaluate(Node contextNode,&lt;br /&gt;
                       optional unsigned short type,&lt;br /&gt;
                       optional object? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
callback interface XPathNSResolver&lt;br /&gt;
{&lt;br /&gt;
  DOMString? lookupNamespaceURI(DOMString? prefix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Constructor]&lt;br /&gt;
interface XPathEvaluator {&lt;br /&gt;
  XPathExpression    createExpression(DOMString expression, &lt;br /&gt;
                                      optional XPathNSResolver? resolver);&lt;br /&gt;
  XPathNSResolver    createNSResolver(Node nodeResolver);&lt;br /&gt;
  XPathResult        evaluate(DOMString expression, &lt;br /&gt;
                              Node contextNode, &lt;br /&gt;
                              optional XPathNSResolver? resolver, &lt;br /&gt;
                              optional unsigned short type, &lt;br /&gt;
                              optional object? result);&lt;br /&gt;
};&lt;br /&gt;
Document implements XPathEvaluator;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indeed, you can both construct this object and access its methods on Document. Isn&#039;t the world wonderful?&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec coordination]]&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10154</id>
		<title>DOM XPath</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=DOM_XPath&amp;diff=10154"/>
		<updated>2017-02-15T16:17:09Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: Match Chrome in making loads of stuff optional, which seems better from an ergonomics point-of-view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If someone ever decides to write down DOM XPath (i.e. a proper version of the [http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html DOM3XPath note]), take this into account:&lt;br /&gt;
&lt;br /&gt;
* Integrate the XPath part of the section [http://www.whatwg.org/C#interactions-with-xpath-and-xslt Interactions with XPath and XSLT] from HTML.&lt;br /&gt;
* Make it clear that contrary to XPath 1.0 multiple Text nodes can indeed be returned, even if they are siblings. The DOM is not the XML InfoSet. (As is the case in WebKit and Gecko today.)&lt;br /&gt;
* Simplifications: http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0310.html&lt;br /&gt;
* Exceptions: https://bugzilla.mozilla.org/show_bug.cgi?id=743888&lt;br /&gt;
&lt;br /&gt;
== WebIDL interfaces ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
interface XPathResult {&lt;br /&gt;
  const unsigned short      ANY_TYPE                       = 0;&lt;br /&gt;
  const unsigned short      NUMBER_TYPE                    = 1;&lt;br /&gt;
  const unsigned short      STRING_TYPE                    = 2;&lt;br /&gt;
  const unsigned short      BOOLEAN_TYPE                   = 3;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_ITERATOR_TYPE   = 4;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_ITERATOR_TYPE     = 5;&lt;br /&gt;
  const unsigned short      UNORDERED_NODE_SNAPSHOT_TYPE   = 6;&lt;br /&gt;
  const unsigned short      ORDERED_NODE_SNAPSHOT_TYPE     = 7;&lt;br /&gt;
  const unsigned short      ANY_UNORDERED_NODE_TYPE        = 8;&lt;br /&gt;
  const unsigned short      FIRST_ORDERED_NODE_TYPE        = 9;&lt;br /&gt;
&lt;br /&gt;
  readonly attribute unsigned short resultType;&lt;br /&gt;
  readonly attribute unrestricted double numberValue;&lt;br /&gt;
  // Maybe &amp;quot;DOMString?&amp;quot;.&lt;br /&gt;
  readonly attribute DOMString stringValue;&lt;br /&gt;
  readonly attribute boolean booleanValue;&lt;br /&gt;
  readonly attribute Node singleNodeValue;&lt;br /&gt;
  readonly attribute boolean          invalidIteratorState;&lt;br /&gt;
  readonly attribute unsigned long    snapshotLength;&lt;br /&gt;
  Node?               iterateNext();&lt;br /&gt;
  Node?               snapshotItem(unsigned long index);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
interface XPathExpression {&lt;br /&gt;
  XPathResult evaluate(Node contextNode,&lt;br /&gt;
                       optional unsigned short type,&lt;br /&gt;
                       optional object? result);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
callback interface XPathNSResolver&lt;br /&gt;
{&lt;br /&gt;
  DOMString? lookupNamespaceURI(DOMString? prefix);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
[Constructor]&lt;br /&gt;
interface XPathEvaluator {&lt;br /&gt;
  XPathExpression    createExpression(DOMString expression, &lt;br /&gt;
                                      optional XPathNSResolver? resolver);&lt;br /&gt;
  XPathNSResolver    createNSResolver(Node nodeResolver);&lt;br /&gt;
  XPathResult        evaluate(DOMString expression, &lt;br /&gt;
                              Node contextNode, &lt;br /&gt;
                              optional XPathNSResolver? resolver, &lt;br /&gt;
                              optional unsigned short type, &lt;br /&gt;
                              optional object? result);&lt;br /&gt;
};&lt;br /&gt;
Document implements XPathEvaluator;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Indeed, you can both construct this object and access its methods on Document. Isn&#039;t the world wonderful?&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec coordination]]&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Parser_tests&amp;diff=9349</id>
		<title>Parser tests</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Parser_tests&amp;diff=9349"/>
		<updated>2013-10-24T16:56:11Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: The documentation now lives in the repo, so this can die.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/html5lib/html5lib-tests html5lib-tests] is a suite of unit tests for use by implementations of the HTML spec. The aim is to produce implementation-independent, self-describing tests that can be shared between any groups working on these technologies. The parser tests live in the &amp;lt;code&amp;gt;tokenizer&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;tree-construction&amp;lt;/code&amp;gt; directories, both of which contain README files describing the test format.&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Bad_Ideas&amp;diff=8273</id>
		<title>Bad Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Bad_Ideas&amp;diff=8273"/>
		<updated>2012-06-04T14:45:43Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: /* Browsers should accept byte code from the network instead of other languages having to be compiled into JS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this page is to collect explanations why commonly-proposed bad ideas for the Web are bad, so that they don&#039;t need to be explained over and over again.&lt;br /&gt;
&lt;br /&gt;
==It should be possible to escape from CSS to a Turing-complete language like JS==&lt;br /&gt;
&lt;br /&gt;
This would introduce at least one of these problems:&lt;br /&gt;
&lt;br /&gt;
* Styling couldn&#039;t be applied incrementally if the styling program needs to run from start to finish with the entire document has its input. XSLT suffers from this problem.&lt;br /&gt;
&lt;br /&gt;
* Content changes couldn&#039;t be efficiently reflected in layout by doing partial updates if the style system had to analyze a Turing-complete program to see if it affects the styling of a particular subtree.&lt;br /&gt;
&lt;br /&gt;
* If the Turing-complete language allowed side effects, the style system couldn&#039;t decide when to re-resolve styles. Instead, style re-resolution times would have to be specified in the standard in order to get interoperable side effects.&lt;br /&gt;
&lt;br /&gt;
* Even now, some oft-requested selectors aren&#039;t supported due to time-complexity issues. It would be hard to curb bad time-complexity if arbitrary programs were allowed to run as part of styling.&lt;br /&gt;
&lt;br /&gt;
* The environment in which the Turing-complete language program with run would have to be specified and would constrain the implementation of the style system.&lt;br /&gt;
&lt;br /&gt;
==Browsers should accept byte code from the network instead of other languages having to be compiled into JS==&lt;br /&gt;
&lt;br /&gt;
* It turns out that JavaScript parsers have better time complexity characteristics than e.g. the Java byte code verifier. Checking that a program represented in low-level byte code doesn&#039;t do prohibited things is harder than seeing that higher-level representation stays within the constraints posed to it.&lt;br /&gt;
&lt;br /&gt;
* JS is already supported, so compiling to JS enjoys better benefits from network effects that launching a new byte code.&lt;br /&gt;
&lt;br /&gt;
* Using gzip compression on JS produces an already supported binary representation of JS.&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Developing_HTML5_derivatives&amp;diff=3528</id>
		<title>Developing HTML5 derivatives</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Developing_HTML5_derivatives&amp;diff=3528"/>
		<updated>2009-02-10T18:58:30Z</updated>

		<summary type="html">&lt;p&gt;Gsnedders: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you want to generate documents based on the HTML5 spec, you have several choices. One is to just take the text straight out of the spec. The other is to reuse the source document:&lt;br /&gt;
&lt;br /&gt;
   http://www.whatwg.org/specs/web-apps/current-work/source&lt;br /&gt;
&lt;br /&gt;
...sticking a header on it, e.g.&lt;br /&gt;
&lt;br /&gt;
   http://www.whatwg.org/specs/web-apps/current-work/header-whatwg&lt;br /&gt;
   http://www.whatwg.org/specs/web-apps/current-work/header-w3c&lt;br /&gt;
&lt;br /&gt;
...and then passing the result to Anolis:&lt;br /&gt;
&lt;br /&gt;
   http://anolis.gsnedders.com/&lt;br /&gt;
   http://pimpmyspec.net/&lt;/div&gt;</summary>
		<author><name>Gsnedders</name></author>
	</entry>
</feed>