[PATCH] Add CANONICAL option to xmlserialize
От
Jim Jones
Тема
[PATCH] Add CANONICAL option to xmlserialize
Дата
Msg-id
2f04079e-b237-1a2f-0682-9f60ca59805e@uni-muenster.de
Ответ на
[PoC] Add CANONICAL option to xmlserialize (Jim Jones)
Список
Дерево обсуждения
[PoC] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
[PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Thomas Munro <thomas.munro@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Thomas Munro <thomas.munro@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Thomas Munro <thomas.munro@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize vignesh C <vignesh21@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Chapman Flack <chap@anastigmatix.net>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Jim Jones <jim.jones@uni-muenster.de>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
Re: [PATCH] Add CANONICAL option to xmlserialize Pavel Stehule <pavel.stehule@gmail.com>
On 27.02.23 14:16, I wrote:
> Hi,
>
> In order to compare pairs of XML documents for equivalence it is
> necessary to convert them first to their canonical form, as described
> at W3C Canonical XML 1.1.[1] This spec basically defines a standard
> physical representation of xml documents that have more then one
> possible representation, so that it is possible to compare them, e.g.
> forcing UTF-8 encoding, entity reference replacement, attributes
> normalization, etc.
>
> Although it is not part of the XML/SQL standard, it would be nice to
> have the option CANONICAL in xmlserialize. Additionally, we could also
> add the attribute WITH [NO] COMMENTS to keep or remove xml comments
> from the documents.
>
> Something like this:
>
> WITH t(col) AS (
> VALUES
> ('
>
>
> ]>
>
>
> xmlns:ns="http://postgresql.org">
>
>
>
> &val;
>
>
>
>
>
> ©
>
>
>
> 321
>
> '::xml)
> )
> SELECT xmlserialize(DOCUMENT col AS text CANONICAL) FROM t;
> xmlserialize
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> ns:c="3">42© attr="default"> 321
> (1 row)
>
> -- using WITH COMMENTS
>
> WITH t(col) AS (
> VALUES
> (' xmlns:ns="http://postgresql.org">
>
> 321
> '::xml)
> )
> SELECT xmlserialize(DOCUMENT col AS text CANONICAL WITH COMMENTS) FROM t;
> xmlserialize
> ------------------------------------------------------------------------------------------------------------------------
>
> 321
> (1 row)
>
>
> Another option would be to simply create a new function, e.g.
> xmlcanonical(doc xml, keep_comments boolean), but I'm not sure if this
> would be the right approach.
>
> Attached a very short draft. What do you think?
>
> Best, Jim
>
> 1- https://www.w3.org/TR/xml-c14n11/
The attached version includes documentation and tests to the patch.
I hope things are clearer now :)
Best, Jim
В списке pgsql-hackers по дате отправления
От: Ankit Kumar Pandey
Дата:
От: Melanie Plageman
Дата: