| //Tree traversing |
| exports.getFirstChild = function (node) { |
| return node.childNodes[0]; |
| }; |
| |
| exports.getChildNodes = function (node) { |
| return node.childNodes; |
| }; |
| |
| exports.getParentNode = function (node) { |
| return node.parentNode; |
| }; |
| |
| exports.getAttrList = function (node) { |
| return node.attributes; |
| }; |
| |
| //Node data |
| exports.getTagName = function (element) { |
| return element.tagName.toLowerCase(); |
| }; |
| |
| exports.getNamespaceURI = function (element) { |
| return element.namespaceURI || 'http://www.w3.org/1999/xhtml'; |
| }; |
| |
| exports.getTextNodeContent = function (textNode) { |
| return textNode.nodeValue; |
| }; |
| |
| exports.getCommentNodeContent = function (commentNode) { |
| return commentNode.nodeValue; |
| }; |
| |
| exports.getDocumentTypeNodeName = function (doctypeNode) { |
| return doctypeNode.name; |
| }; |
| |
| exports.getDocumentTypeNodePublicId = function (doctypeNode) { |
| return doctypeNode.publicId || null; |
| }; |
| |
| exports.getDocumentTypeNodeSystemId = function (doctypeNode) { |
| return doctypeNode.systemId || null; |
| }; |
| |
| //Node types |
| exports.isTextNode = function (node) { |
| return node.nodeName === '#text'; |
| }; |
| |
| exports.isCommentNode = function (node) { |
| return node.nodeName === '#comment'; |
| }; |
| |
| exports.isDocumentTypeNode = function (node) { |
| return node.nodeType === 10; |
| }; |
| |
| exports.isElementNode = function (node) { |
| return !!node.tagName; |
| }; |