XSLT current()Функция
Полный справочник функций XSLT
Определение и использование
Функция current() возвращает набор узлов, содержащий только текущий узел. Обычно текущий узел совпадает с контекстным узлом.
<xsl:value-of select="current()"/>
Равно
<xsl:value-of select="."/>
Однако есть разница. Рассмотрим следующее выражение XPath: "catalog/cd". Это выражение выбирает дочерний узел <catalog> текущего узла, а затем выбирает дочерний узел <cd> узла <catalog>. Это означает, что на каждом шаге вычисления "." имеет разное значение.
Следующая строка:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
обработает все элементы cd, у которых значение атрибута title равно значению атрибута ref текущего узла.
В отличие от этого:
<xsl:apply-templates select="//cd[@title=./@ref]"/>
Это обработает все элементы cd, у которых атрибут title и атрибут ref имеют одинаковое значение.
Синтаксис
Пример 1
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="catalog/cd/artist">
Текущий узел: <xsl:value-of select="current()"/>
<br />
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
、 、 。
Полный справочник функций XSLT Другие расширения