EXSLT - set:difference - Implementer Page

Version: 1
Status: stable
User Page: index.html
XML Definition: set.difference.xml
Function Package: set.difference.zip

Function Syntax

node-set set:difference(node-set, node-set)

Template Syntax

<xsl:call-template name="set:difference">
   <xsl:with-param name="nodes1" select="node-set" />
   <xsl:with-param name="nodes2" select="node-set" />

The set:difference function returns the difference between two node sets - those nodes that are in the node set passed as the first argument that are not in the node set passed as the second argument.

The set:difference template applies templates to these nodes in set:difference mode. By default, the nodes are copied by this template, so that a result tree fragment consisting of the nodes is returned.

An implementation of this extension function in the EXSLT set namespace must conform to the behaviour described in this document.


Built-in support for set:difference is available in the following XSLT processors:

ProcessorProcessor VersionImplemented Version
4XSLT, from 4Suite.0.12.0a31
SAXON from Michael Kay6.31
jd.xslt from Johannes Döbler1.0.91
libxslt from Daniel Veillard; implementation by Thomas Broyer1.0.191
Xalan-J from Apache2.4.D11

The following implementations of set:difference are available:

LanguageImplemented VersionCreatorDateDownload
XSLT Template1Jeni Tennison2001-03-28set.difference.template.xsl
EXSLT Function1Jeni Tennison2001-03-28set.difference.function.xsl

Use Cases

Use Case Package: set.difference.use-cases.zip

The following use cases illustrate the functionality of set:difference.

DetailsCalling StylesheetXML DataExpected ResultCategoryTemplate

Change History

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

Returns the nodes in the first node set that are not in the second node set.

1.12001-05-08Jeni Tennison

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

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

Added vendor implementation in jd.xslt.

1.42001-08-23Jeni Tennison

Added vendor implementation in libxslt.

1.52002-08-20Craig Stewart

Added Xalan-J implementation to the list.

1.62002-11-12Craig Stewart

Updated 4XSLT version to 0.12.0a3.


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