From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Hannu Krosing <hannu(at)2ndQuadrant(dot)com>, Simon Riggs <simon(at)2ndQuadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com> |
Subject: | Re: xpath processing brain dead |
Date: | 2009-03-20 15:56:29 |
Message-ID: | 49C3BCAD.60308@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrew Dunstan wrote:
>
>
> Hannu Krosing wrote:
>> Is it just that in you _can't_ use Xpath on fragments, and you _need_ to
>> pass full documents to Xpath ?
>> At least this is my reading of Xpath standard.
>>
>>
>
> I think that's possibly overstating it., unless I have missed
> something (W3 standards are sometimes not much more clear than the SQL
> standards ;-( )
>
> For instance, there's this, that implies at least that the tree might
> not be a document:
>
> A "/" at the beginning of a path expression is an abbreviation for
> the initial step fn:root(self::node()) treat as document-node()/
> (however, if the "/" is the entire path expression, the trailing "/"
> is omitted from the expansion.) The effect of this initial step is
> to begin the path at the root node of the tree that contains the
> context node. If the context item is not a node, a type error is
> raised [err:XPTY0020]. At evaluation time, if the root node above
> the context node is not a document node, a dynamic error is raised
> [err:XPDY0050].
>
> The problem is that we certainly do have to provide a context node
> (the standard is clear about that), and unless we want to convert a
> non-document to a node-set as James suggested and then apply the xpath
> expression to each node in the node-set, we have no way of sanely
> specifying the context node.
>
No-one has come up with an answer to this, so I propose to remove the
hackery. That leaves the question of what to do when the xml is not a
well formed document ... raise an error?
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2009-03-20 16:53:08 | Re: small but useful patches for text search |
Previous Message | Tom Lane | 2009-03-20 15:42:46 | Re: small but useful patches for text search |