Книга: XSLT

Применение оси ancestor

Применение оси ancestor

Ось ancestor (предок) содержит всех предков контекстного узла, включая родителей, дедушек, прадедушек и т.д. Эта ось всегда содержит корневой узел — если только контекстным узлом не является сам корневой узел.

Взгляните на листинг 7.3, в котором при помощи оси ancestor осуществляется поиск имен (хранимых в элементе <NAME>) всех предков элементов <MASS>.

Листинг 7.3. Применение оси ancestor

<?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="MASS">
  <xsl:for-each select="ancestor::*">
   <xsl:value-of select="./NAME"/>
  </xsl:for-each>
 </xsl:template>
 <xsl:template match="PLANET">
  <xsl:apply-templates select="MASS"/>
 </xsl:template>
</xsl:stylesheet>

Вот результат применения этой таблицы стилей к planets.xml:

<?xml version="1.0" encoding="utf-8"?>
Mercury
Venus
Earth

Оглавление книги


Генерация: 5.705. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз