in reply to XML::Twig doctype and entity handling
The problem is that your XML is not well-formed. So the parser dies. That's what it is supposed to do. Setting the entity or the doctype in XML::Twig doesn't work, because the parser (expat) is at a lower level.
You should include the DTD declaration in your documents, staring them with <!DOCTYPE package PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.2 Package//EN">. You can do this on-the-fly BTW by opening the file through a pipe (open( my $package_fh, 'cat dtd_declaration real_file.xml'); $twig->parse( $package_fh);). In fact it doesn't even matter whether the DTD is available or not, as expat will gladly ignore it (as a result of course the entities will not be expanded).
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: XML::Twig doctype and entity handling
by AZed (Monk) on Sep 08, 2008 at 18:40 UTC |