On Sun, Oct 08, 2006 at 08:08:29PM +0200, Francois Gouget wrote:
I did not check the latest po4a, but in version 0.16.2, afaics, nsgmls
returns 1 because the data po4a gives it is not valid Sgml code. The
problem comes from the {PO4A-beg-xxx} items that Sgml.pm inserts to deal
with the conditional inclusion mechanism.
Adding {PO4A-beg-xxx} is not really an issue. The problem is that the
resulting file may have multiple closing tag for one opening tag (or tags
may appear where the DTD doe not allow it).
Something like:
<para>
<![ %i386 [
blah</para>
]]>
<![ %amd64 [
blahblah</para>
]]>
Is converted to:
<para>
{PO4A-beg-i386}
blah</para>
{PO4A-end}
{PO4A-beg-amd64}
blahblah</para>
{PO4A-end}
But then, the <para> tag is closed twice.
So I guess one way to avoid it would be to not use conditional
inclusion
in the original document but that's quite restrictive.
In the case of Heiner's file, there are no conditional inclusions. The
problem is that it is an XML file, and is not considered as valid by
nsgmls.
I still hope I will be able to have a better support (with the warning) of
XML files with the SGML module (I think it is better than the XML module).
Heiner, I hope I will be able to inform you with good news.
Heiner, can you try the docbook module? (it's a specialization of the XML
module for the docbook DTD).
Kind Regards,
--
Nekral