Boa tarde,
Estou fazendo um unmarshal em um arquivo xml utilizando a biblioteca jaxb. Ao converter esse xml faço a validação para verificar se o mesmo esta de acordo com as especificações do arquivo xsd. Meu problema é o seguinte, se o xml não estiver de acordo preciso retornar o campo que está com erro. Pelo jaxb só estou conseguindo a linha e coluna. Alguém sabe como posso obter o nome do Node que esta com erro.
public boolean handleEvent(ValidationEvent ve)
{
// Se for ERRO ou ERRO FATAL parar a execução:
if (ve.getSeverity() == ValidationEvent.ERROR || ve.getSeverity() == ValidationEvent.FATAL_ERROR)
{
ValidationEventLocator vel = ve.getLocator();
System.out.println("getLocator: " + ve.getLocator());
System.out.println("getNode: " + vel.getNode());
}
return false;
}
Na tentativa vel.getNode() tudo que consigo é um “null”.
Alguém tem alguma idéia? Pode ser até utilizando outra biblioteca.
Obrigado.