[PHP-users 14872]xml_parse指定のelementHandlerについて

MT akc @ mutt.freemail.ne.jp
2003年 4月 24日 (木) 15:12:18 JST


久しぶりの投稿になります、MTです。

xml_set_element_handlerで設定した startElement関数で使用する
最初の引数 parser の役割がわかりません。

PHPマニュアルのXML関数に載っている「例題1 XML エレメント構造を表示」
のソースです。
http://www.php.net/manual/ja/ref.xml.php

function startElement($parser, $name, $attrs){
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        print "  ";
    }
    print "$name\n";
    $depth[$parser]++;
}
    :
    :
    :
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
    :
    :
    :

始め、$depth[$parser] は配列で、$parser が深度を表す配列になってたり
するのかと思いましたが、そうでもなくxml_parser_create で作成した
「使用する XML パーサへのリファレンス 」でもない。
(例でいうと $xml_parser を使うわけではない)

print $parser; すると Resouse ID #6 (var_dump するとtype xml) と表示
されます。
ちなみに 例題のソースを $depth としても 問題なく動作します。
$parser は一体何で、どんな使い方があるのか教えてください。

-- 
MT <akc @ mutt.freemail.ne.jp>



PHP-users メーリングリストの案内