parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

DOCTYPE versus auto.p

Владимир Степанов 25.01.2005 15:54 / 25.01.2005 15:56

$request:document-root срабатывает, будучи вставлен в объявление DOCTYPE, а в xdoc::create -- нет. С тем же сообщением о невозможности найти DTD. Я не написал сразу, чтобы не загромождать.

У меня задача в том, чтобы код parser-а не использовался внутри xml и xslt, по разным соображениям. Поэтому напрягает, что приходится вставлять переменную в DOCTYPE. Судя по всем описаниям, этого вполне можно избежать.

Я так понимаю, происходит следующее. Методу postprocess передаётся тело обрабатываемого документа, т.е. моего xml-я. Далее, создаём объект xdoc. Внутри в доктайпе стоит DTD без явного указания пути. Стало быть,
1) parser смотрит, каков базовый путь, и не лежит ли там в корне нужный документ.
Если не получилось, то
2) parser ищет там, где лежит обрабатываемый документ.

В моём примере места из 1 и 2 физически суть одно, но не это важно. Важно, что не работает, и не помогает задание пути конструктору ни в какой форме, а помогает задание пути (прямо перенос того же кода) в DOCTYPE.

Где я ошибаюсь?