summaryrefslogtreecommitdiff
path: root/Xerl/XML/Reader.pm
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2018-12-14 17:42:36 +0200
committerPaul Buetow <paul@buetow.org>2018-12-14 17:42:36 +0200
commit6cc1fe15416a6e652b644278626e47658351e545 (patch)
tree4c8890bdd5feef0b806974224181860807e8fd1b /Xerl/XML/Reader.pm
parent849560bc3c48f6c753932dd08d2191e36d477ce0 (diff)
parent3e65cce0ec33e290cf45b7cc9e661977bb225810 (diff)
Merge branch 'hosts' of https://github.com/snonux/xerl into hosts
Diffstat (limited to 'Xerl/XML/Reader.pm')
-rw-r--r--Xerl/XML/Reader.pm45
1 files changed, 45 insertions, 0 deletions
diff --git a/Xerl/XML/Reader.pm b/Xerl/XML/Reader.pm
new file mode 100644
index 0000000..a744025
--- /dev/null
+++ b/Xerl/XML/Reader.pm
@@ -0,0 +1,45 @@
+# Xerl (c) 2005-2011, 2013-2015 by Paul Buetow
+#
+# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org
+#
+# This is free software, you may use it and distribute it under the same
+# terms as Perl itself.
+
+package Xerl::XML::Reader;
+
+use strict;
+use warnings;
+
+use v5.14.0;
+
+use XML::SAX;
+
+use Xerl::Base;
+use Xerl::XML::Element;
+use Xerl::XML::SAXHandler;
+
+sub open {
+ my $self = shift;
+
+ if ( -f $self->get_path() ) {
+ return 0;
+ }
+ else {
+ return 1;
+ }
+}
+
+sub parse {
+ my $self = shift;
+
+ XML::SAX->add_parser(q(XML::SAX::PurePerl));
+ my $sax_handler = Xerl::XML::SAXHandler->new();
+
+ my $parser = XML::SAX::ParserFactory->parser( Handler => $sax_handler );
+ $parser->parse_uri( $self->get_path() );
+ $self->set_root( $sax_handler->{xerl}{root} );
+
+ return undef;
+}
+
+1;