XSLT
Шрифт:
</TR>
<xsl:for-each select="/descendant-or-self::node/PLANET">
<TR>
<TD><xsl:value-of select="NAME"/></TD>
<TD><xsl:value-of select="MASS"/></TD>
<TD><xsl:value-of select="RADIUS"/></TD>
<TD><xsl:value-of select="DAY"/></TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
Вот
descendant
или descendant-or-self
, вы можете автоматически обрабатывать все выбираемые узлы, во многом аналогично тому, как это делают элементы <xsl:for-each>
или <xsl:template>
. Применение оси following
Ось following (следующий) содержит все узлы, расположенные после контекстного узла в соответствии с установленным в документе порядком (другими словами, в порядке, в котором они появляются в документе, начиная с его начала), исключая всех потомков контекстного узла, а также исключая узлы атрибутов и пространств имен.
В этом примере (листинг 7.8) я выбираю каждый элемент <PLANET> и копирую все последующие элементы в результирующий документ.
Листинг 7.8. Применение оси following
<?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="PLANET">
<xsl:for-each select="following::*">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Далее показан результат. Обратите внимание на то, что, когда этот шаблон выбирает элемент
<PLANET>
Меркурия, он копирует все последующие элементы — то есть Венеру, затем всех потомков Венеры, далее Землю и затем всех потомков Земли. После этого он выбирает элемент <PLANET>
Венеры и копирует все следующие элементы, то есть Землю и всех потомков Земли: <?xml version="1.0" encoding="UTF-8"?>
<PLANET>
<NAME>Venus</NAME>
<MASS UNITS="(Earth = 1)">.815</MASS>
<DAY UNITS="days">116.75</DAY>
<RADIUS UNITS="miles">3716</RADIUS>
<DENSITY UNITS="(Earth = 1)">.943</DENSITY>
<DISTANCE UNITS="million miles">66.8</DISTANCE><!--B
перигелии-->
</PLANET>
<NAME>Venus</NAME>
<MASS UNITS="(Earth = 1)">.815</MASS>
<DAY UNITS="days">116.75</DAY>
<RADIUS UNITS="miles">3716</RADIUS>
<DENSITY UNITS="(Earth = 1)">.943</DENSITY>
<DISTANCE UNITS="million miles">66.8</DISTANCE>
<PLANET>
<NAME>Earth</NAME>
<MASS UNITS="(Earth = 1)">1</MASS>
<DAY UNITS="days">1</DAY>
<RADIUS UNITS="miles">2107</RADIUS>
<DENSITY UNITS="(Earth = 1)">1</DENSITY>
<DISTANCE UNITS="million miles">128.4</DISTANCE><!--B перигелии-->
</PLANET>
<NAME>Earth</NAME>
<MASS UNITS="(Earth = 1)">1</MASS>
<DAY UNITS="days">1</DAY>
<RADIUS UNITS="miles">2107</RADIUS>
<DENSITY UNITS="(Earth = 1)">1</DENSITY>
<DISTANCE UNITS="million miles">128.4</DISTANCE>
<PLANET>
<NAME>Earth</NAME>
<MASS UNITS="(Earth = 1)">1</MASS>
<DAY UNITS="days">1</DAY>
<RADIUS UNITS="miles">2107</RADIUS>
<DENSITY UNITS="(Earth = 1)">1</DENSITY>
<DISTANCE UNITS="million miles">128.4</DISTANCE><!--B перигелии-->
</PLANET>
<NAME>Earth</NAME>
<MASS UNITS="(Earth = 1)">1</MASS>
<DAY UNITS="days">1</DAY>
<RADIUS UNITS="miles">2107</RADIUS>
<DENSITY UNITS="(Earth = 1)">1</DENSITY>
Поделиться:
Популярные книги
Проект ’Погружение’. Том 1
1. Проект ’Погружение’
Фантастика:
фэнтези
рпг
постапокалипсис
5.00
рейтинг книги
Игра топа. Между двух огней
2. Игра топа
Фантастика:
фэнтези
7.57
рейтинг книги
Три `Д` для миллиардера. Свадебный салон
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Черный Маг Императора 9
9. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Комбинация
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Целитель
1. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сердце Дракона. Том 8
8. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.53
рейтинг книги
Отвергнутая невеста генерала драконов
5. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Внешники такие разные
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Скрываясь в тени
2. Теневой путь
Фантастика:
боевая фантастика
7.84
рейтинг книги
Последний Паладин. Том 2
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сила рода. Том 1 и Том 2
1. Претендент
Фантастика:
фэнтези
рпг
попаданцы
5.85
рейтинг книги
Курсант: назад в СССР 2
2. Курсант
Фантастика:
попаданцы
альтернативная история
6.33