*/
public void parse(InputSource source,
ContentHandler contentHandler)
throws SAXException, IOException {
LocatorImpl locator = new LocatorImpl();
locator.setPublicId(source.getPublicId());
locator.setSystemId(source.getSystemId());
locator.setLineNumber(1);
locator.setColumnNumber(1);
contentHandler.setDocumentLocator(locator);
contentHandler.startDocument();
contentHandler.startPrefixMapping("", URI);
AttributesImpl atts = new AttributesImpl();
contentHandler.startElement(URI, "text", "text", atts);
LineNumberReader reader = null;
if (source.getCharacterStream()!=null) {
reader = new LineNumberReader(source.getCharacterStream());
} else {
reader = new LineNumberReader(new InputStreamReader(source.getByteStream()));
}
String line, newline = null;
String separator = System.getProperty("line.separator");
while (true) {
if (newline==null) {
line = reader.readLine();
} else {
line = newline;
}
if (line==null) {
break;
}
newline = reader.readLine();
line = (newline!=null) ? line+separator : line;
locator.setLineNumber(reader.getLineNumber());
locator.setColumnNumber(1);
contentHandler.characters(line.toCharArray(), 0, line.length());
if (newline==null) {
break;
}