(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_element_handler — 開始要素および終了要素のハンドラを設定する
XML パーサ parser
の要素ハンドラ関数を設定します。
start_handler
は、新しいXML要素が開始された場合にコールされます。end_handler
は、XML要素が終了した場合にコールされます。
parser
XMLパーサ
start_handler
null
が渡されると、ハンドラはデフォルトの状態にリセットされます。
空文字列を渡すことでもハンドラはリセットされますが、これは PHP 8.4.0 以降非推奨となっています。
handler
が callable の場合、その callable がハンドラとして設定されます。
handler
が文字列の場合、xml_set_object() で設定されたオブジェクトのメソッド名になります。
PHP 8.4.0 以降、非推奨となっています。
PHP 8.4.0 以降では、実際に呼び出されるときではなく、ハンドラを設定する際に callable であるかがチェックされます。 従って、コールバックとしてメソッド文字列を指定する場合、それより前に、 xml_set_object() を呼び出しておく必要があります。 しかし、この動作も PHP 8.4.0 以降非推奨となっているため、メソッドには適切な callable を使用することが推奨されます。
シグネチャは、以下でなければいけません:
end_handler
null
が渡されると、ハンドラはデフォルトの状態にリセットされます。
空文字列を渡すことでもハンドラはリセットされますが、これは PHP 8.4.0 以降非推奨となっています。
handler
が callable の場合、その callable がハンドラとして設定されます。
handler
が文字列の場合、xml_set_object() で設定されたオブジェクトのメソッド名になります。
PHP 8.4.0 以降、非推奨となっています。
PHP 8.4.0 以降では、実際に呼び出されるときではなく、ハンドラを設定する際に callable であるかがチェックされます。 従って、コールバックとしてメソッド文字列を指定する場合、それより前に、 xml_set_object() を呼び出しておく必要があります。 しかし、この動作も PHP 8.4.0 以降非推奨となっているため、メソッドには適切な callable を使用することが推奨されます。
ハンドラのシグネチャは、以下でなければいけません:
parser
name
常に true
を返します。