Mensagem Validação

2 respostas
nandobgi

Pessoal estou validando um arquivo xml conforme um Schema, bem minha dúvida é se existe alguma forma de formatar a mensagem de erro quando o arquivo não está correto. Gostaria de apresentar uma mensagem mais amigavél para o usuário.

Valeu

2 Respostas

Alexandre_Saudate

Você está validando como? Usando parser?

O SAX, por exemplo, lança uma exception se o XML não estiver de acordo com o schema, então, você poderia capturar a exceção e lançar uma sua.

nandobgi

Então criei uma classe para capturar as mensagens de erro, mas queria saber se existe algo mais prático

class SimpleErrorHandler implements ErrorHandler  {  
	
	private Logger logger = Logger.getLogger("br.com.sensatta");
	
    public void error(SAXParseException exception) {  
   	 log(Level.SEVERE, "Error", exception); 
    }  
            
     public void fatalError(SAXParseException exception) {  
   	  log(Level.SEVERE, "Fatal Error", exception);
     }  
            
     public void warning(SAXParseException exception) {  
         log(Level.WARNING, "Warning" , exception);
     } 
     
     private void log(Level level, String message, SAXParseException e) {
         
   	  int line = e.getLineNumber();
      int col = e.getColumnNumber();
      String publicId = e.getPublicId();
      String systemId = e.getSystemId();
   
         message = message + ": " + e.getMessage() + ": line="
             + line + ", col=" + col + ", PUBLIC="
             + publicId + ", SYSTEM=" + systemId;
       
         logger.log(level, message);
     }

Exemplo:

SEVERE: Error: cvc-pattern-valid: Value '
				' is not facet-valid with respect to pattern '0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?' for type 'TDec_1302Opc'.: line=12, col=14, PUBLIC=null, SYSTEM=file:///C:/Projetos/file.xml

Valeu

Criado 23 de maio de 2008
Ultima resposta 23 de mai. de 2008
Respostas 2
Participantes 2