Listening to Events

import org.apache.xerces.xni.parser.XMLInputSource;
import org.apache.xerces.xni.XNIException;
import org.cyberneko.pull.*;
import org.cyberneko.pull.event.*;
import org.cyberneko.pull.parsers.Xerces2;
import java.io.IOException;

 
public class NekoLister {

  public static void main(String[] args) {
        
    if (args.length == 0) {
      System.err.println("Usage: java NekoLister url" );
      return;   
    }
        
    try {
      XMLPullParser parser = new Xerces2();;
      XMLInputSource source = new XMLInputSource(null, args[0], null);
      parser.setInputSource(source);
        
      XMLEvent event;
      while ((event = parser.nextEvent()) != null) {
        switch (event.type) {
          case XMLEvent.ELEMENT: 
            System.out.println("Element");
            break;
          case XMLEvent.DOCUMENT: 
            System.out.println("Document");
            break;
          case XMLEvent.CHARACTERS: 
            System.out.println("Characters");
            break;
          case XMLEvent.PREFIX_MAPPING: 
            System.out.println("Prefix mapping");
            break;
          case XMLEvent.GENERAL_ENTITY: 
            System.out.println("General Entity");
            break;
          case XMLEvent.PROCESSING_INSTRUCTION: 
            System.out.println("Processing instruction");
            break;
          case XMLEvent.CDATA: 
            System.out.println("CDATA section");
            break;
          case XMLEvent.TEXT_DECL: 
            System.out.println("Text declaration");
            break;
          case XMLEvent.DOCTYPE_DECL: 
            System.out.println("Document type declaration");
            break;
          default:
            System.out.println("Unexpected event");
        } 
      }
    }
    catch (XNIException ex) {
       System.out.println(args[0] + " is not well-formed"); 
       System.out.println(ex);  
    }
    catch (IOException ex) {
      System.out.println(args[0] + " could not be checked due to an " + ex.getClass().getName());   
      ex.printStackTrace();      
    }
        
  }

}

Previous | Next | Top | Cafe con Leche

Copyright 2000-2002 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified November 6, 2002