XML::Mini 1.2.8
This is a bug report and work-around
The XML::Mini parser expects the !DOCTYPE declaration
to be in the following format:
<!DOCTYPE (.*) [(.*)?]>
However the CDATA that is put in [] is optional. This
according to W3C XML 1.0 standards documentation.
XML::Mini does not allow the [] to be optional though.
So a work around to this bug is the following:
Say you have this declaration:
<!DOCTYPE SERVER PUBLIC "-//Me Inc.//DTD//EN"
"dtdfile.dtd">
This will not get parsed, yet end up being thrown out
when you parse it with something like
$xmlDoc->fromString().
The work-around is to change your declaration as follows:
<!DOCTYPE SERVER PUBLIC "-//Me Inc.//DTD//EN"
"dtdfile.dtd" []>
This will allow your DOCTYPE to get parsed instead of
thrown out.
-RG