Org Xml Sax Java by API

import java.io.StringReader;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
public class MainClass {
  static public void main(String[] arg) throws Exception{
    boolean validate = false;
    SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setValidating(validate);
    XMLReader reader = null;
      SAXParser parser = spf.newSAXParser();
      reader = parser.getXMLReader();
    reader.setErrorHandler(new MyErrorHandler());
      reader.parse(new InputSource(new StringReader(xmlString)));
}
  static String xmlString = "" +
  "  " +
  "   Joe Wang" +
  "   joe@yourserver.com" +
  "   202-999-9999" +
  "   www.rntsoft.com" +
  "  
" +
  "     " +
  "Karol" +    // error here
  "   karol@yourserver.com" +
  "   306-999-9999" +
  "   www.rntsoft.com" +
  "  
" +
  "  " +
  "   Green" +
  "   green@yourserver.com" +
  "   202-414-9999" +
  "   www.rntsoft.com" +
  "  
" +
  "  
";
}
class MyErrorHandler implements ErrorHandler {
  public void warning(SAXParseException e) throws SAXException {
    show("Warning", e);
    throw (e);
  }
  public void error(SAXParseException e) throws SAXException {
    show("Error", e);
    throw (e);
  }
  public void fatalError(SAXParseException e) throws SAXException {
    show("Fatal Error", e);
    throw (e);
  }
  private void show(String type, SAXParseException e) {
    System.out.println(type + ": " + e.getMessage());
    System.out.println("Line " + e.getLineNumber() + " Column "
        + e.getColumnNumber());
    System.out.println("System ID: " + e.getSystemId());
  }
}