xml_set_notation_decl_handler

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

説明

true xml_set_notation_decl_handler(XMLParser $parser, callable $handler)

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

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

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

パラメータ

parser

XMLパーサ

handler

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

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

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

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

void handler(
    XMLParser $parser,
    string $notation_name,
    stringfalse $base,
    string $system_id,
    stringfalse $public_id
)
parser
ハンドラをコールするXMLパーサ
notation_name
これは、前述の表記用フォーマットに示すように表記法の名前です。
base
外部エンティティのシステムID(system_id)を 取得する際の基本となります。
system_id
外部表記用宣言のシステム ID
public_id
外部表記用宣言のパブリック ID

戻り値

常に true を返します。

変更履歴

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