xml_set_element_handler

開始要素および終了要素のハンドラを設定する

説明

true xml_set_element_handler(XMLParser $parser, callable $start_handler, callable $end_handler)

XML パーサ parser の要素ハンドラ関数を設定します。

start_handler は、新しいXML要素が開始された場合にコールされます。end_handler は、XML要素が終了した場合にコールされます。

パラメータ

parser

XMLパーサ

start_handler

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

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

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

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

void start_element_handler(XMLParser $parser, string $name, array $attributes)
parser
ハンドラをコールするXMLパーサ
name
このハンドラがコールされた要素の名前です。 大文字変換 がこのパーサに関して有効な場合、要素の名前は大文字になります。
attributes
要素の属性に関する連想配列です。 要素に属性がない場合、配列は空になります。 この配列のキーは属性の名前であり、 値は属性の値です。属性の名前は、要素名と同様に 大文字変換 となります。 属性の値は、大文字変換 されません attributes を順次アクセスすることにより、 属性を宣言した元の順序で取得することができます。

end_handler

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

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

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

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

void end_element_handler(XMLParser $parser, string $name)
parser
ハンドラをコールするXMLパーサ
name
このハンドラがコールされた要素の名前です。 このパーサにおいて 大文字変換 が有効な場合、要素名は大文字になります。

戻り値

常に true を返します。

変更履歴

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