Skip to content

Simple hyperscript-style function to generate an XML element as a string

License

Notifications You must be signed in to change notification settings

tracespace/xml-element-string

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xml element string

npm Travis Coveralls David David

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 or undefined
  • 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)

About

Simple hyperscript-style function to generate an XML element as a string

Resources

License

Stars

Watchers

Forks

Packages

No packages published