Bonjour � Tous,
Voici mon probleme : une webapp (d�ploy�e dans un un.war, sous WEBLOGIC 6.1) contient
un fichier XML r�f�ren�ant une DTD.
Je ne sais pas exactement:
1) ou placer, dans l'arborescence J2EE standard (webapp/WEB-INF...), les fichiers .xml
et .dtd.
2) comment r�f�rencer ma DTD dans le fichier XML
## Quelques precisions :
1) j'ai plac� le fichier XML dans : [webapp]/WEB-INF/classes/xml/gadgets.xml
2) j'ai plac� le fichier DTD dans : [webapp]/dtd/gadgets.dtd
3) La DTD est r�f�renc�e de la mani�re suivant dans le fichier XML :
<!DOCTYPE gadgets SYSTEM "dtd/gadgets.dtd">
4) ma servlet acc�de au fichier XML par un :
InputStream xmlfile =
this.getClass().getClassLoader().getResourceAsStream("xml/gadgets.xml");
==> R�sultats :
J'acc�de bien au fichier XML, mais la DTD associ�e est introuvable.
L'erreur : org.jdom.input.JDOMParseException: Error on line 0: File
"file:///C:/bea/wlserver6.1/config/domainU1/dtd/gadgets.dtd" not found.
Autrement dit le lien n'est pas r�solu de mani�re relative, mais en absolu !
Je sais qu'il y a une hi�rarchie pr�cise de ClassLoader(s) d�finit par le standard
J2EE.
Mais concernant la r�solution du lien sur le DOCTYPE, je pensais que cela �tait � la
charge du webserveur lui-meme.
C'est la raison pour laquelle, j'ai plac� la DTD directement sous l'arborescence de
webapp.
En vain...
Alors j'ai essay� d'autres trucs.
En particuliers, j'ai plac� la DTD au m�me endroit que le fichier XML, en donnant
comme DOCTYPE :
<!DOCTYPE gadgets SYSTEM "gadgets.dtd">
En vain...
Quel peut-�tre le probl�me sur la d�claration de la DTD ?
(faut dire que je n'ai pas enocre une connaissance approfondie de XML ! Mais je
cherche...)
Merci de vos �claircissements.