Creating XML/KML documents from single tables

From: "William Temperley" <willtemperley(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Creating XML/KML documents from single tables
Date: 2008-01-02 14:17:42
Message-ID: 439dc11e0801020617y66308f75g2f0a661bea960f52@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi
I would be most grateful if someone could help me create an xml doc in the form:

<root>
<layer name = 'x1'>
<marker id="35"
class="1"><Point><coordinates>-3.04,53.56,0</coordinates></Point></marker>
<marker id="35"
class="4"><Point><coordinates>-2.04,55.56,0</coordinates></Point></marker>
</layer>
<layer name = 'x2'>
<marker id="35"
class="3"><Point><coordinates>-3.44,57.56,0</coordinates></Point></marker>
</layer>
</root>

This will be created from a single table of point geometries where
each belongs to a layer, e.g. x1 or x2 etc. The layer a geometry
belongs to is stored in a varchar column called layername.

Creating the marker tags is easily done using the query:
# select xmlelement(name marker, xmlattributes(gid as id, typeid as
class), askml(the_geom)) from poi

Or creating a list of layers is also simple:
#select xmlelement(name layer, xmlattributes(layername as name)) from
poi group by layername

However I cannot work out how to insert more than one child node into
a layer element.

Thanks

Will T

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Matthew Wilson 2008-01-02 15:11:09 Re: Need help requiring uniqueness in text columns
Previous Message Glyn Astill 2008-01-02 13:47:19 Fwd: [ADMIN] Shutting down warm standby server? "