Add a starter JavaScript version of Scour

This commit is contained in:
Jeff Schiller 2011-12-29 16:11:55 -08:00
parent 60b48353b3
commit fbcbedef37
6 changed files with 1568 additions and 0 deletions

203
lite/pdom_support.html Normal file
View file

@ -0,0 +1,203 @@
<!DOCTYPE html>
<html>
<head>
<title>DOM Core Support in pdom</title>
<style type="text/css">
table * { font-size: small; }
table a { color: white; font-weight: bold; }
.no { background-color: red; color: white; }
.yes { background-color: green; color: white; }
.partial { background-color: orange; color: white; }
.dom2 { display: none; }
.dom3 { display: none; }
</style>
</head>
<body>
<h1>DOM Core Support in pdom</h1>
<p>This table shows the current level of <a href="http://www.w3.org/TR/DOM-Level-3-Core/">DOM Core</a> support in pdom. At present, this table only shows <a href="http://www.w3.org/TR/REC-DOM-Level-1/">DOM Core Level 1</a> and a couple properties/methods from DOM Level 2.</p>
<table border="1">
<tr><th>Interface</th><th>Property/Method</th><th>Support?</th></tr>
<!--
// DOM Core Level 2 additions
interface DOMImplementation {
DocumentType createDocumentType(in DOMString qualifiedName, in DOMString publicId, in DOMString systemId)
Document createDocument(in DOMString namespaceURI, in DOMString qualifiedName, in DocumentType doctype)
};
interface Node {
boolean isSupported(in DOMString feature, in DOMString version);
DOMString prefix;
DOMString localName;
boolean hasAttributes();
};
interface NamedNodeMap {
Node getNamedItemNS(in DOMString namespaceURI, in DOMString localName);
Node setNamedItemNS(in Node arg)
Node removeNamedItemNS(in DOMString namespaceURI, in DOMString localName)
};
interface Attr : Node {
Element ownerElement;
};
interface Element : Node {
DOMString getAttributeNS(in DOMString namespaceURI, in DOMString localName);
void setAttributeNS(in DOMString namespaceURI, in DOMString qualifiedName, in DOMString value)
void removeAttributeNS(in DOMString namespaceURI, in DOMString localName)
Attr getAttributeNodeNS(in DOMString namespaceURI, in DOMString localName);
Attr setAttributeNodeNS(in Attr newAttr)
NodeList getElementsByTagNameNS(in DOMString namespaceURI, in DOMString localName);
boolean hasAttributeNS(in DOMString namespaceURI, in DOMString localName);
};
interface DocumentType : Node {
DOMString publicId;
DOMString systemId;
DOMString internalSubset;
};
interface Document : Node {
Node importNode(in Node importedNode, in boolean deep)
Element createElementNS(in DOMString namespaceURI, in DOMString qualifiedName)
Attr createAttributeNS(in DOMString namespaceURI, in DOMString qualifiedName)
NodeList getElementsByTagNameNS(in DOMString namespaceURI, in DOMString localName);
};
};
-->
<tr id="Node"><td rowspan="18" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1950641247">Node</a></td>
<td class="no">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-F68D095">nodeName</a></td><td class="no"></td></tr><tr>
<td class="no">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-F68D080">nodeValue</a></td><td class="no"></td></tr><tr>
<td class="yes">unsigned short <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-111237558">nodeType</a></td><td class="yes"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1060184317">parentNode</a></td><td class="yes"></td></tr><tr>
<td class="yes">NodeList <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1451460987">childNodes</a></td><td class="yes"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-169727388">firstChild</a></td><td class="yes"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-61AD09FB">lastChild</a></td><td class="yes"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-640FB3C8">previousSibling</a></td><td class="yes"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-6AC54C2F">nextSibling</a></td><td class="yes"></td></tr><tr>
<td class="yes">NamedNodeMap <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-84CF096">attributes</a></td><td class="yes"></td></tr><tr>
<td class="no">Document <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#node-ownerDoc">ownerDocument</a></td><td class="no"></td></tr><tr>
<td class="no">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-952280727">insertBefore</a>(in Node newChild, in Node refChild)</td><td class="no"></td></tr><tr>
<td class="no">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-785887307">replaceChild</a>(in Node newChild, in Node oldChild)</td><td class="no"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1734834066">removeChild</a>(in Node oldChild)</td><td class="yes"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-184E7107">appendChild</a>(in Node newChild)</td><td class="yes"></td></tr><tr>
<td class="yes">boolean <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-810594187">hasChildNodes</a>()</td><td class="yes"></td></tr><tr>
<td class="no">Node cloneNode(in boolean deep)</td><td class="no"></td></tr><tr>
<td class="yes">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname">namespaceURI</a></td><td class="yes"></td></tr><tr>
</tr>
<tr id="Element"><td rowspan="10" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-745549614">Element</a> : <a href="#Node">Node</a></td>
<td class="yes">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-104682815">tagName</a></td><td class="yes"></td></tr><tr>
<td class="yes">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-666EE0F9">getAttribute</a>(in DOMString name)</td><td class="yes"></td></tr><tr>
<td class="yes">void <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-F68F082">setAttribute</a>(in DOMString name, in DOMString value)</td><td class="yes"></td></tr><tr>
<td class="yes">void <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-6D6AC0F9">removeAttribute</a>(in DOMString name)</td><td class="yes"></td></tr><tr>
<td class="no">Attr <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-217A91B8">getAttributeNode</a>(in DOMString name)</td><td class="no"></td></tr><tr>
<td class="no">Attr <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-887236154">setAttributeNode</a>(in Attr newAttr)</td><td class="no"></td></tr><tr>
<td class="no">Attr <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-D589198">removeAttributeNode</a>(in Attr oldAttr)</td><td class="no"></td></tr><tr>
<td class="no">NodeList <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1938918D">getElementsByTagName</a>(in DOMString name)</td><td class="no"></td></tr><tr>
<td class="yes">boolean <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr">hasAttribute</a>(in DOMString name)</td><td class="yes"></td></tr><tr>
</tr>
<tr id="Document"><td rowspan="13" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#i-Document">Document</a> : <a href="#Node">Node</a></td>
<td class="no">DocumentType doctype</td><td class="no"></td></tr><tr>
<td class="no">DOMImplementation implementation</td><td class="no"></td></tr><tr>
<td class="yes">Element <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-87CD092">documentElement</a></td><td class="yes"></td></tr><tr>
<td class="no">Element <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-2141741547">createElement</a>(in DOMString tagName)</td><td class="no"></td></tr><tr>
<td class="no">DocumentFragment createDocumentFragment()</td><td class="no"></td></tr><tr>
<td class="no"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1975348127">createTextNode</a>(in DOMString data)</td><td class="no"></td></tr><tr>
<td class="no">createComment(in DOMString data)</td><td class="no"></td></tr><tr>
<td class="no">createCDATASection(in DOMString data)</td><td class="no"></td></tr><tr>
<td class="no">createProcessingInstruction(in DOMString target, in DOMString data)</td><td class="no"></td></tr><tr>
<td class="no">Attr <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1084891198">createAttribute</a>(in DOMString name)</td><td class="no"></td></tr><tr>
<td class="no">EntityReference createEntityByReference(in DOMString name)</td><td class="no"></td></tr><tr>
<td class="no">NodeList <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C9094">getElementsByTagName</a>(in DOMString tagName)</td><td class="no"></td></tr><tr>
<td class="no">Element <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getElBId">getElementById</a>(in DOMString elementId)</td><td class="no"></td></tr><tr>
</tr>
<tr id="NodeList"><td rowspan="2" class="yes"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-536297177">NodeList</a></td>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-844377136">item</a>(in unsigned long index)</td><td class="yes"></td></tr><tr>
<td class="yes">unsigned long <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-203510337">length</a></td><td class="yes"></td></tr><tr>
</tr>
<tr id="NamedNodeMap"><td rowspan="5" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1780488922">NamedNodeMap</a></td>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1074577549">getNamedItem</a>(in DOMString name)</td><td class="yes"></td></tr><tr>
<td class="no">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1025163788">setNamedItem</a>(in Node arg)</td><td class="no"></td></tr><tr>
<td class="no">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-D58B193">removeNamedItem</a>(in DOMString name)</td><td class="no"></td></tr><tr>
<td class="yes">Node <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-349467F9">item</a>(in unsigned long index)</td><td class="yes"></td></tr><tr>
<td class="yes">unsigned long <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-6D0FB19E">length</a></td><td class="yes"></td></tr><tr>
</tr>
<tr id="CharacterData"><td rowspan="7" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-FF21A306">CharacterData</a> : <a href="#Node">Node</a></td>
<td class="yes">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-72AB8359">data</a></td><td class="yes"></td></tr><tr>
<td class="no">unsigned long <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-7D61178C">length</a></td><td class="no"></td></tr><tr>
<td class="no">DOMString substringData(in unsigned long offset, in unsigned long count)</td><td class="no"></td></tr><tr>
<td class="no">void appendData(in DOMString arg)</td><td class="no"></td></tr><tr>
<td class="no">void insertData(in unsigned long offset, in DOMString arg)</td><td class="no"></td></tr><tr>
<td class="no">void deleteData(in unsigned long offset, in unsigned long count)</td><td class="no"></td></tr><tr>
<td class="no">void replaceData(in unsigned long offset, in unsigned long count, in DOMString arg)</td><td class="no"></td></tr><tr>
</tr>
<tr id="Text"><td rowspan="1" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1312295772">Text</a> : <a href="#CharacterData">CharacterData</a></td>
<td class="no">Text splitText(in unsigned long offset)</td><td class="no"></td></tr><tr>
</tr>
<tr id="Attr"><td rowspan="4" class="partial"><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-637646024">Attr</a> : <a href="#Node">Node</a></td>
<td class="yes">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1112119403">name</a></td><td class="no"></td></tr><tr>
<td class="no">boolean specified</td><td class="no"></td></tr><tr>
<td class="yes">DOMString <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-221662474">value</a></td><td class="no"></td></tr><tr>
<td class="no">Element <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement">ownerElement</a></td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="1" class="partial">Comment : CharacterData</td>
<td class="no">(empty)</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="1" class="no">CDATASection : Text</td>
<td class="no">(empty)</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="1" class="yes">DOMException</td>
<td class="yes">unsigned short code</td><td class="yes"></td></tr><tr>
</tr>
<tr><td rowspan="1" class="no">DOMImplementation</td>
<td class="no">boolean hasFeature(in DOMString feature, in DOMString version)</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="1" class="no">DocumentFragment</td>
<td class="no">(empty)</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="3" class="partial">DocumentType : <a href="#Node">Node<a></td>
<td class="no">DOMString name</td><td class="no"></td></tr><tr>
<td class="no">NamedNodeMap entities</td><td class="no"></td></tr><tr>
<td class="no">NamedNodeMap notations</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="2" class="no">Notation : <a href="#Node">Node</a></td>
<td class="no">DOMString publicId</td><td class="no"></td></tr><tr>
<td class="no">DOMString systemId</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="3" class="no">Entity : <a href="#Node">Node</a></td>
<td class="no">DOMString publicId</td><td class="no"></td></tr><tr>
<td class="no">DOMString systemId</td><td class="no"></td></tr><tr>
<td class="no">DOMString notationName</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="1" class="no">EntityReference : <a href="#Node">Node<a/></td>
<td class="no">(empty)</td><td class="no"></td></tr><tr>
</tr>
<tr><td rowspan="2" class="no">ProcessingInstruction : <a href="#Node">Node</a></td>
<td class="no">DOMString target</td><td class="no"></td></tr><tr>
<td class="no">DOMString data</td><td class="no"></td></tr><tr>
</tr>
</table>
</body>
</html>