CascadiaPHP 2024

xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handler 処理されないエンティティ宣言用ハンドラを設定する

説明

xml_set_unparsed_entity_decl_handler(XMLParser $parser, callable $handler): true

XML パーサ parser の、 処理されないエンティティ宣言用ハンドラ関数を設定します。

このハンドラは、XML パーサが次のような NDATA 宣言を有する 外部エンティティ宣言を処理する際にコールされます。

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

外部エンティティ宣言の記述用定義に関しては、 » XML 1.0 仕様の 4.2.2 節を参照ください。

パラメータ

parser

XMLパーサ

handler

null や空文字列を渡すと、ハンドラはデフォルトの状態にリセットされます。

handlercallable の場合、その callable がハンドラとして設定されます。

handler が文字列の場合、xml_set_object() で設定されたオブジェクトのメソッド名になります。

handler のシグネチャは、以下でなければいけません:

handler(
    XMLParser $parser,
    string $entity_name,
    string|false $base,
    string $system_id,
    string|false $public_id,
    string|false $notation_name
): void
parser
ハンドラをコールするXMLパーサ
entity_name
定義しようとするエンティティの名前。
base
外部エンティティのシステム ID(systemId) を取得する際のベースになります。
system_id
外部エンティティのシステム ID。
public_id
外部エンティティのパブリック ID。
notation_name
このエンティティの表記法の名前 (xml_set_notation_decl_handler() を参照ください)。

戻り値

常に true を返します。

変更履歴

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

User Contributed Notes

There are no user contributed notes for this page.
To Top