Re: [xsl] ExtendedData from KML

Subject: Re: [xsl] ExtendedData from KML
From: Alan Hale <alan.hale@xxxxxxxxxxx>
Date: Tue, 17 Mar 2009 22:02:51 +0000
Many thanks for the swift reply Michael.

Just simple comma-separated values, one line per placemark - and what you have suggested works fine (with the insertion of the ExtendedData element) so:

<xsl:value-of select="ExtendedData/Data[@name='grid_ref']/value"/>

Thanks again.

Alan Hale
Aberystwyth

Michael Kay wrote:
It's not clear what you want the output to be, but my guess would be you are
looking for something like

<xsl:value-of select="Data[@name='grid_ref']/value"/>

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: Alan Hale [mailto:alan.hale@xxxxxxxxxxx] Sent: 17 March 2009 21:43
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] ExtendedData from KML


Hi

I am attempting to convert a KML file to CSV using XSLT. I can succeed with most elements and attributes, along these lines:

    <xsl:template match="Folder">
         <xsl:for-each select="Placemark">
            <xsl:value-of select="@id" />,
            <xsl:value-of select="name" />,
            <xsl:value-of select="Point/coordinates" />,
            <xsl:value-of select="Snippet" />
            <br />
        </xsl:for-each>
    </xsl:template>

but I don't know how to deal with the ExtendedData section which has multiple <Data> elements identifed with individual attributes, e.g.:

 <ExtendedData>
          <Data name="sciencName">
            <value>Acer campestre</value>
          </Data>
          <Data name="grid_ref">
            <value>SN593798</value>
          </Data>
          <Data name="eng_name">
            <value>Field Maple</value>
          </Data>
          <Data name="rdb_status">
            <value>Lower risk - least concern</value>
          </Data>
</ExtendedData>

Any advice much appreciated.

Thanks

Alan Hale
Aberystwyth

Current Thread