xpath2
Version:
DOM 3 XPath implementation (with XPath 2.0 language support)
43 lines (40 loc) • 1.39 kB
JavaScript
var cAttr = require('./classes/Attr');
var cLXDOMAdapter = require('./classes/LXDOMAdapter');
var oMSHTMLDOMAdapter = new cLXDOMAdapter;
//
oMSHTMLDOMAdapter.getProperty = function(oNode, sName) {
if (sName == "localName") {
if (oNode.nodeType == 1)
return oNode.nodeName.toLowerCase();
}
if (sName == "prefix")
return null;
if (sName == "namespaceURI")
return oNode.nodeType == 1 ? "http://www.w3.org/1999/xhtml" : null;
if (sName == "textContent")
return oNode.innerText;
if (sName == "attributes" && oNode.nodeType == 1) {
var aAttributes = [];
for (var nIndex = 0, oAttributes = oNode.attributes, nLength = oAttributes.length, oNode2, oAttribute; nIndex < nLength; nIndex++) {
oNode2 = oAttributes[nIndex];
if (oNode2.specified) {
oAttribute = new cAttr;
oAttribute.ownerElement = oNode;
oAttribute.ownerDocument = oNode.ownerDocument;
oAttribute.specified = true;
oAttribute.value =
oAttribute.nodeValue = oNode2.nodeValue;
oAttribute.name =
oAttribute.nodeName =
//
oAttribute.localName = oNode2.nodeName.toLowerCase();
//
aAttributes[aAttributes.length] = oAttribute;
}
}
return aAttributes;
}
//
return cLXDOMAdapter.prototype.getProperty.call(this, oNode, sName);
};
module.exports = oMSHTMLDOMAdapter;