PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

モード | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

モード

モード – パースモードについての解説

XML_Parser のパースモード

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_() を実装している場合は別で、これらのメソッドを代わりに使用します。

モードの設定

モードの設定には、2つの方法があります。

  • モードをコンストラクタの第2引数として指定する

    XML 文書の処理のために XML_Parser のサブクラスを実装した場合は、 そのコンストラクタで XML_Parser::XML_Parser() をコールする必要があります。 このメソッドが、モードを第2引数として受け取ります。

  • XML_Parser::setMode() を使って指定する

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「モード」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | モード」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: