Текущая функция XSLT ()
❮ Справочник по функциям XSLTОпределение и использование
Функция current() возвращает набор узлов, содержащий только текущий узел. Обычно текущий узел и контекстный узел совпадают.
<xsl:value-of-select="current()"/>
равно
<xsl:значение выбора="."/>
Однако есть одно отличие. Посмотрите на следующее выражение 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 с одинаковым значением.
Синтаксис
node-set current()
Пример 1
<?xml version="1.0" encoding="UTF-8"?>
<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">
Current node: <xsl:value-of select="current()"/>
<br />
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Просмотр XML-файла , Просмотр XSL-файла и Просмотр результата .
❮ Справочник по функциям XSLT