Bonjour à tous,

J'ai un souci avec le parsing d'un document XML, parsé avec SAX:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!