Руководство по PHP
Пред. |  | След.

# CLXXX. XSLT Functions

# Введение

This PHP extension provides a processor independent API to XSLT transformations. Currently this extension only supports the Sablotron library from the Ginger Alliance. Support is planned for other libraries, such as the Xalan library or the libxslt library.

XSLT (Extensible Stylesheet Language (XSL) Transformations) is a language for transforming XML documents into other XML documents. It is a standard defined by The World Wide Web Consortium (W3C). Information about XSLT and related technologies can be found at http://www.w3.org/TR/xslt.

> Замечание: This extension is different than the sablotron extension distributed with versions of PHP prior to PHP 4.1, currently only the new XSLT extension in PHP 4.1 is supported. If you need support for the old extension, please ask your questions on the PHP mailing lists.

> Замечание: This extension has been moved to the PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

> Замечание: If you need xslt support with PHP 5 you can use the XSL extension.

# Требования

This extension uses Sablotron and expat, which can both be found at http://www.gingerall.org/sablotron.html. Binaries are provided as well as source.

# Установка

On Unix, run configure with the `--enable-xslt` `--with-xslt-sablot` options. The Sablotron library should be installed somewhere your compiler can find it.

Make sure you have the same libraries linked to the Sablotron library as those, which are linked with PHP. The configuration options: `--with-expat-dir=DIR` `--with-iconv-dir=DIR` are there to help you specify them. When asking for support, always mention these directives, and whether there are other versions of those libraries installed on your system somewhere. Naturally, provide all the version numbers.

Предостережение
Be sure your Sablot library is linked to `-lstdc++` as otherwise your configure will fail, or PHP will fail to run or load.

> JavaScript E-XSLT support: If you compiled Sablotron with JavaScript support, you must specify the option: `--with-sablot-js=DIR`.

> Note to Win32 Users: In order to enable this module on a Windows environment, you must copy several files from the DLL folder of the PHP/Win32 binary package to the SYSTEM32 folder of your windows machine. (Ex: `C:\WINNT\SYSTEM32` or `C:\WINDOWS\SYSTEM32`). For PHP <= 4.2.0 copy `sablot.dll` and `expat.dll` to your SYSTEM32 folder. For PHP >= 4.2.1 copy `sablot.dll`, `expat.dll` and `iconv.dll` to your SYSTEM32 folder.

# Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в `php.ini`.

# Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

# Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

`XSLT_OPT_SILENT` (integer)

  Drop all logging and error reporting. This is a generic option for all backends that may be added in the future.

`XSLT_SABOPT_PARSE_PUBLIC_ENTITIES` (integer)

  Tell Sablotron to parse public entities. By default this has been turned off.

`XSLT_SABOPT_DISABLE_ADDING_META` (integer)

  Do not add the meta tag "Content-Type" for HTML output. The default is set during compilation of Sablotron.

`XSLT_SABOPT_DISABLE_STRIPPING` (integer)

  Suppress the whitespace stripping (on data files only).

`XSLT_SABOPT_IGNORE_DOC_NOT_FOUND` (integer)

  Consider unresolved documents (the document() function) non-lethal.

`XSLT_SABOPT_FILES_TO_HANDLER` (integer)

`XSLT_ERR_UNSUPPORTED_SCHEME` (integer)

  Error return code, for scheme handlers.

Пред. | Начало | След.
XSLTProcessor->transformToXML() | Уровень выше | xslt_backend_info