On 16.02.23 05:38, Nikolay Samokhvalov wrote:
On Thu, Feb 9, 2023 at 2:31 AM Peter Eisentraut
<peter.eisentr...@enterprisedb.com> wrote:
I suggest we call it "xmlformat", which is an established term for
this.
Some very-very old, rusted memory told me that there was something in
standard – and indeed, it seems it described an optional Feature X069,
“XMLSerialize: INDENT” for XMLSERIALIZE. So probably pretty-printing
should go there, to XMLSERIALIZE, to follow the standard?
Oracle also has an option for it in XMLSERIALIZE, although in a
slightly different form, with ability to specify the number of spaces
for indentation
https://docs.oracle.com/database/121/SQLRF/functions268.htm#SQLRF06231.
After your comment I'm studying the possibility to extend the existing
xmlserialize function to add the indentation feature. If so, how do you
think it should look like? An extra parameter? e.g.
SELECT xmlserialize(DOCUMENT '<foo><bar>42</bar></foo>'::XML AS text,
true);
.. or more or like Oracle does it
SELECT XMLSERIALIZE(DOCUMENT xmltype('<foo><bar>42</bar></foo>') AS BLOB
INDENT)
FROM dual;
Thanks!
Best, Jim