aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/sax/examples/example.js
blob: e7f81e6480e1a87baa4174f55181884309a0b476 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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();
  }

});