package tk.eclipse.plugin.xmleditor.editors; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import tk.eclipse.plugin.htmleditor.HTMLUtil; /** * An implementation of SAX error handler to validate the XML document. * When error method is called, this handler creates a marker as an error. * * @author takezoe */ public class XMLValidationHandler implements ErrorHandler { private IResource resource; public XMLValidationHandler(IResource resource) { this.resource = resource; } private void addMarker(int line,String message,int type){ if(message.startsWith("src-") || message.startsWith("sch-")){ return; } HTMLUtil.addMarker(resource, type, line, message); } public void error(SAXParseException exception) throws SAXException { int line = exception.getLineNumber(); String message = exception.getMessage(); addMarker(line,message,IMarker.SEVERITY_ERROR); } public void fatalError(SAXParseException exception) throws SAXException { int line = exception.getLineNumber(); String message = exception.getMessage(); addMarker(line,message,IMarker.SEVERITY_ERROR); } public void warning(SAXParseException exception) throws SAXException { int line = exception.getLineNumber(); String message = exception.getMessage(); addMarker(line,message,IMarker.SEVERITY_WARNING); } }