xsl-list
[Top] [All Lists]

RE: Match nodes with a range of values

2004-07-15 08:43:19
"Select all nodes where current nodes timebeg falls between 
the timebeg and timeend of all event 1's".

You can do this in XPath 2 as

//node[every $n in //node[(_at_)id=1] satisfies 
        (@timebeg ge $n/@timebeg and @timebeg le $n/@timeend)]

You can't do general joins in XPath 1 (it's not relationally complete). The
nearest you can get is

<xsl:for-each select="//node">
  <xsl:variable name="n" select="."/>
  <xsl:copy-of select="$n[not(//node[(_at_)id=1][@timebeg &lt;= $n/@timebeg or 
                                            @timeget &gt;= $n/@timeend)]"/>
</xsl:for-each>

Michael Kay



<Prev in Thread] Current Thread [Next in Thread>