import java.io.BufferedReader; import java.io.Reader; import java.io.FileReader; import javax.xml.parsers.*; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; class Lab3 { static public void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); Reader reader = MyReader.getReader( args[0] ); InputSource in = new InputSource (reader); xmlReader.parse( in ); } } class MyReader extends BufferedReader { MyReader( FileReader fr ){ super( fr ); } public int read() throws java.io.IOException { int ch = super.read(); return ch; } public int read(char[] cbuf, int off, int len) throws java.io.IOException { char [] chs = new char[cbuf.length]; int n = 0; while ( n < len ) { int k = super.read(chs, off + n, len - n); if( k < 0 ) { break; } n += k; if( !super.ready() ){ break; } } for( int i=0; i