ключей сортировки, значения всех этих атрибутов рассматриваются как шаблон значения атрибута.
QName с префиксом преобразуется в расширенное имя как описано в главе [2.4 Полные имена]. Расширенное имя идентифицирует тип данных. Данный документ не конкретизирует действия, предпринимаемые в этом случае.
Значение по умолчанию –
Замечание: Рабочая группа xsl планирует, что будущие версии XSLT будут использовать схемы XML для определения других значений для этого атрибута.
Замечание: Два разных xslt процессора, соответствующих спецификации, могут выполнять сортировку не совсем одинаково. Некоторые из XSLT процессоров могут не поддерживать некоторые языки. Более того, для любого конкретного языка может варьироваться сортировка, которая не была задана атрибутом
Замечание: Рекомендуется чтобы разработчики обращались к [UNICODE TR10] за информацией по интернациональной сортировке.
Сортировка должна быть постоянной: в отсортированном списке узлов любое подмножество, имеющее ключи сортировки, дающие при сравнении равенство, должно быть выстроено в том же порядке, как и в исходном документе.
К примеру, предположим, что база данных служащих имеет формат
<employees>
<employee>
<name>
<given>James</given>
<family>Clark</family>
</name> …
</employee>
</employees>
в таком случае список служащих можно отсортировать по имени с помощью:
<xsl:template match='employees'>
<ul>
<xsl:apply-templates select='employee'>
<xsl:sort select='name/family'/>
<xsl:sort select='name/given'/>
</xsl:apply-templates>
</ul>
</xsl:template>
<xsl:template match='employee'>
<li>
<xsl:value-of select='name/given'/>
<xsl:text> </xsl:text>
<xsl:value-of select='name/family'/>
</li>
</xsl:template>
11 Переменные и параметры