O'Reilly logo

XSLT, 2nd Edition by Doug Tidwell

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

[2.0] <xsl:perform-sort>

Sorts a sequence. The sequence to be sorted can be defined with the select attribute, or it can be constructed inside the <xsl:perform-sort> element itself.

Category

Instruction

Required Attributes

None.

Optional Attribute

select

An XPath expression that defines the items to be sorted. If the select attribute is present, the <xsl:perform-sort> element can only contain <xsl:sort> and <xsl:fallback> elements. In other words, with a select attribute, the <xsl:perform-sort> element is not allowed to construct a sequence of items because the select attribute has already specified one.

Content

<xsl:perform-sort> contains one or more <xsl:sort> elements, along with any number of <xsl:fallback> elements. If the select attribute is not defined, <xsl:perform-sort> can contain a sequence constructor. If there is no select attribute and the <xsl:perform-sort> element doesn’t create a sequence, the result is an empty sequence.

Appears in

Any XSLT element whose content model is a sequence constructor or any literal result element.

Defined in

XSLT section 13.2, “Creating a Sorted Sequence.”

Example

We’ll start with an <xsl:perform-sort> element that uses a select attribute to produce a sorted sequence. Here is our stylesheet:

<?xml version="1.0"?>
<!-- perform-sort4.xsl -->
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xsl:output method="text"/>

  <xsl:variable name="vendorsInOrder" as="xs:string*">
 <xsl:perform-sort ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required