Licence
MIT
Version
0.2.1
Deps
3
Vulns
0
Weekly
0
Boomtjes 
Boomtjes is a JavaScript library built for XML manipulation and XSD Schema validation. It depends on sax.js, loash.js, backbone.js and synths.js, and work on browser and CommonJS.
Goal
The original goal of Boomtjes is for helping me to work on a music score project. Boomtjes is currently been rewritten.
Usage
var source = '<hello><world a1="foo" a2="bar">Boomtjes</world>' +
'<e2>e2 content</e2>' +
'<e3><e3c1/><e3c2></e3c2><e3c3 a1="a"/></e3>' +
'</hello>';
bj.parseXML(source, function (err, doc) {
if (err) { throw (err); }
doc.root().prefix('bj');
var root = doc.root();
root.prefix('bj');
var el = new bj.Element('e3c1gc1', { grand: 'child'});
root.children(2, 'children', 0, '#append', el);
root.children(2, 'children', 2, 'text', '<HI THERE>')
root.eachDescendant(function (el) { el.prefix('ha'); });
console.log('root text:', root.text());
var obj = JSON.parse(JSON.stringify(doc));
console.log(util.inspect(obj, false, null, true));
console.log('New XML:\n----------------\n' + doc);
});
The output will be
{ xml: { encoding: 'UTF8' },
'bj:hello':
[ { 'ha:world':
{ '
New XML will be
<?xml version="1.0" encoding="UTF8"?>
<bj:hello>
<ha:world a1="foo" a2="bar">Boomtjes</ha:world>
<ha:e2>e2 content</ha:e2>
<ha:e3>
<ha:e3c1>
<ha:e3c1gc1 grand="child"/>
</ha:e3c1>
<ha:e3c2/>
<ha:e3c3 a1="a"><HI THERE></ha:e3c3>
</ha:e3>
</bj:hello>
Examples
- Use Boomtjes in browser:
demo.html and demo/main.js
- Use Boomtjes in Node:
devel.js
: { a1: 'foo', a2: 'bar' },
_: 'Boomtjes' } },
{ 'ha:e2': 'e2 content' },
{ 'ha:e3':
[ { 'ha:e3c1': { 'ha:e3c1gc1': { grand: 'child' } } },
{ 'ha:e3c2': null },
{ 'ha:e3c3':
{ '
New XML will be
__CODE_BLOCK_2__
Examples
- Use Boomtjes in browser: __INLINE_CODE_0__ and __INLINE_CODE_1__
- Use Boomtjes in Node: __INLINE_CODE_2__
: { a1: 'a' },
_: '<HI THERE>' } } ] } ] }
New XML will be
__CODE_BLOCK_2__Examples
- Use Boomtjes in browser: __INLINE_CODE_0__ and __INLINE_CODE_1__
- Use Boomtjes in Node: __INLINE_CODE_2__