Re: XML Issue with DTDs - Mailing list pgsql-hackers

From Florian Pflug
Subject Re: XML Issue with DTDs
Date
Msg-id 41B1A9EC-029D-4CED-9830-5E7E42CAA960@phlo.org
Whole thread Raw
In response to Re: XML Issue with DTDs  (Florian Pflug <fgp@phlo.org>)
List pgsql-hackers
On Dec26, 2013, at 21:30 , Florian Pflug <fgp@phlo.org> wrote:
> On Dec23, 2013, at 18:39 , Peter Eisentraut <peter_e@gmx.net> wrote:
>> On 12/19/13, 6:40 PM, Florian Pflug wrote:
>>> The following example fails for XMLOPTION set to DOCUMENT as well as for XMLOPTION set to CONTENT.
>>>
>>> select xmlconcat(
>>>   xmlparse(document '<!DOCTYPE test [<!ELEMENT test EMPTY>]><test/>'),
>>>   xmlparse(content '<test/>')
>>> )::text::xml;
>>
>> The SQL standard specifies that DTDs are dropped by xmlconcat.  It's
>> just not implemented.
>
> OK, cool, I'll try to figure out how to do that with libxml

Hm, I've read through the (draft) SQL/XML 2003 standard, and it seems that
it mandates more processing of DTDs than we currently do. In particular, it
says that attribute default values and custom entities are to be expanded
by xmlparse(). Without doing that, stripping the DTD can change the meaning
of an XML document, or make it not well-formed (in the case of custom
entity definitions). So I think that we unless we implement that, I we have
to raise an error, not silently strip the DTD.

best regards,
Florian Pflug




pgsql-hackers by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: [BUG FIX] Version number expressed in octal form by mistake
Next
From: Craig Ringer
Date:
Subject: Custom collations, collation modifiers (eg case-insensitive)