Custumizar mensagens de erro ao validar XML

Estou validando o XML da Nfe a partir do schema, mas não consigo fazer ele pegar as mensagens de erro que estão nos schemas, ele retorna as mensagens de erros padrão, que não adiantam muito…

Abaixo segue o código que estou utilizando:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		System.out.println("DocumentBuilderFactory: "+ factory.getClass().getName());

		factory.setNamespaceAware(true);
		factory.setValidating(true);
		factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
		factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource", ".....nfe_v2.00.xsd");
		
		DocumentBuilder builder = null;
		try 
		{
			builder = factory.newDocumentBuilder();
			builder.setErrorHandler( new SimpleErrorHandler());
		} catch (ParserConfigurationException ex) 
		{
			ex.printStackTrace();
		}
		org.w3c.dom.Document document;
		try 
		{
			document = builder.parse("....nfe.xml");
			org.w3c.dom.Node rootNode  = document.getFirstChild();
			System.out.println("Root node: "+ rootNode.getNodeName()  );
		} catch (IOException ex) {
			ex.printStackTrace();
		} catch (SAXException ex) {
			ex.printStackTrace();
		}

Classe que retorna os erros:

import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXParseException;

public class SimpleErrorHandler implements ErrorHandler{
	public void error(SAXParseException exception) {
		System.out.println("error: "+ exception.getMessage());
	}

	public void fatalError(SAXParseException exception) {
		System.out.println("fatalError: "+ exception.getMessage());
	}

	public void warning(SAXParseException exception) {
		System.out.println("warning: "+ exception.getMessage());
	}
}