Учебник по основам PHP. PHPBeginner

       

XSLT


XSLT (Extensible Stylesheet Language (XSL) Transformations) — язык преобразований XML-документов в другие XML-документы; стандарт, определенный Консорциумом World Wide Web (W3C). С документацией можно ознакомиться по адресу: http://www.w3.org/TR/xslt.

Технология предназначена для разделения содержания и формы представления документов с помощью шаблонов преобразования XSL. Обычно документы XML преобразовывают в формат HTML.

Это расширение использует Sabloton и expat (http://www.gingerall. com/). В UNIX при компиляции PHP запустите configure с ключом -with-sablot.

xslt_create

Инициализация нового процессора XSL

resource xslt_create(void);

Функция возвращает дескриптор, используемый последующими XSL-функциями.

xslt_free

Закрытие процессора XSLT

void xslt_free (resource xh)

xslt_openlog

Назначение журнала сообщений процессора XSLT

bool xslt_openlog ([resource xh, string logfile, int loglevel])



В указанный файл logfile будут записываться все сообщения об ошибках.

xslt_closelog

Закрытие и очистка журнала сообщений процессора XSLT

bool xslt_closelog (resource xh)

xslt_errno

Получение номера текущей ошибки процессора XSLT

int xslt_errno ([int xh])

xslt_error

Получение описания текущей ошибки

mixed xslt_error ([int xh])

xslt_fetch_result

Получение преобразованных данных из буфера

string xslt_fetch_result ([int xh, string result_name])

Если имя буфера не указывается в result_name, то подразумевается «/jresult».

xslt_output_ begintransform

Начало преобразования XSLTc выводом

void xslt_output_begintransform (string xslt_filename)

Функция заставляет преобразовывать все выводимые данные с учетом шаблона из файла xslt_filename. Затем следует вызвать функцию xslt_output_endtransform().

<?php $xsl_file = "article.xsl";

xslt_output_begintransform($xsl_file):

Sdoc = new_xmldoc('1.0').

Sarticle = $doc->new_root('article'};

$article->new_child('title'. 'The History').

$article->new_child('author'. 'Peter'),

$article->new_child('body'. 'Nothing interesting has happened'):


echo $doc->dumpmem(); xslt_output_endtransform(). ?>

xslt_output_endtransform

Завершение преобразования, начатого xslt_output begintransform void xslt_output_endtransform (void);

Эту функцию следует вызвать для того, чтобы вывести преобразованный документ.

xslt_process

Преобразование документа XML с помощью шаблона XSL

bool xsH_process (string xsl_data, string xirHI_data, string result) В аргументе xsl_data указывается текст шаблона XSLT, а в xml_data — текст документа XML. Возвращает TRUE или FALSE — при ошибке.

См. также: xslt_errno() и xslt_error() для получения кодов ошибки.

<?php JxslData =

<xsl:stylesheet version="l 0"

xmlns:xsb"http-//www.w3 org/1999/XSL/Transfonn">

<xsl template match="article">

<table border="l" cellpadding="2" cellspacing="l"> <tr>

<td vndth="800">

<h2><xsl value-of select,="title"></h2> <h3>

<xsl value-of select="author"></h3>

<br><xsl.value-of select="body"> </td> </tr>

</table> </xsl-templdte> </xsl:stylesheet>

SxmlData ' ' <?xml version^"!.0"?> <article>

<title>Learning Language</title>

<author>I Myself</author> <body>

Essential phrases: <br> <br> Hello.

Good day.<br> </body> </article>';

if (xslt_process($xs!Data. SxmlData. $resuH.O {

echo "Here is the article:<br>\n<br>", Sresult;

} else ( echo "Ошибка преобразования XSL.

\nUHonep' " xslt_errno() .

"\п\Описание: " xslt_error() . "\n"; exit: } ?>

xslt_run

Применение XSLT к файлу

bool xslt_run ([resource xh, string xslt_file. string xmt_data_file. string result, array xslt_params, array xslt_args]]])

Преобразовывает файл xm!_data_file, применяя к нему шаблон из файла xslt_file. Шаблон получает доступ к массиву параметров xslt_ params и аргументов xstt_args. Результат XSLT-трансформации заносится в именованный буфер (по умолчанию «_result»).

xslt_set_sax_handler

Установка обработчиков SAX для процессора XSLT

bool xslt_set_sax_handler (resource xh. array handlers)

xslt_transform

Выполнение трансформации XSLT

bool xslt_transforn> (string xsl, string xml, string result, string params, string args, string resultBuffer)

Предоставляет расширенный интерфейс библиотеки Sablotron без необходимости использования ресурсов API.


Содержание раздела