XSLTProcessor проблемма с импортированием нескольких стилей

polt

Новичок
XSLTProcessor проблемма с импортированием нескольких стилей

Добрый день!

Мой скрипт генерирует XML, после чего с помощью класс XSLTProcessor я подгружаю XSL стиль и получаю документ.
Все нормально работает если загружаю только одни стиль (один вызов функции XSLTProcessor::importStyleSheet). Мне же необходимо импортировать несколько стилей, я в цикле это и делаю, но ожидаемого результата не получаю.

Если не использовать цикличное включнение стилей, а вписать все в один XSL, то все работает.
Проверял разными программами, применяя к исходному XML стили по очереди, все работает.

На php с помощью XSLTProcessor::importStyleSheet нет. Не могу понять почему, то ли все же XSL у меня корявый, то ли так вообще нельзя делать..., я полагаю, что importStyleSheet, аналогична <xsl:import .. /> почему не работает тогда.
Менял местами порядок включения стилей в итоге все смахивает на то, что обрабатывается всегда только один стиль.

Сама задача, необходимо подключать стили, пути к которым генерирует PHP.

PHP:
$xml = new DOMDocument('1.0', 'utf-8');
$xml->load('test.xml');

$xsl = new XSLTProcessor();

$doc1 = new DOMDocument();
$doc1->load('test.xsl'); # основной докумет. Менять местами пробывал изменения не значительны.
$xsl->importStyleSheet($doc1);

$doc3 = new DOMDocument();
$doc3->load('import3.xsl');
$xsl->importStyleSheet($doc3);

$doc2 = new DOMDocument();
$doc2->load('import2.xsl');
$xsl->importStyleSheet($doc2);

$res = $xsl->transformToDoc($xml);
$data = $res->saveXML();
header('Content-Type: text/html; charset=utf-8;');
echo $data;
-~{}~ 21.04.09 10:53:

Разобрался я...
Точнее сделал по другому, включаю элементы не с помощью XSLTProcessor::importStyleSheet, а с помощью DOMDocument::createElementNS и т.д....
Кстати, обязательно createElementNS нужно использовать!

В общем диагноз - "кривые руки, больная голова" и "учите мат.часть" :)
 
Сверху