XSLT current()Функция


XSLT 函数参考对象Полный справочник функций 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 имеют одинаковое значение.


Синтаксис

набор узлов current()

Пример 1

<?xml version="1.0" encoding="ISO-8859-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 函数参考对象Полный справочник функций XSLT Другие расширения