XSLT <xsl:sort>Элемент
Справочник по элементам XSLT
Определение и использование
Элемент <xsl:sort> используется для сортировки выходного результата.
Примечание:<xsl:sort> всегда должен находиться внутри <xsl:for-each> или <xsl:apply-templates>.
Синтаксис
<xsl:sort
select="expression"
lang="language-code"
data-type="text|number|qname"
order="ascending|descending"
case-order="upper-first|lower-first"/>
lang="language-code"
data-type="text|number|qname"
order="ascending|descending"
case-order="upper-first|lower-first"/>
Атрибуты
| Attribute | Значение | Описание |
|---|---|---|
| select | XPath-выражение | Необязательно. Указывает ключ сортировки для узлов, то есть по какому узлу или набору узлов выполнять сортировку. |
| lang | language-code | Необязательно. Указывает язык, используемый для сортировки. |
| data-type | text число qname |
Необязательно. Указывает тип данных для сортировки. По умолчанию — "text". |
| order | ascending descending |
Необязательно. Указывает порядок сортировки. По умолчанию — "ascending". |
| case-order | upper-first lower-first |
Необязательно. Указывает, должна ли сортировка выполняться сначала по прописным или строчным буквам. |
Пример
В следующем примере сортировка будет выполнена по ключевому слову artist:
Пример
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Моя коллекция CD</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Название</th>
<th>Исполнитель</th>
</tr>
<xsl:for-each select="catalog/cd">
<xsl:sort select="artist"/>
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Моя коллекция CD</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Название</th>
<th>Исполнитель</th>
</tr>
<xsl:for-each select="catalog/cd">
<xsl:sort select="artist"/>
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Попробуйте сами »
Справочник по элементам XSLT Другие расширения