package routines;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import com.sun.xml.internal.bind.v2.model.core.ErrorHandler;
import com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationException;
public class MyRoutine {
private String ausgabe;
File file ;
File output;
public void xml(String filepath) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
factory.setNamespaceAware(true);
file = new File(filepath);
output = new File ("Error");
DocumentBuilder builder;
try {
builder = factory.newDocumentBuilder();
builder.setErrorHandler(new org.xml.sax.ErrorHandler() {
@Override
public void warning(SAXParseException e) throws SAXException {
renameFile(file,"Error");
System.err.println("XML FEHLER");
e.printStackTrace();
ausgabe = "XML FEHLER";
}
@Override
public void fatalError(SAXParseException e) throws SAXException {
renameFile(file,"Error");
System.err.println("XML FEHLER");
ausgabe = "XML FEHLER";
e.printStackTrace();
}
@Override
public void error(SAXParseException e) throws SAXException {
renameFile(file,"Error");
System.err.println("XML FEHLER");
e.printStackTrace();
ausgabe = "XML FEHLER";
}
});
builder.parse(file);
System.out.println("alles gut");
ausgabe = "ALLES GUT";
} catch (ParserConfigurationException e) {
renameFile(file,"Error");
System.err.println("XML FEHLER");
e.printStackTrace();
ausgabe = "XML FEHLER";
} catch (SAXException e) {
System.err.println("XML FEHLER");
renameFile(file,"Error");
e.printStackTrace();
ausgabe = "XML FEHLER";
} catch (IOException e) {
System.err.println("XML FEHLER");
renameFile(file,"Error");
e.printStackTrace();
ausgabe = "XML FEHLER";
}
}
@Override
public String toString() {
return ausgabe;
}
public static File renameFile(File fAlt, String directoryMoveTo) {
if (fAlt == null || !fAlt.exists())
return null;
File file2 = new File(directoryMoveTo, fAlt.getName());
fAlt.renameTo(file2);
return file2;
}
public class SimpleErrorHandler implements ErrorHandler {
public void warning(SAXParseException e) throws SAXException {
renameFile(file,"Error");
System.out.println(e.getMessage());
}
public void error(SAXParseException e) throws SAXException {
renameFile(file,"Error");
System.out.println(e.getMessage());
}
public void fatalError(SAXParseException e) throws SAXException {
renameFile(file,"Error");
System.out.println(e.getMessage());
}
@Override
public void error(IllegalAnnotationException arg0) {
}
}
}