XML2 module and xpath_table

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: Raw Message | Whole Thread | 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

Responses

Browse pgsql-general by date

  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