Т.е. здесь всю трансформацию произведет сервер (а не браузер, как при трансформации на стороне клиента), и в конце вернет html-файл (т.е. в исходном коде мы увидим таблицы стилей). В итоге мы обойдем два недостатка работы XSL (см. предыдущую статью).
Для этого должно быть подключено расширение php_xsl.dll в файле php.ini. И сама трансформация осуществляется в несколько шагов:
- Создаем экземпляр класса DOMDocument и загружаем в него xml-файл (строки №1-3).
- Делаем то же самое для xsl-документа (строки №4-6).
- Создаем XSLT парсер (строки №7-9).
- Даем ему команду на парсинг (строки №10,11). Сюда придет строка.
//Загрузка исходного XML-документа $xml = new DOMDocument(); $xml->load("catalog.xml"); //Загрузка таблицы стилей XSL $xsl = new DOMDocument(); $xsl->load("catalog.xsl"); //Создание XSLT-процессора и загрузка в него стилевой таблицы $processor = new XSLTProcessor(); $processor->importStylesheet($xsl); //Выполнение трансформации и получение результатов $html = $processor->transformToXml($xml); echo $html;