Книга: XSLT

position()

position()

Функция position возвращает позицию контекстного узла:

number position()

С этой функцией мы встречались на протяжении всей книги. Такой пример вы уже видели раньше в этой главе, в нем для создания предложения «The first three planets are: Mercury, Venus, and Earth.» используются функции last и position:

<?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">
  <DOCUMENT>
   <TITLE>
    The Planets
   </TITLE>
   <PLANETS>
    The first three planets are:
    <xsl:apply-templates select="PLANET"/>
   </PLANETS>
  </DOCUMENT>
 </xsl:template>
 <xsl:template match="PLANET">
  <xsl:value-of select="NAME"/>
  <xsl:if test="position()!=last()">, </xsl:if>
  <xsl:if test="position()=last()-1">and </xsl:if>
  <xsl:if test="position()=last()">.</xsl:if>
 </xsl:template>
</xsl:stylesheet>

Полученный результат:

<?xml:version="1.0" encoding="UTF-8"?>
<DOCUMENT>
 <TITLE>
  The Planets
 </TITLE>
 <PLANETS>
  The first three planets are: Mercury, Venus, and Earth.
 </PLANETS>
</DOCUMENT>

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

Оглавление статьи/книги

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