XML_Parser のパースには、下記の2つのモードがあります。
func
event
'event' モードでは、タグの名前に依らず startHandler() および endHandler() が コールされます。 これらのメソッドにおいては、タグ名(第2の引数としてあたえられる)を自らチェックし、 switch/case 文などを使って、行うべき処理を決める必要があるかもしれません。
'func' モードでは、タグの名前により、異なるメソッドが コールされます。 これにより、タグごとに異なるメソッドを割り付けることができます。 開始タグを処理するメソッドは、 [tagname] を処理したい要素名として、 xmltag_[tagname]() という名前になります。 つまり、<title> タグの開始を処理するためのメソッドを作成する場合、 そのメソッド名は xmltag_title となります。
終了タグを処理するメソッドは、xmltag_[tagname]_() となります(末尾のアンダースコアで要素の開始のハンドラと区別されます。)
XML タグには "."、":" や "-" のような文字を使用できますが、これらの文字は PHP の関数名には使用できません。 そこで、XML_Parser はこれらの文字を "_" で置き換えた名前でコールバック関数を作成します。
メソッドが存在しなければ、要素は処理されずに、そのタグがスキップされます。 ただし、メソッド xmltag() および xmltag_() を実装している場合は別で、これらのメソッドを代わりに使用します。