Неправильные пути, при использование XSLT

ageres

Guest
Неправильные пути, при использование XSLT

При попытке подключить XSL файл: путь "./имя_файла".

В качестве стартовой директории берётся ServerRoot.

При попытка задать, другие директории, путём:
$root = $_SERVER['DOCUMENT_ROOT'];
$result = @xslt_process($xh, 'arg:/_xml', "$root/sample.xsl", NULL, $arguments);

Выводит ошибку парсинга, даже если - там файла нет.

Как с этим бороться, система WinXP, Apache 2, 1.3, PHP 4.3.3 .
 

ageres

Guest
Лол! спасибо, сам не заметил, плохо соображаю под утро.
 

ageres

Guest
Попробовал xslt_set_base(); - не помогло. Использовал команду, типа: xslt_set_base($xh, $dir).

В результате получал ошибку. В итоге помогло указание, пути типа (/mydir/*.xsl). Т.е. пути типа E:/etc - отказывается воспринимать, только в Unix формате /etc/*.xsl.

При этом в качестве "/" берётся E:/ .
 

ageres

Guest
Попробовал на Unixe, всё пошло без проблем, что подтвердило мою теорию.
Строка:
$html = xslt_process($xh, 'arg:/_xml', "$root/test/sample.xsl", NULL, $arguments);

прошла на ура!
 

ageres

Guest
Вот ещё способ, как можно обойти эту проблему под Win+:
$path = $_SERVER['SCRIPT_FILENAME'];
$path = substr($path,0,strrpos($path, '/')+1);
xslt_set_base($xsltHandle, "file://".$path);
 
Сверху