Simon Riggs wrote:
On Sun, 2009-03-01 at 18:22 -0500, Andrew Dunstan wrote:
I think the XML type needs to conform to the SQL/XML spec. However, we
are trying to apply XPath, which has a different data model, to that
type - hence the impedance mismatch.
I think that the best we can do (for 8.4, having fixed 8.3 as best we
can without adversely changing behaviour) is to throw the
responsibility
for ensuring that the XML passed to the function is an XML document
back on the programmer. Anything else, especially any mangling of the
XPath
expression, presents a very real danger of breaking on correct input.
Can we provide a single function to bridge the gap between fragment and
document? It will be clearer to do this than to see various forms of
appending/munging, even if that function is a simple wrapper around an
append.
I have no objection to providing an *extra* function that explicitly
wraps non-documents and prefixes the xpath expression in that case, and
is documented to have limitations. But I don't think we can provide a
single function that always "does the right thing", especially when that
is so ill-defined in the case of fragments.
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers