SVG-Parser-0.97 > SVG::Parser::SAX

名前

SVG::Parser::SAX - SVGドキュメント用 XML SAX パーザー

概要

  #!/usr/bin/perl -w
  use strict;
  use SVG::Parser::SAX;

  die "Usage: $0 <file>\n" unless @ARGV;

  my $xml;
  {
      local $/=undef;
      $xml=<>;
  }

  my $parser=new SVG::Parser::SAX(-debug => 1);

  my $svg=$parser->parse($xml);

  print $svg->xmlify;

説明

ベースとしてXML::SAX-basedパーザーが選択されたとき、SVG::Parserによって 利用されるSVG::Parser::SAXはSAXベースのパーザー・モジュールです。上記の 概要で示されている通り、直接使うことも出来ます。

どちらのパーザーがベースとなるように選択されるかについての柔軟性を最大限に保つためには SVG::Parserを使ってください。 SAX特有のパーザー・オプションを与えたり、XML::SAXパーザーの機能の存在が知られている、 かつ/または好まれるときには、SVG::Parser::SAXを使ってください。

EXPORTS

何もありません。しかし好まれるSAXパーザーの実装をインポート・リストでの SVG::Parser::SAXへのパッケージ名を渡すことにより指定することができます。例えば:

    use SVG::Parser::SAX qw(XML::LibXML::SAX::Parser);

さらに最小限のバージョン番号を、2番目のインポート・アイテムとして与えることが出来ます:

    use SVG::Parser::SAX (XML::LibXML::SAX::Parser => 1.40);

これは適切なSAXパーザーの自動的な選択を上書きします。代わりにさまざまな異なるパーザーを 試すためには、代わりにSVG::Parserモジュールを使い、SAXベースのパーザーを試すためだけに 限定してください。自動的な選択機能を使うためには、インポート・リストを省略してください。

SVG::Parserを介してロードされるときには、パーザーの指定での'='の後に 置くことにより、この親クラスを指定することが出来ます:

更なる詳細はSVG::Parserを、ご覧ください。

利用例

ディストリビューションのexamplesディレクトリにある svgsaxparse をご覧ください。

作者

Peter Wainwright, peter.wainwright@cybrid.net

参考資料

SVG, SVG::Parser, SVG::Parser::Expat, XML::SAX