1 4 package gnu.kawa.sax; 5 import org.xml.sax.*; 6 import gnu.xml.*; 7 import gnu.kawa.xml.XMLParser; 8 import java.io.*; 9 import gnu.text.*; 10 11 13 14 public class KawaXMLReader extends ContentConsumer 15 implements XMLReader, Locator 16 { 17 XMLParser xmlParser; 18 19 public boolean getFeature (String name) 20 { 21 return false; 22 } 23 24 public void setFeature (String name, boolean value) 25 { 26 } 27 28 public Object getProperty (String name) 29 { 30 return null; 31 } 32 33 public void setProperty (String name, Object value) 34 { 35 } 36 37 public void setEntityResolver (EntityResolver resolver) 38 { 39 } 40 41 public EntityResolver getEntityResolver () 42 { 43 return null; 44 } 45 46 public void setDTDHandler (DTDHandler handler) 47 { 48 } 49 50 public DTDHandler getDTDHandler () 51 { 52 return null; 53 } 54 55 ErrorHandler errorHandler; 56 57 58 public void setErrorHandler (ErrorHandler handler) 59 { 60 errorHandler = handler; 61 } 62 63 public ErrorHandler getErrorHandler () 64 { 65 return errorHandler; 66 } 67 68 public void parse (InputSource input) 69 throws IOException, SAXException 70 { 71 Reader reader = input.getCharacterStream(); 72 if (reader == null) 73 reader = new InputStreamReader(input.getByteStream()); 74 SourceMessages messages = new SourceMessages(); 75 XMLParser parser = new XMLParser(new LineBufferedReader(reader), 76 messages, this); 77 beginDocument(); 78 parser.parse(); 79 String err = messages.toString(20); 80 if (err != null) 81 throw new SAXParseException(err, this); 82 endDocument(); 83 } 84 85 public void parse (String systemId) 86 { 87 } 88 89 public String getPublicId() 90 { 91 return xmlParser.getPublicId(); 92 } 93 94 public String getSystemId() 95 { 96 return xmlParser.getSystemId(); 97 } 98 99 public int getColumnNumber() 100 { 101 int column = xmlParser.getColumnNumber(); 102 return column <= 0 ? -1 : column + 1; 103 } 104 105 public int getLineNumber() 106 { 107 int line = xmlParser.getLineNumber(); 108 return line <= 0 ? -1 : line + 1; 109 } 110 } 111 | Popular Tags |