| From: | Thomas Kellerer <spam_eater(at)gmx(dot)net> | 
|---|---|
| To: | pgsql-general(at)postgresql(dot)org | 
| Subject: | XML2 module and xpath_table | 
| Date: | 2008-05-21 10:05:47 | 
| Message-ID: | g10s5r$o3q$1@ger.gmane.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Hi,
I am using xpath_table to convert elements from an XML column to "rows".
Now according to 
http://www.postgresql.org/docs/8.3/static/xml2.html
this function will be removed in a future version. 
That chapter also claims that the new XML syntax covers the functionality of the xml2 module, but I cannot find a way to return the elements of an XML document as rows (as xpath_table does)
Suppose I have the following content in my xml column:
<team>
 <member id="10" name="Arthur Dent"/>
 <member id="11" name="Ford Prefect"/>
</team>
I am using a statement similar to this:
select member_id, member_name
from xpath_table('id', 'xml_text', 'xmltest', '/team/member/@id|/team/member/@name', 'true')
as t(id integer, member_id varchar, member_name varchar)
to get the following output
member_id	member_name
10	Arthur Dent
11	Ford Prefect
How would I achieve the same without using the deprecated xml2 module?
Thanks in advance
Thomas
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Maarten Deprez | 2008-05-21 11:33:02 | Re: escaping and quoting | 
| Previous Message | Gordon | 2008-05-21 08:34:34 | Re: Results of stored procedures in WHERE clause |