@Override public void startElement( String namespaceURI, String localName, String nombre, Attributes atributo) throws SAXException { if (nombre.equalsIgnoreCase("article") || nombre.equalsIgnoreCase("inproceedings") || nombre.equalsIgnoreCase("proceedings") || nombre.equalsIgnoreCase("book") || nombre.equalsIgnoreCase("incollection") || nombre.equalsIgnoreCase("phdthesis") || nombre.equalsIgnoreCase("mastersthesis")) { totalElementos++; if (totalElementos % 70000 == 0) { int porcentaje = (totalElementos * 100) / 3189809; Estado.reportarEstado("Cargando " + porcentaje + "% y " + totalElementos + " elementos"); System.out.print("\b\b\b"); if (porcentaje < 10) System.out.print(" " + porcentaje + "%"); else System.out.print(porcentaje + "%"); } conector.agregarElemento(atributo.getValue("key")); } else if (nombre.equalsIgnoreCase("title")) { conector.iniciarSubElemento(Conector.Titilo); } else if (nombre.equalsIgnoreCase("author") || nombre.equalsIgnoreCase("editor")) { conector.iniciarSubElemento(Conector.Autor); } else if (nombre.equalsIgnoreCase("year")) { conector.iniciarSubElemento(Conector.Año); } }
@Override public void characters(char[] caracteres, int inicio, int largo) throws SAXException { if (conector.definiendoSubElemento() == Conector.Titilo || conector.definiendoSubElemento() == Conector.Autor || conector.definiendoSubElemento() == Conector.Año) { conector.agregarSubElemento(new String(caracteres, inicio, largo)); } }
@Override public void endElement(String namespaceURI, String localName, String rawName) throws SAXException { if (rawName.equalsIgnoreCase("article") || rawName.equalsIgnoreCase("inproceedings") || rawName.equalsIgnoreCase("proceedings") || rawName.equalsIgnoreCase("book") || rawName.equalsIgnoreCase("incollection") || rawName.equalsIgnoreCase("phdthesis") || rawName.equalsIgnoreCase("mastersthesis")) { conector.finalizarElemento(); } else if (rawName.equalsIgnoreCase("title") || rawName.equalsIgnoreCase("author") || rawName.equalsIgnoreCase("editor") || rawName.equalsIgnoreCase("year")) { conector.finalizarSubElemento(); } }
public class GestorDeConfiguracion extends DefaultHandler { private Conector conector = Conector.IniciarConexion(); private int totalElementos = 0; @Override public void startElement( String namespaceURI, String localName, String nombre, Attributes atributo) throws SAXException { if (nombre.equalsIgnoreCase("article") || nombre.equalsIgnoreCase("inproceedings") || nombre.equalsIgnoreCase("proceedings") || nombre.equalsIgnoreCase("book") || nombre.equalsIgnoreCase("incollection") || nombre.equalsIgnoreCase("phdthesis") || nombre.equalsIgnoreCase("mastersthesis")) { totalElementos++; if (totalElementos % 70000 == 0) { int porcentaje = (totalElementos * 100) / 3189809; Estado.reportarEstado("Cargando " + porcentaje + "% y " + totalElementos + " elementos"); System.out.print("\b\b\b"); if (porcentaje < 10) System.out.print(" " + porcentaje + "%"); else System.out.print(porcentaje + "%"); } conector.agregarElemento(atributo.getValue("key")); } else if (nombre.equalsIgnoreCase("title")) { conector.iniciarSubElemento(Conector.Titilo); } else if (nombre.equalsIgnoreCase("author") || nombre.equalsIgnoreCase("editor")) { conector.iniciarSubElemento(Conector.Autor); } else if (nombre.equalsIgnoreCase("year")) { conector.iniciarSubElemento(Conector.Año); } } @Override public void endElement(String namespaceURI, String localName, String rawName) throws SAXException { if (rawName.equalsIgnoreCase("article") || rawName.equalsIgnoreCase("inproceedings") || rawName.equalsIgnoreCase("proceedings") || rawName.equalsIgnoreCase("book") || rawName.equalsIgnoreCase("incollection") || rawName.equalsIgnoreCase("phdthesis") || rawName.equalsIgnoreCase("mastersthesis")) { conector.finalizarElemento(); } else if (rawName.equalsIgnoreCase("title") || rawName.equalsIgnoreCase("author") || rawName.equalsIgnoreCase("editor") || rawName.equalsIgnoreCase("year")) { conector.finalizarSubElemento(); } } @Override public void characters(char[] caracteres, int inicio, int largo) throws SAXException { if (conector.definiendoSubElemento() == Conector.Titilo || conector.definiendoSubElemento() == Conector.Autor || conector.definiendoSubElemento() == Conector.Año) { conector.agregarSubElemento(new String(caracteres, inicio, largo)); } } @Override public void warning(SAXParseException exception) throws SAXException { Mensaje("Advertencia\n", exception); throw new SAXException("Advertencia"); } @Override public void error(SAXParseException exception) throws SAXException { Mensaje("Error en el analisis\n", exception); throw new SAXException("Error"); } @Override public void fatalError(SAXParseException exception) throws SAXException { Mensaje("Error fatal en el analisis\n", exception); throw new SAXException("Error Fatal"); } private void Mensaje(String tipo, SAXParseException excepcion) { System.out.println( tipo + " Linea: " + excepcion.getLineNumber() + " URI: " + excepcion.getSystemId() + "\n" + " Mensaje: " + excepcion.getMessage()); } }