Re: Encoding problems in PostgreSQL with XML data - Mailing list pgsql-hackers

From Merlin Moncure
Subject Re: Encoding problems in PostgreSQL with XML data
Date
Msg-id 303E00EBDD07B943924382E153890E5434AA48@cuthbert.rcsinc.local
Whole thread Raw
In response to Encoding problems in PostgreSQL with XML data  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: Encoding problems in PostgreSQL with XML data  (Andrew Dunstan <andrew@dunslane.net>)
Re: Encoding problems in PostgreSQL with XML data  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
Peter Eisentraut wrote:
> The central problem I have is this:  How do we deal with the fact that
> an XML datum carries its own encoding information?

Maybe I am misunderstanding your question, but IMO postgres should be
treating xml documents as if they were binary data, unless the server
takes on the role of a parser, in which case it should handle
unspecified/unknown encodings just like a normal xml parser would (and
this does *not* include changing the encoding!).

According to me, an XML parser should not change one bit of a document,
because that is not a 'parse', but a 'transformation'.
> Rewriting the <?xml?> declaration seems like a workable solution, but
it
> would break the transparency of the client/server encoding conversion.
> Also, some people might dislike that their documents are being changed
> as they are stored.

Right, your example begs the question: why does the server care what the
encoding of the documents is (perhaps indexing)?  ZML validation is a
standardized operation which the server (or psql, I suppose) can
subcontract out to another application.

Just a side thought: what if the xml encoding type was built into the
domain type itself?
create domain xml_utf8 ...
Which allows casting, etc. which is more natural than an implicit
transformation.

Regards,
Merlin


pgsql-hackers by date:

Previous
From: Rod Taylor
Date:
Subject: Re: Encoding problems in PostgreSQL with XML data
Next
From: Andrew Dunstan
Date:
Subject: Re: Encoding problems in PostgreSQL with XML data