Forum und email

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 » https://www.w3.org/TR/xslt.

Note: This extension is different than the sablotron extension distributed with versions of PHP prior to PHP 4.1.0, currently only the new XSLT extension in PHP 4.1.0 is supported. If you need support for the old extension, please ask your questions on the PHP mailing lists.

Note: 本擴充功能已被移動到 » PECL 函式庫中且自以下版本起不再被包含到 PHP 中:5.0.0.

Note: 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 » https://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.

Caution

Be sure your Sablot library is linked to -lstdc++ as otherwise your configure will fail, or PHP will fail to run or load.

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

Note: Note to Win32 Users 需要有DLL檔案存在於PATH的Windows系統上,來使此擴充功能運作。參見FAQ主題為"如何增加PHP目錄至Windows上的PATH環境變數",可獲得如何完成這些步驟的資訊。雖然從PHP資料夾複製DLL檔案至Windows系統目錄也可行(因為PATH預設包含系統目錄),不過不建議這樣做。此擴充功能需要以下檔案存在PATH中: sablot.dll, expat.dll, and iconv.dll
For PHP <= 4.2.0, the file iconv.dll is not required.

執行時期設定

本擴充功能在 php.ini 中未定義任何設定選項。

資源類型

This extension defines a XSLT processor resource returned by xslt_create().

預設常數

以下常數由擴充功能定義,因此只有在擴充功能被編譯到 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.

Table of Contents