1 Clazz.declarePackage ("org.xml.sax.demo");
2 Clazz.load (["org.xml.sax.demo.DemoHandler", "java.io.StringReader"], "org.xml.sax.demo.EntityDemo", ["java.net.MalformedURLException", "$.URL", "org.xml.sax.InputSource", "org.xml.sax.helpers.ParserFactory"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 Clazz.instantialize (this, arguments);
6 }, org.xml.sax.demo, "EntityDemo", org.xml.sax.demo.DemoHandler);
7 Clazz.prepareFields (c$, function () {
8 this.reader = new java.io.StringReader ("Entity resolution works!");
10 c$.main = Clazz.defineMethod (c$, "main",
14 if (args.length != 1) {
15 System.err.println ("Usage: java -Dorg.xml.sax.parser=<classname> EntityDemo <document>");
17 }parser = org.xml.sax.helpers.ParserFactory.makeParser ();
18 handler = new org.xml.sax.demo.EntityDemo ();
19 parser.setEntityResolver (handler);
20 parser.setDTDHandler (handler);
21 parser.setDocumentHandler (handler);
22 parser.setErrorHandler (handler);
23 parser.parse (org.xml.sax.demo.EntityDemo.makeAbsoluteURL (args[0]));
25 Clazz.overrideMethod (c$, "resolveEntity",
26 function (publicId, systemId) {
27 if (publicId != null && publicId.equals ("-//megginson//TEXT Sample Entity//EN")) {
28 return new org.xml.sax.InputSource (this.reader);
32 c$.makeAbsoluteURL = Clazz.defineMethod (c$, "makeAbsoluteURL",
35 var currentDirectory = System.getProperty ("user.dir");
36 var fileSep = System.getProperty ("file.separator");
37 var file = currentDirectory.$replace (fileSep.charAt (0), '/') + '/';
38 if (file.charAt (0) != '/') {
40 }baseURL = new java.net.URL ("file", null, file);
41 return new java.net.URL (baseURL, url).toString ();