xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_set_start_namespace_decl_handler 名前空間開始ハンドラを設定する

説明

xml_set_start_namespace_decl_handler(XMLParser $parser, callable $handler): bool

名前空間を宣言したところでコールされるハンドラを設定します。 名前空間の宣言は、開始タグの中で行います。 しかし、名前空間宣言の開始ハンドラがコールされるのは、 その開始タグのハンドラがコールされるより前になります。

パラメータ

parser

XML パーサへの参照。

handler

handler には、関数名を文字列で指定します。 これは、parser に対して xml_parse() がコールされたときに存在しなければなりません。

handler で指定した関数は、 3 つのパラメータを受け取って整数値を返すものでなければなりません。 戻り値が false (何も値を返さなかったときもこれにあてはまります) の場合、XML パーサはパースを停止し、 xml_get_error_code()XML_ERROR_EXTERNAL_ENTITY_HANDLING を返します。

handler(XMLParser $parser, string $prefix, string $uri)
parser
最初のパラメータ parser は、ハンドラをコールした XML パーサへの参照です。
prefix
XML オブジェクト内の名前空間を参照する際に使う文字列。
uri
名前空間の URI。

ハンドラ関数に空文字列や false を設定すると、 そのハンドラは無効になります。

注意: 関数名の代わりに、オブジェクトへの リファレンスを格納した配列とメソッド名を指定することもできます。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 引数 parser は、 XMLParser インスタンスを期待するようになりました。 これより前のバージョンでは、リソースが期待されていました。

参考

関連キーワード:  ハンドラ, handler, 開始, 設定, parser, decl, コール, 関数, namespace, パーサ