var fs = require('fs'), util = require('util'), path = require('path'), xml = fs.readFileSync(path.join(__dirname, 'test.xml'), 'utf8'), sax = require('../lib/sax'), strict = sax.parser(true), loose = sax.parser(false, {trim: true}), inspector = function (ev) { return function (data) { console.error('%s %s %j', this.line + ':' + this.column, ev, data) }} sax.EVENTS.forEach(function (ev) { loose['on' + ev] = inspector(ev) }) loose.onend = function () { console.error('end') console.error(loose) } // do this in random bits at a time to verify that it works. (function () { if (xml) { var c = Math.ceil(Math.random() * 1000) loose.write(xml.substr(0, c)) xml = xml.substr(c) process.nextTick(arguments.callee) } else loose.close() })()