parse_string is similar to parse_uri - if i remember correctly they are defined by XML::SAX::Base. I don't wanna redefine lt and gt, they were just in a set of entities i need to replace/handle and i removed the native-xml-entities from that set so this isn't a problem.
If there is no way to send unkown entities to an handler/method, i need to generate the doctype-entity-section at runtime and deal with them after parsing - i was just looking for a way to do this at parse-time/avoid the doctype-section-generation
The end-tag-mismatch is a major problem and could have something to do with the size of the xml file (the tags are correct), but i wont be able to have a look on it until tomorrow
#! /usr/bin/perl use strict; use warnings; BEGIN { package MySAXHandler; use parent 'XML::SAX::Base'; sub start_element { print "element $_[1]{Name}\n"; } sub end_element { print "element end\n"; } sub characters { print "text $_[1]{Data}\n"; } } use XML::SAX::PurePerl; my $parser = XML::SAX::PurePerl->new( Handler => MySAXHandler->new(), ); $parser->parse_string("<?xml version=\"1.0\"?> <!DOCTYPE root [ <!ENTITY lt \"<\"> <!ENTITY gt \">\"> ]> <root><SOMETHING></root>");
In reply to Re^4: XML::SAX::PurePerl, handle entities
by VirtualRider
in thread XML::SAX::PurePerl, handle entities
by VirtualRider
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |