XML :: SAX :: Base.

XML :: SAX :: Baseは、基本クラスのSAXドライバとフィルタです。
今すぐダウンロード

XML :: SAX :: Base. ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Perl Artistic License
  • 価格:
  • FREE
  • 出版社名:
  • Kip Hampton, Robin Berjon and Matt Sergeant
  • 出版社のWebサイト:
  • http://search.cpan.org/khampton/

XML :: SAX :: Base. タグ


XML :: SAX :: Base. 説明

XML :: SAX :: Baseは、基本クラスのSAXドライバとフィルタです。 XML :: SAX :: Baseは、SAXドライバとfilters.synopsis package myfilterを持つベースPerlクラスです。 XML :: SAX :: Baseを使用する。 @isa =( 'xml :: sax :: base');このモジュールには、PerlSAXドライバとフィルタの基本クラスになるための非常に単純なタスクがあります。それはデフォルトの動作です動作は、入力を変更されずに出力に直接渡すことです。このモジュールを基本クラスとして使用することは、たとえば文字()コールバックを実装する必要があるため、必要な主な利点が正しい方法であることが簡単なことです(つまり、それは注意が必要です。ハンドラがそのメソッドを実装しているか、オートロードを定義していることを確認し、それにもかかわらず、それにもかかわらず、それに興味がある可能性があるハンドラのダウンストリームに実装されていないイベントを渡すことができます.Writing SAXドライバとフィルタライトSAXフィルタは非常に簡単です:あなたがする必要があるのはこのモジュールから継承され、処理したいイベントを定義します。より詳細な説明はhttp://www.xml.com/pub/a/2001/10/10/sax-filters.html.wriattyドライバでもあります。あなたが注意を払う必要があることは、自分でイベントを呼び出すことではありません(これもフィルタにも当てはまります)。たとえば、Package MyFilter;基本QW(XML :: SAX :: Base)を使用してください。サブSTART_ELEMENT {MY $ self = shift; My $ DATA = SHIFT。 #何かをする$ self - > {handler} - > start_element($ DATA);上記の例は正確にそれをうまく機能します:例。しかし、それはいくつかの障害を持っています:1)ハンドラがstart_elementを定義するかどうかを確認するためにテストしません。おそらくそれはそのイベントを見たくない、その場合あなたはそれを投げるべきではありません(そうでなければそれは死ぬ)。 2)ContentHandlerをチェックしてからハンドラをチェックしません(つまり、ユーザーが特定のハンドラ上のイベントを要求していない場合は、デフォルトの1つ)、3)を確認した場合は3) 、コードは面倒なだけでなく(アイデアを得るためにこのモジュールの情報源を参照)が、これらのパッケージのすべてのパッケージで潜在的に定義されているオートロードのためにDocumentHandlerをチェックする必要があるでしょう。あなたが知ることができるように、それはかなり痛いでしょう。それを経ても、代わりに以下のようなコードを使用することを忘れないでください.package myfilter;基本QW(XML :: SAX :: Base)を使用してください。サブSTART_ELEMENT {MY $ self = shift; My $ DATA = SHIFT。 #$ self-> super :: start_element($ DATA)をフィルタリングするために何かをする。 #良い(そして簡単)!このように、あなたがあなたの仕事をしたら、あなたがボールをXML :: Sax :: Baseに手に戻し、それはあなたのためのすべての問題の世話をします!上記の例はフィルタのみに適用されない、ドライバはまったく同じ機能から利益を得る。要件: ・Perl


XML :: SAX :: Base. 関連ソフトウェア