Ahoj,

tak tu ted resim takovy problemek... Web aplikace (Tomcat 5.0), pri startu 
servletu se parsuji (DOM) nejaka XML (Xerces 2.0.7). Ta XML maji relativni 
cestu k DTD. Zjistil jsem vsak, ze cesta je zavisla na tom, odkud se spusti 
Tomcat - jinymi slovy, je relativni k /bin adresare Tomcatu a ne ke XML 
dokumentu. Samozrejme - aplikace funguje jen v pripade, ze se Tomcat spusti 
davkou z /bin, pokud jej spustim jinak a odjinud, tak nastane problem, protoze 
DTD se nenajdou. Kdyz predelam adresy DTD relativne k dokumentum, taktez to 
nefunguje. 

Tak jsem to doho chvilu koukal a napadlo me, ze se to XML nacita pres stream a 
tudiz validator parseru nema asi pristup k informaci, kde se vlastne dokument 
nachazi a tudiz nemuze ani relativne k nemu najit to DTD... a clovek, ktery to 
psal prede mnou to nejspis vyresil tak, ze tam placnul relativni cestu k tomu 
binu a hotovo (coz mi zrovna nevyhovuje).

Utrzek kodu parsovani toho XML:

         DocumentBuilderFactory dbFactory = 
DocumentBuilderFactory.newInstance();
         DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
         document = docBuilder.parse(is);

kde is je inputstream toho XML

Jak bych mel rict tomu parseru, kde ten dokument lezi? Nejaka base URL/URI? 
Nebo je to uplne spatne?
Diky.

Martin

Odpovedet emailem