in reply to XML::SAX::PurePerl, handle entities
this seems to be resolved to <tag><SOMETHING></tag>
This makes no sense. There's no way it would return that as text. You should get at least 3 callbacks: element start, one or more string of characters, element end. And you do:
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; use XML::SAX::PurePerl; #my $parser = XML::SAX::ParserFactory->parser( my $parser = XML::SAX::PurePerl->new( Handler => MySAXHandler->new(), ); $parser->parse_uri("foo.xml");
<root><tag><SOMETHING></tag></root>
element root element tag text < text SOMETHING text > element end element end
It sounds like you're building XML from text without converting the text to XML.
Because you blamed the module instead of showing your broken code, I have no time to look into whether the parser is capable of handling DTDs or provide a implicit mechanism for entity definition.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: XML::SAX::PurePerl, handle entities
by VirtualRider (Initiate) on Aug 12, 2010 at 17:17 UTC | |
by ikegami (Patriarch) on Aug 12, 2010 at 17:44 UTC | |
by VirtualRider (Initiate) on Aug 12, 2010 at 18:13 UTC | |
by ikegami (Patriarch) on Aug 12, 2010 at 18:25 UTC |