Разработка сайтов на UMI.CMS
Знать UMI.CMS в совершенстве невозможно.
Даже сами разработчики знают о ней не все...

UMi

Ursa Minor

XSLT в PHP

Работа с XML и XSLT в PHP

Разбираем на примере

$xml = new domDocument();
$xml -> load('./index.xml');
$xsl = new domDocument();
$xsl -> load('./index.xsl');
$processor = new XSLTProcessor();
$processor -> registerPHPFunctions();
$xsl = $processor -> importStylesheet($xsl);
$string = $processor -> transformToXml($xml);

echo $string;

Что делается:

  1. создаем объект domDocument (по умолчанию кодировка utf-8)
  2. загружаем в него xml
  3. то же самое для xsl-шаблона
  4. метод registerPHPFunctions следует вызывать, если предполагается обрабатывать в xsl-шаблоне php-функции
  5. в $string получаем обработанный документ

По п.4. следует иметь в виду:
т.о. легко вызываются глобальные функции. Для этого в xslt есть инструкция php:function. Например,

<xsl:variable name="test1" select="php:function('testfunc', 'YES!','xslt')"/>

Здесь testfunc - имя вызываемой функции. Все остальное - ее аргументы.

Увы, как я ни старался, я не смог понять, как вызывать не только функции, но и методы классов. Буржуи на своих форумах утверждают, что методы библиотек вызываются. Я не смог этого повторить. А как вызвать метод объекта - для меня полная загадка.

 

Новости

30.10.2016

Обновлено описание макроса для вывода всех элементов справочника UMI.CMS с учетом версии 14.

 

21.07.2015

Памятка по обновлению до debian 8.1. Приятно вкусить все плюшки PHP 5.6

11.11.2014

Как выполнить SQL-запрос из bash-скрипта. Памятка

11.11.2014

Как отследить нагрузку сайта на сервер.

06.11.2014

Заготовка для галереи изображений с прокруткой. Не знаю, когда дойдут руки довести ее до вида плагина, поэтому открываю как есть. Можно доработать.

05.11.2014

Выкладываю как заготовку свой слайдер изображений на mootools

Все обновления