xml-element-string
v1.0.0
Published
Takes a tag-name, attributes object, and an array of children and turns them into an xml string
Downloads
1,782
Readme
xml element string
Takes a tag-name, attributes object, and an array of children and turns them into an xml string.
usage
$ npm install --save xml-element-string
then
var createElement = require('xml-element-string')
var element = createElement(tagName, optionalAttributesObject, optionalChildArray)
example
var createElement = require('xml-element-string')
var element = createElement('hello', {from: 'the'}, [
createElement('other', {side: 'I'}),
createElement('must', {have: 'called'}, [
createElement('a', {thousand: 'times'})
])
])
console.log(element)
// logs
// <hello from="the"><other side="I"/><must have="called"><a thousand="times"/></must></hello>
features
Not much going on here, but this module will:
- Close or self-close the nodes as necessary
- Ignore attributes that resolve to
null
orundefined
- Escape html characters in the tag, attribute names, and attribute values by way of escape-html
developing and contributing
Clone and then $ npm install
. Please accompany all PRs with applicable tests. Please test your code in browsers, as Travis CI cannot run browser tests for PRs.
unit testing
This module uses Mocha and Chai for unit testing, Istanbul for coverage, and ESLint for linting.
$ npm test
- run the tests, calculate coverage, and lint$ npm run test:watch
- run the tests on code changes (does not lint nor cover)$ npm run lint
- lint the code (will be run as a pre-commit script)
browser testing
Browser tests are run with Zuul and Sauce Labs on the last two versions of Chrome, Firefox, Safari, and Internet Explorer as well as the latest version of Edge.
$ npm run test:browser
- run the unit tests in a local browser$ npm run test:sauce
- run the units tests in several browsers using Open Sauce (Sauce Labs account and local .zuulrc required)