Emacs для начинающих

Сортировка


Сортировка XML-тегов в XSLT выполняется посредством элемента <xsl:sort select="sort_by_this_attribute"> Этот элемент должен размещаться внутри xsl:apply-templates (сортировка может производиться так же и в элементе xsl:for-each прим. перев.). Сортировка может выполняться как по самим xml-тегам, так и по их атрибутам, порядок сортировки можно задавать по возрастанию или по убыванию (если символы нижнего регистра должны предшествовать символам верхнего регистра или наоборот).

Для демонстрации сортировки я использовал пример альбома с фотографиями, в который добавил элемент <xsl:sort>:

<xsl:apply-templates select="//photo"> <xsl:sort select="file" order="descending"> </xsl:apply-templates>

Здесь изменен порядок следования фотографий в выходном html-документе. Теперь xslt сначала упорядочит все элементы photo из xml-файла, а затем передаст их элементу template-match, вот почему xsl:sort должен находиться внутри элемента xsl:apply-templates.

Файлы xsl и html примера вы можете взять здесь:

  • sort.xsl. xslt-преобразование
  • sort.html. отсортированный список


  • Содержание раздела