diff options
| author | Paul Buetow <paul@buetow.org> | 2018-12-14 17:42:36 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2018-12-14 17:42:36 +0200 |
| commit | 6cc1fe15416a6e652b644278626e47658351e545 (patch) | |
| tree | 4c8890bdd5feef0b806974224181860807e8fd1b /Xerl/XML/Reader.pm | |
| parent | 849560bc3c48f6c753932dd08d2191e36d477ce0 (diff) | |
| parent | 3e65cce0ec33e290cf45b7cc9e661977bb225810 (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.pm | 45 |
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; |
