CLXXVI. XSLT 関数

導入

このPHP拡張モジュールは、APIに独立なXSLT変換を提供します。現在、 この拡張モジュールは、Ginger AllianceによるSablotronライブラリの みをサポートします。Xalanライブラリまたはlibxsltライブラリのよう な他のライブラリのサポートも計画されています。

XSLT (Extensible Stylesheet Language (XSL) Transformations) は、XMLドキュメントを他のXMLドキュメントに変換 する言語です。XSLTは、World Wide Web コンソーシアム (W3C) により 標準化されています。XSLTに関する情報と関連技術については、 http://www.w3.org/TR/xslt から得ることができま す。

注意: この拡張は、PHP 4.1より前のバージョンPHPで配布されていた sablotron拡張モジュールとは異なっており、現在、PHP 4.1の新しい XSLT拡張モジュールのみがサポートされています。古い拡張モジュー ルのサポートが必要な場合は、PHPのメーリングリストに質問してください。

注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.0.0.

注意: PHP5でxsltサポートを必要とする場合、 XSLエクステンションを使用することができます。

要件

このエクステンションは、Sablotonおよび expat を使用します。これらは、共に http://www.gingerall.org/sablotron.htmlから得ること が可能です。 実行バイナリがソースコードと同様に配布されています。

インストール手順

UNIXでは、オプション --enable-xslt --with-xslt-sablotを指定 してconfigure を実行します。ライブラリ Sablotron をコンパイラが見付けられる 場所にインストールする必要があります。

Sablotronにリンクされているのと 同じライブラリとPHPがリンクされていることを確認してください。 設定オプション --with-expat-dir=DIR --with-iconv-dir=DIR は、これらの指定を行う際に有用です。 サポートに質問する際に、常にこれらのディレクティブや、他のバージョン のライブラリが使用するシステムのどこかにインストールされて いるかどうかについて述べるようにしてください。 普通は、全てのバージョン番号を知らせてください。

注意

Sablot ライブラリは -lstdc++ にリンクしていることに 注意してください。そうでないとコンフィギュアに失敗したり、 PHP が起動しない、あるいはロードされません。

JavaScript E-XSLTサポート: SablotronをJavaScriptサポートを付けてコ ンパイルした場合、オプション --with-sablot-js=DIRを指定する必 要があります。

Win32ユーザへの注意: このモジュールを Windows 環境で使用するには、 sablot.dll を PHP/Win32 バイナリパッケージの DLL フォルダから使用する Windows マシンの SYSTEM32 フォルダ (例: C:\WINNT\SYSTEM32 または C:\WINDOWS\SYSTEM32) へコピーする必要があります。 PHP <= 4.2.0 の場合、sablot.dllexpat.dllを SYSTEM32フォルダにコピーしてください。 PHP >= 4.2.1 の場合、sablot.dll, expat.dll, iconv.dll を SYSTEM32 フォルダにコピーしてください。

実行時設定

設定ディレクティブは定義されていません。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

XSLT_OPT_SILENT (integer)

ログ出力とエラー報告を全てドロップします。 将来追加される全てのバックエンドについて共通のオプションです。

XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (integer)

Sablotronがpublicエンティティを パースするようにします。デフォルトではオフになっています。

XSLT_SABOPT_DISABLE_ADDING_META (integer)

HTML出力のときに "Content-Type" メタタグを追加しません。 Sablotronのコンパイル時にデフォルト値が セットされます。

XSLT_SABOPT_DISABLE_STRIPPING (integer)

空白の除去を抑制します。(データファイルに対してのみ)

XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (integer)

解決できない文章 (document() 関数) をリテラルでないものと見なします。

XSLT_SABOPT_FILES_TO_HANDLER (integer)

XSLT_ERR_UNSUPPORTED_SCHEME (integer)

スキームハンドラ のエラーをコードで返します。

目次
xslt_backend_info --  バックエンドのコンパイル設定についての情報を返す
xslt_backend_name --  バックエンドの名前を返す
xslt_backend_version --  Sablotron のバージョン番号を返す
xslt_create -- 新規のXSLTプロセッサを作成する
xslt_errno -- カレントエラー番号を返す
xslt_error -- カレントのエラー文字列を返す
xslt_free -- XSLT プロセッサを開放する
xslt_getopt --  XSL プロセッサのオプションを取得する
xslt_process -- XSLデータを有する文字列によりXMLデータを変換する
xslt_set_base -- 全てのXSLT変換用の基準URIを設定する
xslt_set_encoding --  XMLドキュメントをパースするエンコーディングを設定する
xslt_set_error_handler -- XSLTプロセッサ用のエラーハンドラを設定する
xslt_set_log -- ログメッセージを書き込むためのログファイルを設定する
xslt_set_object --  コールバック関数を解決するためのオブジェクトを設定する
xslt_set_sax_handler -- XSLTプロセッサに SAX ハンドラを設定する
xslt_set_sax_handlers --  XMLドキュメントを処理する際にコールされる SAX ハンドラを設定する
xslt_set_scheme_handler -- XSLTプロセッサ用にスキーマハンドラを設定する
xslt_set_scheme_handlers --  XSLTプロセッサに関するスキーマハンドラを設定する
xslt_setopt --  与えられた XSL プロセッサにオプションを設定する