Erreur pour trouver la DTD d'un fichier XML parsé!
Bonjour à tous,
J'ai un souci avec le parsing d'un document XML, parsé avec SAX:
Code:
1 2 3 4 5 6 7 8
| SAXParserFactory fabrique = SAXParserFactory.newInstance();
//System.err.println("Validation: "+fabrique.getFeature("http://xml.org/sax/features/validation"));
// creation d'un parseur SAX
SAXParser parseur = fabrique.newSAXParser();
// lecture d'un fichier XML avec un DefaultHandler
File fichier = new File(fileName);
SPAMHandler gestionnaire = new SPAMHandler();
parseur.parse(fichier, gestionnaire); |
La feature "validation" est à false (je l'ai affiché, comme vous le voyez).
Les premières lignes de mon XML sont:
Code:
1 2
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE exemple SYSTEM "document.dtd"> |
Et mon exécutable a BESOIN de trouver le fichier "document.dtd" dans le working directory, sinon il tente d'accéder à la DTD et crache une "FileNotFOundException"!
Pouvez vous m'expliquer pourquoi SAX cherche automatiquement la DTD dans le working directory svp? Quelles seraient les options pour me sortir de là?
Je ne peux tout de même pas mentionner un chemin d'accès complet en tête de mon fichier XML...
Merci à vous!