mirror of https://gitee.com/bigwinds/arangodb
* Make jsunity hash function avoid recursion This guards against traversals of recursive data structures causing a stack overflow. This is crucial when using assertEqual with unknown inputs. * Update deps accepts: 1.3.4 -> 1.3.5 ansi_up: 2.0.2 -> 4.0.3 content-disposition: 0.5.2 -> 0.5.3 dedent: 0.6.0 -> 0.7.0 error-stack-parser: 1.3.6 -> 2.0.2 eslint: 2.13.1 -> 5.16.0 eslint-config-semistandard: 6.0.2 -> removed eslint-config-standard: 5.3.1 -> removed eslint-plugin-promise: 1.3.2 -> removed eslint-plugin-standard: 1.3.2 -> removed highlight.js: 9.12.0 -> 9.15.6 http-errors: 1.6.2 -> 1.7.2 iconv-lite: 0.4.19 -> 0.4.24 joi: 9.2.0 -> 14.3.1 joi-to-json-schema: 2.3.0 -> 4.0.1 js-yaml: 3.10.0 -> 3.13.1 marked: 0.3.9 -> 0.6.2 mime-types: 2.1.12 -> 2.1.22 mocha: 2.5.3 -> 6.1.3 qs: 6.5.1 -> 6.7.0 semver: 5.4.1 -> 6.0.0 statuses: 1.4.0 -> 1.5.0 timezone: 1.0.13 -> 1.0.22 type-is: 1.6.15 -> 1.6.16 underscore: 1.8.3 -> 1.9.1 * Inline eslint semistandard config The eslint standard config has become extremely opinionated and incompatible with the existing coding style. This subset matches the existing coding style most closely. In the future we should migrate to an autoformatter like prettier and avoid this problem altogether. * Linting * Fix mocha runner * New joi has additional property |
||
---|---|---|
.. | ||
.npmignore | ||
.travis.yml | ||
LICENSE | ||
__package__.js | ||
changelog | ||
component.json | ||
dom-parser.js | ||
dom.js | ||
package.json | ||
readme.md | ||
sax.js |
readme.md
XMLDOM

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.
Install:
npm install xmldom
Example:
var DOMParser = require('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)
API Reference
-
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)} })
-
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
DOM level 3 support:
-
attribute: textContent method: isDefaultNamespace(namespaceURI){ lookupNamespaceURI(prefix)
DOM extension by xmldom
-
[Node] Source position extension;
attribute: //Numbered starting from '1' lineNumber //Numbered starting from '1' columnNumber