perform-sort demo
File: Data.xml <?xml version="1.0"?> <addressbook> <address> <name> <title>Mr.</title> <first-name>A</first-name> <last-name>B</last-name> </name> <street>1234 Main Street</street> <city>Vancouver</city> <state>WI</state> <zip>48392</zip> </address> </addressbook> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:variable name="sortedCities" as="xs:string*"> <xsl:perform-sort> <xsl:sort select="."/> <xsl:sequence select="addressbook/address/city"/> </xsl:perform-sort> </xsl:variable> <xsl:text>Our customers live in these cities:

</xsl:text> <xsl:value-of select="$sortedCities" separator="
"/> </xsl:template> </xsl:stylesheet> Output: Our customers live in these cities: Vancouver