xml_set_notation_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_notation_decl_handler表記法宣言ハンドラを設定する

説明

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

XML パーサ parser の表記法宣言用ハンドラ関数を設定します。

表記法の宣言は、ドキュメントの DTD の一部であり、 次のようなフォーマットとなります。

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
表記法宣言の定義に関しては、 » XML 1.0 仕様の 4.7 節 を参照ください。

パラメータ

parser

表記法宣言ハンドラ関数を設定する XML パーサへの参照。

handler

handler は、 parser に関して xml_parse() がコールされた際に必要な関数の名前を有する文字列です。

handler という名前の関数は、5つのパラメータをとる必要があります。

handler(
    XMLParser $parser,
    string $notation_name,
    string $base,
    string $system_id,
    string $public_id
)
parser
最初のパラメータ、parser は ハンドラをコールする XML パーサへのリファレンスです。
notation_name
これは、前記の表記用フォーマットに示すように表記法の 名前 です。
base
外部エンティティのシステムID(systemId)を 取得する際の基本となります。現在、このパラメータは、常に空の 文字列に設定されています。
system_id
外部表記用宣言のシステム ID
public_id
外部表記用宣言のパブリック ID

ハンドラ関数が空の文字列または false に設定されていた場合、そのハンドラは無効となります。

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

戻り値

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

変更履歴

バージョン 説明
8.0.0 引数 parser は、 XMLParser インスタンスを期待するようになりました。 これより前のバージョンでは、リソースが期待されていました。
関連キーワード:  宣言, ハンドラ, 設定, handler, parser, 関数, parameter, notation, string, パラメータ