1 21 22 package nu.xom.samples; 23 24 import java.io.IOException ; 25 26 import nu.xom.Builder; 27 import nu.xom.Element; 28 import nu.xom.NodeFactory; 29 import nu.xom.Nodes; 30 import nu.xom.ParsingException; 31 32 33 44 public class StreamingTreeReporter extends NodeFactory { 45 46 private Nodes empty = new Nodes(); 47 48 public Nodes makeComment(String data) { 50 return empty; 51 } 52 53 public Nodes makeText(String data) { 54 return empty; 55 } 56 57 public Nodes finishMakingElement(Element element) { 58 TreePrinter.inspect(element); 59 return new Nodes(element); 60 } 61 62 public Nodes makeDocType(String rootElementName, 63 String publicID, String systemID) { 64 return empty; 65 } 66 67 public Nodes makeProcessingInstruction( 68 String target, String data) { 69 return empty; 70 } 71 72 public static void main(String [] args) { 73 74 if (args.length <= 0) { 75 System.out.println( 76 "Usage: java nu.xom.samples.StreamingTreeReporter URL" 77 ); 78 return; 79 } 80 81 try { 82 Builder parser = new Builder(new StreamingTreeReporter()); 83 parser.build(args[0]); 84 } 85 catch (ParsingException ex) { 86 System.out.println(args[0] + " is not well-formed."); 87 System.out.println(ex.getMessage()); 88 } 89 catch (IOException ex) { 90 System.out.println( 91 "Due to an IOException, the parser could not read " 92 + args[0] 93 ); 94 } 95 96 } 97 98 } 99 | Popular Tags |