30 lines
791 B
JavaScript
30 lines
791 B
JavaScript
|
|
||
|
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();
|
||
|
})();
|