> je travaille avec un syst�me de documents XML qui sont tous
> adress�s par des chemins relatifs � un r�pertoire unique suppos� connu au
> moment de l'ex�cution.

Au contraite, le cas est simple.
Au lancement de ton application tu trouve le r�pertoire (passage de
param�tre ou autre solution).

Avec ton File tu en extrais une URL (.toURL()) et tu place sa forme String
(.toExtrenalForm()) dans une propri�t� System
(System.setProperty("fr.masoci�t�.monclien.monprojet$xmlSourceFolder",monUrl
EnString);

Quand tu lis un fichier en traitement, tu as juste � �crire 
InputSource.setSystemId(System.getProperty("fr.masoci�t�.monclien.monprojet$
xmlSourceFolder");

Si tes fichiers incluent d'autre fichiers � leur tour et que ces derniers
doivent aussi faire r�f�rence � ce dossier unique m�me s'ils sont plac�
n'importe ou sur le disque, tu d�finis un org.xml.sax.EntityResolver en
ajoutant :
InputSource.setSystemId(System.getProperty("fr.masoci�t�.monclien.monprojet$
xmlSourceFolder");
sur l'inputsource trouv�.
Et tu indiques � ton parser l'EntityResolver � utiliser.

A+

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
T�l. 01 41 96 96 76
Fax 01 41 96 96 77
M�l  [EMAIL PROTECTED] 
 

-----Message d'origine-----
De : Zeljko VELAJA [mailto:[EMAIL PROTECTED]]
Envoy� : vendredi 11 octobre 2002 11:04
� : [EMAIL PROTECTED]
Objet : RE: chemin vers une DTD dans Xerces


Tr�s clair. Mais le probl�me, c'est que c'est encore un peu trop restrictif
encore : je travaille avec un syst�me de documents XML qui sont tous
adress�s par des chemins relatifs � un r�pertoire unique suppos� connu au
moment de l'ex�cution. Il me faudrait en fait faire comprendre au parseur
que c'est par rapport � ce r�pertoire qu'il doit r�soudre les URL. Se baser
sur l'URL courante peut n�anmoins aider dans un premier temps : j'essaierai.

-----Message d'origine-----
De : Erik Mazoyer [mailto:[EMAIL PROTECTED]]
Envoy� : vendredi 11 octobre 2002 09:47
� : '[EMAIL PROTECTED]'
Objet : RE: chemin vers une DTD dans Xerces


Ce qu'il te faut, c'est dire � ton "org.xml.sax.InputSource" � quelle URL,
"elle" fait r�f�rence.

InputSource     source = new InputSource(...);
source.setSystemId(monUrl.toExternalForm());

Le syst�me r�soudra alors les inclusions avec le SystemId de ton fichier
c'est � dire l'url. Il faut donc que tes fichiers externes aient des urls
relatives � l'URL du fichier contenant.

C'est clair ???

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
T�l. 01 41 96 96 76
Fax 01 41 96 96 77
M�l  [EMAIL PROTECTED]


-----Message d'origine-----
De : Zeljko VELAJA [mailto:[EMAIL PROTECTED]]
Envoy� : jeudi 10 octobre 2002 17:35
� : [EMAIL PROTECTED]
Objet : chemin vers une DTD dans Xerces


Une question pour les mordus de SAX et de DOM :

j'utilise la classe DOMParser de Xerces pour parser un document XML. Dans ce
document je veux inclure un DOCTYPE qui importe une DTD d�clarant un certain
nombre d'entit�s. Je veux pouvoir utiliser une URL relative comme
identifiant syst�me, genre :

<!DOCTYPE mon_element_document SYSTEM "URI relative vers ma DTD">

Mon probl�me est le suivant : comment faire comprendre au parseur XML
comment r�soudre l'URL relative ? Par d�faut, il semble se baser sur le
premier chemin d�clar� dans le CLASSPATH. Or je voudrais pouvoir sp�cifier
moi-m�me le chemin de base qu'il doit prendre en compte (ind�pendamment du
CLASSPATH, bien entendu). Comment puis-je faire ? Mieux, existe-t-il un
moyen pour lui fournir le flux de la DTD par mes propres moyens ?

Répondre à