=> Главная База Знаний Xslt Применение оси ancestor


Применение оси 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