Re: Add XMLNamespaces to XMLElement

From: newtglobal postgresql_contributors <postgresql_contributors(at)newtglobalcorp(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>
Subject: Re: Add XMLNamespaces to XMLElement
Date: 2025-03-13 06:51:40
Message-ID: 174184870008.294107.2552016116607061478.pgcf@coridan.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

The following review has been posted through the commitfest application:
make installcheck-world: not tested
Implements feature: not tested
Spec compliant: not tested
Documentation: not tested

Hi Pavel,

I have tested this patch, and it proves to be highly useful when handling XMLNAMESPACES() with both DEFAULT and NO DEFAULT options. The following test cases confirm its correctness:

SELECT xmlelement(
NAME "foo",
XMLNAMESPACES('http://x.y' AS xy, 'http://a.b' AS ab, DEFAULT 'http://d.e'),
xmlelement(NAME "foot",
xmlelement(NAME "xy:shoe"),
xmlelement(NAME "ab:lace")
)
);

SELECT xmlelement(
NAME "foo",
XMLNAMESPACES('http://x.y' AS xy, 'http://a.b' AS ab, NO DEFAULT),
xmlelement(NAME "foot",
xmlelement(NAME "xy:shoe"),
xmlelement(NAME "ab:lace")
)
);
Additionally, I verified that the patch correctly supports multiple namespaces when using both DEFAULT and NO DEFAULT, ensuring expected behavior across different use cases.

Great work on this improvement!

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message newtglobal postgresql_contributors 2025-03-13 06:52:35 Re: pg_dump, pg_dumpall, pg_restore: Add --no-policies option
Previous Message newtglobal postgresql_contributors 2025-03-13 06:50:31 Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query).