Modules | Category: example Use CaseSource (view)<doc> <city name="Paris" country="France" /> <city name="Madrid" country="Spain" /> <city name="Vienna" country="Austria" /> <city name="Barcelona" country="Spain" /> <city name="Salzburg" country="Austria" /> <city name="Bonn" country="Germany" /> <city name="Lyon" country="France" /> <city name="Hannover" country="Germany" /> <city name="Calais" country="France" /> <city name="Berlin" country="Germany" /> </doc> Stylesheet (view)<!-- Test set:intersection, difference --> <xsl:variable name="i" select="//city[contains(@name,'i')]" /> <xsl:variable name="e" select="//city[contains(@name,'e')]" /> <xsl:template match="/"> <out> Containing i and e: <xsl:for-each select="set:intersection($i, $e)"> <xsl:value-of select="@name" /> ; </xsl:for-each> Containing i and no e: <xsl:for-each select="set:difference($i, $e)"> <xsl:value-of select="@name" /> ; </xsl:for-each> Containing e and no i: <xsl:for-each select="set:difference($e, $i)"> <xsl:value-of select="@name" /> ; </xsl:for-each> <!-- test intersection and difference on empty sets --> Containing i: <xsl:for-each select="set:difference($i, /..)"> <xsl:value-of select="@name" /> ; </xsl:for-each> Empty set: <xsl:for-each select="set:intersection($i, /..)"> <xsl:value-of select="@name" /> ; </xsl:for-each> Empty set: <xsl:for-each select="set:intersection(/.., $i)"> <xsl:value-of select="@name" /> ; </xsl:for-each> Empty set: <xsl:for-each select="set:difference(/.., $i)"> <xsl:value-of select="@name" /> ; </xsl:for-each> </out> </xsl:template> Result (view)<out xmlns:set="http://exslt.org/sets"> Containing i and e: Vienna; Berlin; Containing i and no e: Paris; Madrid; Calais; Containing e and no i: Barcelona; Hannover; Containing i: Paris; Madrid; Vienna; Calais; Berlin; Empty set: Empty set: Empty set: </out> Change HistoryPrevious Version: ..NaN.html
|
http://www.exslt.org/set/functions/difference/set.difference.use-case.1.html last modified 2001-04-28