Simple XML builder for Node.js
npm install xmlcreate
npm install xmlcreate
`
You can also build xmlcreate from source using npm:
`
git clone https://github.com/michaelkourlas/node-xmlcreate.git
npm install
npm run-script build
`
The build script will build the production variant of xmlcreate, run all
tests, and build the documentation.
You can build the production variant without running tests using the script
prod. You can also build the development version using the script dev.
The only difference between the two is that the development version includes
source maps.
Usage ##
The documentation for the current version is available here.
You can also build the documentation using npm:
`
npm run-script docs
`
Examples ##
The following TypeScript example illustrates the basic usage of xmlcreate:
`typescript
import {document} from "xmlcreate";
const tree = document();
tree
.decl({encoding: "UTF-8"})
.up()
.dtd({
name: "html",
pubId: "-//W3C//DTD XHTML 1.0 Strict//EN",
sysId: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
})
.up()
.element({name: "html"})
.attribute({name: "xmlns"})
.text({charData: "http://www.w3.org/1999/xhtml"})
.up()
.up()
.attribute({name: "xml:lang"})
.text({charData: "en"})
.up()
.up()
.element({name: "head"})
.element({name: "title"})
.charData({charData: "My page title"})
.up()
.up()
.up()
.element({name: "body"})
.element({name: "h1"})
.charData({charData: "Welcome!"})
.up()
.up()
.element({name: "p"})
.charData({charData: "This is some text on my website."})
.up()
.up()
.element({name: "div"})
.element({name: "img"})
.attribute({name: "src"})
.text({charData: "picture.png"})
.up()
.up()
.attribute({name: "alt"})
.text({charData: "picture"}).up().up().up().up().up();
console.log(tree.toString({doubleQuotes: true}));
`
This example produces the following XML:
`xml
My page title
Welcome!
This is some text on my website.
`
A JavaScript version of this example can be found in the examples directory.
Tests ##
xmlcreate includes a set of tests to verify core functionality. You can run
the tests using npm:
`
npm run-script test-prod
`
The only difference between the test-prod and test-dev` scripts is that the