example.js 791 B

1234567891011121314151617181920212223242526272829
  1. var fs = require("fs"),
  2. util = require("util"),
  3. path = require("path"),
  4. xml = fs.readFileSync(path.join(__dirname, "test.xml"), "utf8"),
  5. sax = require("../lib/sax"),
  6. strict = sax.parser(true),
  7. loose = sax.parser(false, {trim:true}),
  8. inspector = function (ev) { return function (data) {
  9. console.error("%s %s %j", this.line+":"+this.column, ev, data);
  10. }};
  11. sax.EVENTS.forEach(function (ev) {
  12. loose["on"+ev] = inspector(ev);
  13. });
  14. loose.onend = function () {
  15. console.error("end");
  16. console.error(loose);
  17. };
  18. // do this in random bits at a time to verify that it works.
  19. (function () {
  20. if (xml) {
  21. var c = Math.ceil(Math.random() * 1000)
  22. loose.write(xml.substr(0,c));
  23. xml = xml.substr(c);
  24. process.nextTick(arguments.callee);
  25. } else loose.close();
  26. })();