[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 <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
Дата:
FAQ