1 Clazz.declarePackage ("swingjs");
2 Clazz.load (["org.xml.sax.helpers.DefaultHandler"], "swingjs.JSSAXContentHandler", ["JU.PT", "$.SB", "swingjs.JSSAXAttributes"], function () {
3 c$ = Clazz.declareType (swingjs, "JSSAXContentHandler", org.xml.sax.helpers.DefaultHandler);
4 Clazz.overrideMethod (c$, "processingInstruction",
5 function (target, data) {
6 System.out.println ("<?" + target + ' ' + data + "?>");
8 Clazz.overrideMethod (c$, "startDocument",
10 System.out.println ("Start document");
12 Clazz.overrideMethod (c$, "startElement",
13 function (uri, localName, nodeName, atts) {
14 localName = this.fixXerces (localName, nodeName);
15 var sb = new JU.SB ();
16 sb.append ("Start element: " + swingjs.JSSAXAttributes.getFullName (uri, localName, nodeName));
17 for (var i = 0; i < atts.getLength (); i++) sb.append ("\n " + swingjs.JSSAXAttributes.getFullName (atts.getURI (i), atts.getLocalName (i), atts.getQName (i)) + " = \"" + atts.getValue (i) + "\"");
19 System.out.println (sb.toString ());
20 }, "~S,~S,~S,org.xml.sax.Attributes");
21 Clazz.overrideMethod (c$, "characters",
22 function (ch, start, length) {
24 for (var i = start; i < start + length; i++) s += ch[i];
26 System.out.println ("Characters: " + JU.PT.esc (s));
28 Clazz.overrideMethod (c$, "endElement",
29 function (uri, localName, nodeName) {
30 localName = this.fixXerces (localName, nodeName);
31 System.out.println ("End element: " + swingjs.JSSAXAttributes.getFullName (uri, localName, nodeName));
33 Clazz.overrideMethod (c$, "endDocument",
35 System.out.println ("End document");
37 Clazz.defineMethod (c$, "fixXerces",
38 function (localName, nodeName) {
39 if (localName != null && localName.length > 0 || nodeName == null || nodeName.length == 0) return (localName == null ? "" : localName);
40 var pt = nodeName.indexOf (":");
41 return (pt < 0 ? nodeName : nodeName.substring (0, pt));