XML2 module and xpath_table

Started by Thomas Kellereralmost 18 years ago3 messagesgeneral
Jump to latest
#1Thomas Kellerer
spam_eater@gmx.net

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

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Thomas Kellerer (#1)
Re: XML2 module and xpath_table

Am Mittwoch, 21. Mai 2008 schrieb Thomas Kellerer:

How would I achieve the same without using the deprecated xml2 module?

xpath_table is probably the major piece that is not directly covered by the
new system. So until we have a replacement, we probably won't remove the old
module.

#3Thomas Kellerer
spam_eater@gmx.net
In reply to: Peter Eisentraut (#2)
Re: XML2 module and xpath_table

Peter Eisentraut wrote on 24.05.2008 13:35:

Am Mittwoch, 21. Mai 2008 schrieb Thomas Kellerer:

How would I achieve the same without using the deprecated xml2 module?

xpath_table is probably the major piece that is not directly covered by the
new system. So until we have a replacement, we probably won't remove the old
module.

Ah, good to know.

Thanks for the answer