A JavaScript implementation of W3C DOM for Node.js, Rhino and the browser. Fully
compatible with W3C DOM level2
; and some compatible with level3
. Supports
DOMParser
and XMLSerializer
interface such as in browser.
Since version 0.1.19 we started doing custom releases from the fork into @auth0/xmldom
and pushed to npm old versions from tags to proper npm release like:
tag | version |
---|---|
v0.1.19-auth0_0 | v0.1.20 |
v0.1.19-auth0_1 | v0.1.21 |
v0.1.19-auth0.2 | v0.1.22 |
v0.1.19-auth0.3 | v0.1.23 |
New versions will be published into @auth0/xmldom
until we can move to the current versions from https://github.com/xmldom/xmldom. So versions > 0.1.19 wont match upstream releases.
npm install @auth0/xmldom
var DOMParser = require("@auth0/xmldom").DOMParser;
var doc = new DOMParser().parseFromString(
'<xml xmlns="a" xmlns:c="./lite">\n' +
"\t<child>test</child>\n" +
"\t<child></child>\n" +
"\t<child/>\n" +
"</xml>",
"text/xml"
);
doc.documentElement.setAttribute("x", "y");
doc.documentElement.setAttributeNS("./lite", "c:x", "y2");
var nsAttr = doc.documentElement.getAttributeNS("./lite", "x");
console.info(nsAttr);
console.info(doc);
-
parseFromString(xmlsource, mimeType);
- options extension by xmldom(not BOM standard!!)
//added the options argument new DOMParser(options); //errorHandler is supported new DOMParser({ /** * locator is always need for error position info */ locator: {}, /** * you can override the errorHandler for xml parser * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html */ errorHandler: { warning: function (w) { console.warn(w); }, error: callback, fatalError: callback } //only callback model //errorHandler:function(level,msg){console.log(level,msg)} });
-
```javascript serializeToString(node) ```
DOM level2 method and attribute:
-
attribute: nodeValue|prefix readonly attribute: nodeName|nodeType|parentNode|childNodes|firstChild|lastChild|previousSibling|nextSibling|attributes|ownerDocument|namespaceURI|localName method: insertBefore(newChild, refChild) replaceChild(newChild, oldChild) removeChild(oldChild) appendChild(newChild) hasChildNodes() cloneNode(deep) normalize() isSupported(feature, version) hasAttributes()
-
method: hasFeature(feature, version) createDocumentType(qualifiedName, publicId, systemId) createDocument(namespaceURI, qualifiedName, doctype)
-
Document : Node
readonly attribute: doctype|implementation|documentElement method: createElement(tagName) createDocumentFragment() createTextNode(data) createComment(data) createCDATASection(data) createProcessingInstruction(target, data) createAttribute(name) createEntityReference(name) getElementsByTagName(tagname) importNode(importedNode, deep) createElementNS(namespaceURI, qualifiedName) createAttributeNS(namespaceURI, qualifiedName) getElementsByTagNameNS(namespaceURI, localName) getElementById(elementId)
-
DocumentFragment : Node
-
Element : Node
readonly attribute: tagName method: getAttribute(name) setAttribute(name, value) removeAttribute(name) getAttributeNode(name) setAttributeNode(newAttr) removeAttributeNode(oldAttr) getElementsByTagName(name) getAttributeNS(namespaceURI, localName) setAttributeNS(namespaceURI, qualifiedName, value) removeAttributeNS(namespaceURI, localName) getAttributeNodeNS(namespaceURI, localName) setAttributeNodeNS(newAttr) getElementsByTagNameNS(namespaceURI, localName) hasAttribute(name) hasAttributeNS(namespaceURI, localName)
-
Attr : Node
attribute: value readonly attribute: name|specified|ownerElement
-
readonly attribute: length method: item(index)
-
readonly attribute: length method: getNamedItem(name) setNamedItem(arg) removeNamedItem(name) item(index) getNamedItemNS(namespaceURI, localName) setNamedItemNS(arg) removeNamedItemNS(namespaceURI, localName)
-
CharacterData : Node
method: substringData(offset, count) appendData(arg) insertData(offset, arg) deleteData(offset, count) replaceData(offset, count, arg)
-
Text : CharacterData
method: splitText(offset)
-
Comment : CharacterData
-
readonly attribute: name|entities|notations|publicId|systemId|internalSubset
-
Notation : Node
readonly attribute: publicId|systemId
-
Entity : Node
readonly attribute: publicId|systemId|notationName
-
EntityReference : Node
-
ProcessingInstruction : Node
attribute: data readonly attribute: target
-
attribute: textContent method: isDefaultNamespace(namespaceURI){ lookupNamespaceURI(prefix)
-
[Node] Source position extension;
attribute: //Numbered starting from '1' lineNumber //Numbered starting from '1' columnNumber