Re: [xsl] Compound filter in for-each

Subject: Re: [xsl] Compound filter in for-each
From: Alan Hale <alan.hale@xxxxxxxxxxx>
Date: Tue, 24 Mar 2009 22:38:39 +0000
Wendell Piez wrote:
At 06:03 PM 3/24/2009, Mike wrote:
> .... but if I do this:
> <xsl:for-each
> select="Placemark/ExtendedData/Data[@name='rdb_status' and
> value='Endangered']">
> I get no error, but also no data returned -even though there
> are matching values.

You haven't shown what you are doing inside the for-each - perhaps that's
where your error is.

How do you know you have now matched the values? What do you get for

count(Placemark/ExtendedData/Data[@name='rdb_status' and

Also, you haven't shown us the context (template match) within which the for-each is used, so we don't know if any nodes are actually selected by the path -- even if it's syntactically correct, and plausible to think it might, given what we've seen.

(That's what I meant about "knowing more about what you haven't told us" in my first response. XSLT is easy enough once things line up, but until you know how to make that happen, it'll be mysterious.)

Ah - I see what you mean. Here is the context::

<xsl:template match="/">
Id,Taxon,Location,OldGridRef,NewGridRef,RDBStatus,LastSeen,NowDate <br/>
<xsl:apply-templates />
<xsl:template match="Folder">
<xsl:for-each select="Placemark/ExtendedData/Data[@name='rdb_status' and value='Endangered']">
<xsl:value-of select="@id" />,
<xsl:value-of select="name" />,
<xsl:value-of select="ExtendedData/Data[@name='location_name']/value"/>,
<xsl:value-of select="ExtendedData/Data[@name='grid_ref']/value"/>,
<xsl:comment>The following line inserts the output of some C# code to calculate British Grid Ref from Long/Lat</xsl:comment>
<xsl:value-of select="adh:Transform(Point/coordinates)"/>,
<xsl:value-of select="ExtendedData/Data[@name='rdb_status']/value"/>,
<xsl:value-of select="ExtendedData/Data[@name='last_seen']/value"/>,
<xsl:value-of select="adh:Date()"/>
This works well enough when I just do:

 <xsl:for-each select="Placemark">
i.e. with no filter

(Mysterious indeed Wendell - though I begin to get the beginnings of some insight).

Thanks both for your help - much appreciated.

Alan Hale

Current Thread