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();
  }

});