Bonjour, je suis en train de développer une application lourde dont l'une des fonctions et d'analysé le contenu d'une page html et d'en vérifier sa validité au W3C.
Dans un premier temps je charge le contenu d'une page dont je donne l'adresse puis je l'enregistre dans un fichier html temporaire pour l'analyser.

Pour cela j'utilise xerces dont voici le code que j'utilise (pour le moment)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
DOMParser dp = new DOMParser();
dp.setFeature("http://xml.org/sax/features/validation",false);
dp.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace",false);
dp.parse("test.html");
Ma page de test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head><title>Titre</title></head>
<body style="text-align:center; background-color:#000">
<a href="lienr"><img src="/design/index.png" style="border:none"/></a>
</body>
</html>
Le soucis est que lorsque j'ai la ligne du doctype j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
Alors que j'arrive à télécharger la dtd quand j'utilise mon navigateur web.

Si je retire cette ligne pour la dtd je peux facilement parser ma page web et obtenir les infos que je veux.