| |
| var fs = require("fs"), |
| sys = require("sys"), |
| path = require("path"), |
| xml = fs.cat(path.join(__dirname, "test.xml")), |
| sax = require("../lib/sax"), |
| strict = sax.parser(true), |
| loose = sax.parser(false, {trim:true}), |
| inspector = function (ev) { return function (data) { |
| // sys.error(""); |
| // sys.error(ev+": "+sys.inspect(data)); |
| // for (var i in data) sys.error(i+ " "+sys.inspect(data[i])); |
| // sys.error(this.line+":"+this.column); |
| }}; |
| |
| xml.addCallback(function (xml) { |
| // strict.write(xml); |
| |
| sax.EVENTS.forEach(function (ev) { |
| loose["on"+ev] = inspector(ev); |
| }); |
| loose.onend = function () { |
| // sys.error("end"); |
| // sys.error(sys.inspect(loose)); |
| }; |
| |
| // do this one char at a time to verify that it works. |
| // (function () { |
| // if (xml) { |
| // loose.write(xml.substr(0,1000)); |
| // xml = xml.substr(1000); |
| // process.nextTick(arguments.callee); |
| // } else loose.close(); |
| // })(); |
| |
| for (var i = 0; i < 1000; i ++) { |
| loose.write(xml); |
| loose.close(); |
| } |
| |
| }); |