Re: [PATCH] Add CANONICAL option to xmlserialize
От | Jim Jones |
---|---|
Тема | Re: [PATCH] Add CANONICAL option to xmlserialize |
Дата | |
Msg-id | cbd68a31-9776-4742-9c09-4344a4c5e6dc@uni-muenster.de обсуждение исходный текст |
Ответ на | Re: [PATCH] Add CANONICAL option to xmlserialize (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: [PATCH] Add CANONICAL option to xmlserialize
|
Список | pgsql-hackers |
On 26.08.24 16:59, Pavel Stehule wrote: > > 1. what about behaviour of NO INDENT - the implementation is not too > old, so it can be changed if we want (I think), and it is better to do > early than too late While checking the feasibility of removing indentation with NO INDENT I may have found a bug in XMLSERIALIZE ... INDENT. xmlSaveToBuffer seems to ignore elements if there are whitespaces between them: SELECT xmlserialize(DOCUMENT '<foo><bar>42</bar></foo>' AS text INDENT); xmlserialize ----------------- <foo> + <bar>42</bar>+ </foo> + (1 row) SELECT xmlserialize(DOCUMENT '<foo> <bar>42</bar> </foo>'::xml AS text INDENT); xmlserialize ---------------------------- <foo> <bar>42</bar> </foo>+ (1 row) I'll take a look at it. Regarding removing indentation: yes, it would be possible with libxml2. The question is if it would be right to do so. > 2. Are we able to implement SQL/XML syntax with libxml2? > > 3. Are we able to implement Oracle syntax with libxml2? And there are > benefits other than higher possible compatibility? I guess it would be beneficial if you're migrating from oracle to postgres - or the other way around. It certainly wouldn't hurt, but so far I personally had little use for the oracle's extra xmlserialize features. > > 4. Can there be some possible collision (functionality, syntax) with > CANONICAL? I couldn't find anything in the SQL/XML spec that might refer to canonocal xml. > > 5. SQL/XML XMLSERIALIZE supports other target types than varchar. I > can imagine XMLSERIALIZE with CANONICAL to bytea (then we don't need > to force database encoding). Does it make sense? Are the results > comparable? | As of pg16 bytea is not supported. Currently type| can be |character|, |character varying|, or |text - also their other flavours like 'name'. | -- Jim
В списке pgsql-hackers по дате отправления: