Вход/Регистрация
XSLT
вернуться

Холзнер Стивен

Шрифт:
Листинг 5.8. Второй пример <xsl:for-each>

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:output method="xml"/>

 <xsl:template match="PLANETS">

<PLANETS>

<xsl:for-each select="PLANET">

<PLANET>

<xsl:for-each select="*">

<DATA>

<xsl:value-of select="."/>

</DATA>

</xsl:for-each>

</PLANET>

</xsl:for-each>

</PLANETS>

 </xsl:template>

</xsl:stylesheet>

И вот результат:

<?xml version="1.0" encoding="UTF-8"?>

<PLANETS>

 <PLANET>

<DATA>Mercury</DATA>

<DATA>.0553</DATA>

<DATA>58.65</DATA>

<DATA>1516</DATA>

<DATA>.983</DATA>

<DATA>43.4</DATA>

 </PLANET>

 <PLANET>

<DATA>Venus</DATA>

<DATA>.815</DATA>

<DATA>116.75</DATA>

<DATA>3716</DATA>

<DATA>.943</DATA>

<DATA>66.8</DATA>

 </PLANET>

 <PLANET>

<DATA>Earth</DATA>

<DATA>1</DATA>

<DATA>1</DATA>

<DATA>2107</DATA>

<DATA>1</DATA>

<DATA>128.4</DATA>

 </PLANET>

</PLANETS>

Сортирующие элементы

При помощи элемента

<xsl:sort>
можно сортировать узлы. Этот элемент устанавливает порядок обработки узлов для
<xsl:apply-templates>
и
<xsl:for-each>
. В следующем списке перечислены атрибуты
<xsl:sort>
:

• 

select
(необязательный). Принимает значение выражения XPath, возвращающего набор узлов для сортировки. По умолчанию — «string(.)»;

• 

order
(необязательный). Задает порядок сортировки, устанавливается в «ascending» (по возрастанию) или «descending» (по убыванию);

• 

case-order
(необязательный). Определяет, будут ли буквы в верхнем регистре располагаться перед буквами в нижнем регистре. Устанавливается в «upper-first» (сначала верхний) или «lower-first» (сначала нижний);

• 

lang
(необязательный). Задает язык, чьи соглашения о сортировке будут применяться. Устанавливается в код языка, допустимый в атрибуте
xml:lang
;

• 

data-type
(необязательный). Определяет, будет ли сортировка вестись в алфавитном или числовом порядке. Устанавливается в «
text
» (текст), «
number
» (число) или в
QName
.

Этот элемент не включает содержимое. Его следует применять внутри элементов <xsl:apply-templates> или <xsl:for-each> для сортировки наборов узлов, с которыми работают эти элементы.

В листинге 5.9 я только отсортирую элементы

<PLANET>
в
planets.xml
в возрастающем алфавитном порядке по их именам, используя
<xsl:for-each>
в упрощенной таблице стилей.

Листинг 5.9. Сортировка данных

<HTML xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">

 <HEAD>

<TITLE>

The Sorted Planets Table

</TITLE>

  • Читать дальше
  • 1
  • ...
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: