XSLT 関数
導入
このPHP拡張モジュールは、APIに独立なXSLT変換を提供します。現在、 この拡張モジュールは、Ginger AllianceによるSablotronライブラリの みをサポートします。Xalanライブラリまたはlibxsltライブラリのよう な他のライブラリのサポートも計画されています。
XSLT (Extensible Stylesheet Language (XSL) Transformations) は、XMLドキュメントを他のXMLドキュメントに変換 する言語です。XSLTは、World Wide Web コンソーシアム (W3C) により 標準化されています。XSLTに関する情報と関連技術については、 » https://www.w3.org/TR/xslt から得ることができま す。
注意: この拡張は、PHP 4.1.0 より前のバージョンPHPで配布されていた sablotron拡張モジュールとは異なっており、現在、PHP 4.1.0 の新しい XSLT拡張モジュールのみがサポートされています。古い拡張モジュー ルのサポートが必要な場合は、PHPのメーリングリストに質問してください。
注意: この拡張モジュールは » PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.0.0.
注意: PHP5でxsltサポートを必要とする場合、 XSLエクステンションを使用することができます。
要件
このエクステンションは、Sablotonおよび expat を使用します。これらは、共に » https://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 システムの PATH が通った場所に DLL ファイルが存在する必要があります。 FAQ の "Windows で PHP のディレクトリを PATH に追加するにはどうすればいいのですか?" で、その方法を説明しています。 DLL ファイルを PHP のフォルダから Windows のシステムディレクトリにコピーしても動作します (システムディレクトリは、デフォルトで PATH に含まれるからです) が、これは推奨しません。 この拡張モジュールを使用するには、以下のファイルが PATH の通った場所にある必要があります。 sablot.dll、 expat.dll および iconv.dll
PHP <= 4.2.0 では、iconv.dll は不要です。
実行時設定
設定ディレクティブは定義されていません。
リソース型
この拡張モジュールでは XSLT プロセッサリソースを定義しています。これは xslt_create() が返すものです。
定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが 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 — XSLT による変換を行う
- 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 プロセッサにオプションを設定する