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