Книга: XSLT
Применение оси following-sibling
Применение оси following-sibling
Ось following-sibling
содержит всех последующих братьев контекстного узла.
Например, я могу выбрать каждый элемент <PLANET>
и скопировать в результирующий документ все узлы в оси following-sibling
следующим образом (листинг 7.9).
Листинг 7.9. Применение оси following-sibling
<?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-sibling::*">
<xsl:copy-of select="."/>
<xsl:for-each>
</xsl:template>
</xsl:stylesheet>
При этом сначала копируются два узла-брата, следующие за Меркурием (Венера и Земля), затем копируется следующий узел-брат Венеры, Земля. У самой Земли нет следующих за ней братьев, поэтому результат выглядит так:
<?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>
<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>
<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>
- Изучаем XPath
- Типы данных XPath
- Создание путей расположения XPath
- Шаги расположения XPath, часть 1: оси
- Шаги расположения XPath, часть 2: условия узлов
- Шаги расположения XPath, часть 3: предикаты
- Применение осей XPath
- Применение оси ancestor
- Применение оси ancestor-or-self
- Применение оси descendant
- Применение оси descendant-or-self
- Применение оси following
- Применение оси following-sibling
- Применение оси namespace
- Применение оси parent
- Применение оси preceding
- Применение оси preceding-sibling
- Применение оси self
- Примеры путей расположения
- Сокращенный синтаксис XPath
- Проверка выражений XPath
- XPath 2.0
- Применение оси following
- Применение оси preceding
- Применение оси preceding-sibling
- Применение оси descendant
- Применение оси ancestor
- Применение оси descendant-or-self
- Применение оси self
- «Вещи» как носители корпоративных стандартов
- О чем просить?
- Внешние носители информации
- Часть III Восстановление поврежденных носителей резервных копий
- Как переносить данные через USB-брелок («флэшку»)?