Я использую XML-Simple вместе с XML-SAX-Expat для анализа документа с внешними объектами. Я объявляю свое предприятие как:Perl XML-SAX-Expat местоположение внешнего объекта
<!ENTITY chap1 SYSTEM "chapter-1.xml">
И ссылаюсь на другой файл в том же каталоге.
Однако, он ищет мой текущий рабочий каталог для файла, а не местоположение корневого документа.
404 File `/u/egge/chapter-1.xml' does not exist
Handler couldn't resolve external entity at line 35, column 2, byte 1040
error in processing external entity reference at line 35, column 2, byte 1040 at /perl5/PROJ/XML-Parser/2.36-2.0.1-5.10-64/lib/perl5/XML/Parser.pm line 187
Как я могу заставить его использовать каталог корневого документа вместо моего CWD?
По какой-либо причине вы не можете прост 'chdir' определить местоположение корневого документа? В противном случае вам, вероятно, потребуется включить образец кода, демонстрирующий, что вы делаете. – RickF
Это зависит от среды, в которой вы находитесь. Это Apache? CGI/mod_perl? Возможно, ваш document_root доступен через переменные типа $ r. – KateYoak