NAME

SVG::Parser::SAX - XML SAX Parser for SVG documents

SYNOPSIS

#!/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;

DESCRIPTION

SVG::Parser::SAX is the SAX-based parser module used by SVG::Parser when an underlying XML::SAX-based parser is selected. It may also be used directly, as shown in the synopsis above.

Use SVG::Parser to retain maximum flexibility as to which underlying parser is chosen. Use SVG::Parser::SAX to supply SAX-specific parser options or where the presence of a functional XML::SAX parser is known and/or preferred.

EXPORTS

None. However, a preferred SAX parser implementations can be specified by passing the package name to SVG::Parser::SAX in the import list. For example:

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

A minimum version number may be additionally suppied as a second import item:

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

This overrides the automatic selection of a suitable SAX parser. To try several different parsers in turn, use the SVG::Parser module instead and restrict it to only try SAX-based parsers. To make use of the automatic selection mechanism, omit the import list.

When loaded via SVG::Parser, this parent class may be specified by placing it after the '=' in a parser specification:

See SVG::Parser for more details.

EXAMPLES

See svgsaxparse in the examples directory of the distribution.

AUTHOR

Peter Wainwright, peter.wainwright@cybrid.net

SEE ALSO

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