|
Subject: [xsl] Filtering a node-set From: George James <GeorgeJ@xxxxxxxxxxxxxxx> Date: Wed, 9 Jan 2008 11:16:09 -0000 |
I have a variable containing a node-set. Each element in the node-set has a
lat and lon attribute and I have a template that filters elements in the
node-set based on their proximity to other elements:
<xsl:variable name="boxSize" select="'0.002'"/>
<xsl:for-each select="$elements">
<xsl:variable name="top" select="@lat + 90 + $boxSize "/>
<xsl:variable name="bottom" select="@lat + 90 - $boxSize"/>
<xsl:variable name="left" select="@lon + 180 "/>
<xsl:variable name="right" select="@lon + 180 + $boxSize
+$boxSize"/>
<xsl:if test="count($elements[(@lon+180) < $right and
(@lon+180) > $left and (@lat+90) < $top and (@lat+90) >
$bottom])=0">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
The output of this template is an rtf. I'd like the output to be a node-set
so that I can then further manipulate the results. I need this to run in
xslt1 without using extensions so I can't just use an extension to convert
the rtf to a node-set.
Is there a way of re-expressing the above template as an xpath expression
that would return a node-set? I can't see a way of eliminating the use of
the $top, $bottom, $left and $right variables. Is it possible?
Regards
George
George James Software
www.georgejames.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Declaring more than one t, Michael Kay | Thread | Re: [xsl] Filtering a node-set, David Carlisle |
| Re: [xsl] Declaring more than one t, David Carlisle | Date | Re: [xsl] Declaring more than one t, Abel Braaksma |
| Month |