summaryrefslogtreecommitdiff
path: root/Xerl/XML
diff options
context:
space:
mode:
Diffstat (limited to 'Xerl/XML')
-rw-r--r--Xerl/XML/Reader.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm
index 3605c04..c3ecbcd 100644
--- a/Xerl/XML/Reader.pm
+++ b/Xerl/XML/Reader.pm
@@ -32,8 +32,11 @@ package Xerl::XML::Reader;
use strict;
use warnings;
+use XML::SAX;
+
use Xerl::Base;
use Xerl::XML::Element;
+use Xerl::XML::SAXHandler;
sub open($) {
my Xerl::XML::Reader $self = $_[0];
@@ -47,9 +50,21 @@ sub open($) {
return 0;
}
+sub sax() {
+ my Xerl::XML::Reader $self = $_[0];
+
+ my $parser = XML::SAX::ParserFactory->parser(
+ Handler => Xerl::XML::SAXHandler->new()
+ );
+
+ $parser->parse_uri($self->get_path());
+}
+
sub parse($) {
my Xerl::XML::Reader $self = $_[0];
+ my $sax_result = $self->sax();
+
my $rarray = $self->get_array();
return $self unless ref $rarray eq 'ARRAY';