JAL-1807 Bob
[jalviewjs.git] / site / j2s / swingjs / JSSAXContentHandler.js
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 + "?>");
7 }, "~S,~S");
8 Clazz.overrideMethod (c$, "startDocument", 
9 function () {
10 System.out.println ("Start document");
11 });
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) + "\"");
18
19 System.out.println (sb.toString ());
20 }, "~S,~S,~S,org.xml.sax.Attributes");
21 Clazz.overrideMethod (c$, "characters", 
22 function (ch, start, length) {
23 var s = "";
24 for (var i = start; i < start + length; i++) s += ch[i];
25
26 System.out.println ("Characters: " + JU.PT.esc (s));
27 }, "~A,~N,~N");
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));
32 }, "~S,~S,~S");
33 Clazz.overrideMethod (c$, "endDocument", 
34 function () {
35 System.out.println ("End document");
36 });
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));
42 }, "~S,~S");
43 });