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