Revision history for XML-Reader
0.01 22 Mar 2009
First version, released on an unsuspecting world.
0.02 25 Mar 2009
add method level to indicate the nesting level of the XPath expression.
0.03 26 Mar 2009
resolve circular reference in XML::TokeParser to avoid Memory leak
0.04 27 Mar 2009
Replace XML::TokeParser by XML::Parser
add option {using => ...} and also add method prefix
0.05 28 Mar 2009
fix a bug in option {using => ...}
0.06 30 Mar 2009
re-order the output in XML::Reader->path
0.07 02 Apr 2009
add a method XML::Reader->comment
0.08 06 Apr 2009
update warranty
0.09 06 Apr 2009
update licence
update Makefile.PL
0.10 20 Jun 2009
Take out one test from t/0010-test.t
0.11 24 Jun 2009
add method XML::Reader->is_init_attr() and XML::Reader->attr().
also, in case of {filter => 1}, undefine XML::Reader->is_start(),
XML::Reader->is_init_attr(), XML::Reader->is_end(), XML::Reader->comment().
Introduce {filter => 2} which removes the redundant start-line before
attributes.
0.12 28 Jun 2009
add constructor XML::Reader->newhd, which is almost identical to
XML::Reader->new, except it defaults to {filter => 2}, whereas
the existing XML::Reader->new defaults to {filter => 0}
0.13 28 Jun 2009
error correction in XML::Reader->is_init_attr()
0.14 29 Jun 2009
add {filter => 3} and method $rdr->att_hash()
0.15 29 Jun 2009
internal tuning
0.16 30 Jun 2009
more internal tuning
0.17 05 Jul 2009
even more internal tuning in handle_start() and in handle_end()
0.18 30 Jul 2009
remove method XML::Reader->is_init_attr()
add processing instructions ("PI")
add option {parse_ct} for comments
add option {parse_pi} for processing-instructions
add option {filter => 4} and method XML::Reader->pyx() for PYX compliant data
0.19 22 Aug 2009
remove option {filter => 0} and {filter => 1}
remove method new()
introducing "use Carp" and "croak"
clean up documentation and test cases
0.20 25 Aug 2009
add method is_value()
add some example code to parse an XML file with XML::Reader
0.21 12 Sep 2009
in method XML::Reader::DESTROY()
replace $self->{ExpatNB}->parse_done;
by $self->{ExpatNB}->release;
in XML::Reader->new(): inject an {XR_debug} into $self->{ExpatNB}, if so requested
by $opt{debug}
add t/0030_test.t to test that XML::Reader does not leak memory
explain documentation (=item is_value) in more detail
translate POD-documentation into French: pod/XML-Reader-fr.pod
translate POD-documentation into German: pod/XML-Reader-de.pod
re-licence under the Artistic licence
0.22 18 Sep 2009
Needed to bump up the version number due to wrong indexing of the
pod/XML-Reader-de/-fr.pod file in http://search.cpan.org/
Basically, I am renaming/relocating the two files
pod/XML-Reader-de.pod into lib/XML/Reader-de.pod
pod/XML-Reader-fr.pod into lib/XML/Reader-fr.pod
0.23 19 Sep 2009
Needed to bump up the version number again due to wrong indexing.
Now I am introducing two new dummy *.pm files with their proper Packages
rename pod/XML-Reader-de.pod into lib/XML/Reader/German.pm
rename pod/XML-Reader-fr.pod into lib/XML/Reader/French.pm
0.24 19 Sep 2009
Need to bump up the version number again, the indexing is still not working.
That's probably due to the missing =pod directive.
I have now added the =pod directive and I keep my fingers crossed
0.25 20 Sep 2009
AGAIN AND AGAIN: Need to bump up the version number, the indexing is still not working.
renamed the two *.pm files into *.pod again.
0.26 09 Oct 2009
Introduce a new function: 'slurp_xml' to slurp xml into an array-ref
0.27 10 Oct 2009
Change the way 'slurp_xml' handles its parameters
0.28 13 Oct 2009
Allow multiple roots in 'slurp_xml'
inject a "use 5.008" into Makefile.PL
0.29 29 Oct 2009
Add {filter => 5}
0.30 25 Jan 2010
include
translated POD-documentation into French: XML-Reader-fr.pod
translated POD-documentation into German: XML-Reader-de.pod
add Build.PL
0.31 29 Jan 2010
- I am suddenly getting automated reports about test failures on systems where
XML::Parser has not been installed. To fix that problem, I have to add the
correct module dependency in Build.PL and in Makefile.PL.
- harmonize the version number in XML::Reader::Token with the version number
in XML::Reader
0.32 17 Feb 2010
Fix a problem in Build.PL which had an incorrect version use 5.010; the correct
version is use 5.008;
0.33 25 Apr 2010
For {filter => 5}:
- you can now have duplicate roots (which was not possible before)
- added a new function $self->rstem
- allow branch => '*' which will effectively collect all events and construct
a sub-tree in XML format, that XML-format has the correct translations
+ < into <
+ > into >
+ & into &
+ ' into '
+ " into "
- allow relative roots, such as 'tag1/tag2' or '//tag1/tag2'
0.34 26 Apr 2010
For {filter => 5}: restrict { branch => '...' } to { branch => '*' } only
0.35 28 Apr 2010
Relicencing under the "Artistic Licence 2.0"
Replace XML::Reader::newhd()
by XML::Reader::new()
Add option
{mode => 'attr-bef-start' | 'attr-in-hash' | 'pyx' | 'branches'} as an alternative to the existing
{filter => 2|3|4|5}
Add an option {sepchar => 'xyz'} to XML::Reader->new
For {parse_pi => 1}, fix a bug with $rdr->dec_hash->{standalone}
(used to be '1' and '' which is false, 'yes' and 'no' is correct)
For {filter => 5}:
- function rstem() is redundant ==> replace function rstem() by path()
- fix a bug in functions is_text() / is_value()
- allow the writing of comments and PI if {branch => '*'} is selected
0.36 01 June 2010
in case of {filter => 5}, make value() take over the role of rvalue()
Improve the content of the README file