SVG-Parser-0.97 > SVG::Parser::Expat

名前

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

概要

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

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

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

  my $parser=new SVG::Parser::Expat;

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

  print $svg->xmlify;

説明

SVG::Parser::Expat、ベースとしてXML::Parserベースのパーザーが選択されたとき、 SVG::Parserによって使われるExpat仕様のパーザーです。上記の概要で示している通り、 直接使うことも出来ます。

どちらのパーザーがベースとなるように選択されるかについての柔軟性を最大限に保つためには SVG::Parserを使ってください。 Expat特有のオプションを指定したり、XML::Parserの存在が知られ、かつ/あるいは好まれる ところでは、SVG::Parserを利用してください。

EXPORTS

何もありません。しかし(XML::Parser以外の)代わりとなる親クラスを、 インポート・リストでのSVG::Parser::Expatへのパッケージ名を渡すことにより 指定することができます。例えば:

    use SVG::Parser::Expat qw(My::XML::Parser::Subclass);

My::XML::Parser::Subclassは以下のようなサブクラスです:

    package My::XML::Parser::Subclass;
    use strict;
    use vars qw(@ISA);
    use XML::Parser;
    @ISA=qw(XML::Parser);

    ...カスタマイズされたメソッド...

    1;

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

    use SVG::Parser qw(Expat=My::XML::Parser::Subclass);

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

使用例

ディストリビューションでのexamplesディレクトリの中の svgexpatparse をご覧ください。

作者

Peter Wainwright, peter.wainwright@cybrid.net

参考資料

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