Hello,

During review of https://commitfest.postgresql.org/action/patch_view?id=580 I found following problems with XPath.

1.
SELECT (XPATH('/root/*', '<root xmlns:o="http://olacle.com/db"; xmlns:p="http://postgresql.org/db";><o:db><a><b></b></a></o:db><p:db></p:db></root>'));
Produces:
"{"<o:db>
  <a>
    <b/>
  </a>
</o:db>",<p:db/>}"
In above <b></b> was reduced to <b/> this is different infoset then input, and those notations are differently interpreted e.g. by XML Binding & WebServices. The 1st one will may be mapped to empty string, and 2nd one to to null.

As well result was formatted which produces again different infoset.

Both of above may cause problems with XML digesting.

2.
SELECT (XPATH('/root/*', '<root xmlns:o="http://olacle.com/db"; xmlns:p="http://postgresql.org/db";><o:db></o:db><p:db></p:db></root>'));
"{<o:db/>,<p:db/>}"
In above I missing namespaces.

I may take on assignment 1st (fix is simple), but for 2nd I have mixed fillings. I think 2nd should transfer namespaces in some way to client.

What do You think?

Regards,
Radosław Smogura

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to