Problema con Excepciones

Jesus E
15 de Septiembre del 2009
Buenas noches... espero que me ayuden por favor. la cuestion es que estoy creando un programa que transforme documentos xml en html usando java, todo va de maravilla, el problema es que quiero crear una especie de depurador que diga cuando hay errores de escritura del codigo fuente (XML), en gran medida lo hace. lo que no hace, osea indica la descripcion del error, por ejemplo, que tal etiqueta no fue cerrada, tal etiqueta tiene dos atributos con el mismo nombre etc. lo que no hace es mostrar el numero de linea en donde se produjo el error. estuve leyendo y encontre que hay que hacer uso del metodo getLocator() de la clase TransformerException que devuelve una instancia de la clase la SourceLocator, luego que tengo esta instancia podria hacer uso del metodo getLineNumber(), pero mi sorpresa es que la instancia que capturo de SourceLocator viene null, la logica me dice que hay que crearla y usar el metodo setLocator de la clase TransformerException, pero ni idea como crearla.. quisiera que alguien me diera una ayuda, otra solucion, etc,

en conslusion, la mision es que si en el proceso de transformacion de xml a html se produce un error, mostrar una descripcion (ya lo hace) y poder mostrar el numero de linea...!

gracias.. de ante mano ...


EL codigo a continuacion solo muestra las partes principales...! para que tengan una idea


import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;


TransformerFactory factoriaTrans = TransformerFactory.newInstance();
Transformer transformador = factoriaTrans.newTransformer(xsltSource);
transformador.transform(xmlSource, bufferResultado);
catch (TransformerException ex)
{
System.out.println(ex.getLocator()); //devuelve NULL


}