Re: xpath improvement suggestion

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Arie Bikker <arie(at)abikker(dot)nl>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: xpath improvement suggestion
Date: 2010-01-11 07:22:07
Message-ID: 1263194527.4609.4.camel@fsopti579.F-Secure.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On ons, 2010-01-06 at 23:46 +0100, Arie Bikker wrote:
> Hope this is the right attachement type (I'm new at this)
> BTW. here a some nice examples:
>
> - Get the number of attributes of the first childnode:
>
> select ( xpath('count(@*)',(xpath('*[1]','<a b="c"><d e="f"
> g="j"/></a>'))[1]))[1];
>
> - an alternative for xpath_exist('/a/d')
> select (xpath('boolean(/a/d)','<a b="c"><d e="f" g="j"/></a>'))[1];
>
> - fixes bug 4206
>
> select xpath('//text()',xmlparse(document '<?xml
> version="1.0"?><elem1><elem2>one</elem2><elem2>two</elem2><elem2>three</elem2><elem3att="2"/></elem1>'));
>
> - fixes bug 4294
>
> select xpath('name(/my:a/*[last()])', '<a
> xmlns="http://myns.com/ns"><b>text1</b><c>text2</c></a>',
> ARRAY[ARRAY['my','http://myns.com/ns']]);

Instead of converting everything to text, there have been previous
suggestions to add functionx like xpath_string, xpath_number,
xpath_boolean that return the appropriate types from xpath. This could
provide for better type safety and probably also more clarity.

In any case, please consider adding test cases like the above to the
regression tests in whatever patch comes out at the end.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Craig Ringer 2010-01-11 08:36:22 Re: Streaming replication status
Previous Message Peter Eisentraut 2010-01-11 07:00:02 Re: Typed tables