Я использовал следующий код для выполнения XSLT в php:
# LOAD XML FILE
$XML = new DOMDocument();
$XML = simplexml_load_file("images/upload/source.xml");
# START XSLT
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( 'xsl/transfer.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet( $XSL );
#PRINT
print $XML->saveXML();
print $XML->save("newfile.xml") ;
Код довольно прост, нам нужно загрузить исходный XML-файл, а затем загрузить таблицу стилей, и это действительно так.на самом деле работает.
Код, который вызывает проблемы, - это последняя строка:
print $XML->save("newfile.xml") ;
после выполнения которого я получил ошибку "Неустранимая ошибка: вызов неопределенного метода SimpleXMLElement :: save ()".Но, на самом деле, я следовал здесь учебнику: http://devzone.zend.com/article/1713.
Может быть, я что-то напортачил, кто-нибудь может дать мне подсказку?заранее спасибо.
Следуя советам ваших ребят, я изменил код следующим образом:
# LOAD XML FILE
$XML = new DOMDocument();
$XML->load("images/upload/source.xml");
# START XSLT
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( 'xsl/transfer.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet( $XSL );
#PRINT
print $xslt->transformToXML( $XML );
теперь корректно преобразованный XML отображается в браузере, я попробовал несколько способовно все еще не мог понять, как напечатать этот результат в файл вместо отображения в браузере, любая помощь приветствуется, заранее спасибо.