EXSLT - set:distinct - XSLT Template Implementation

Supported Version: 1
XML Definition: set.distinct.xml
Source: set.distinct.template.xsl

Source

<xsl:template name="set:distinct">
   <xsl:param name="nodes"
              select="/.." />
   <xsl:param name="distinct"
              select="/.." />
   <xsl:choose>
      <xsl:when test="$nodes">
         <xsl:call-template name="set:distinct">
            <xsl:with-param name="distinct"
                            select="$distinct | $nodes[1][not(. = $distinct)]" />
            <xsl:with-param name="nodes"
                            select="$nodes[position() > 1]" />
         </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
         <xsl:apply-templates select="$distinct"
                              mode="set:distinct" />
      </xsl:otherwise>
   </xsl:choose>
</xsl:template>
<xsl:template match="node()|@*"
              mode="set:distinct">
   <xsl:copy-of select="." />
</xsl:template>

Change History

Submitted: 2001-03-28
Creator: Jeni Tennison(http://www.jenitennison.com)

Returns the nodes within the node set that have unique values.

VersionModifiedByDetails
1.12001-04-25Jeni Tennison

Updated the description of the function to be more comprehensible (following Mike Kay's suggestion).

1.22001-05-08Jeni Tennison

Added a description of how the template-equivalent to the function works.

1.32001-05-22Jeni Tennison
  • Added vendor implementations in Saxon and 4XSLT
  • Changed status to stable
1.42001-06-11Jeni Tennison

Added vendor implementation in jd.xslt.

1.52002-08-20Craig Stewart

Added Xalan-J implementation to the list.

1.62002-11-12Craig Stewart

Updated 4XSLT version to 0.12.0a3.

Copyright

http://www.exslt.org/set/functions/distinct/set.distinct.template.xsl.html last modified 2002-11-12