Поделиться через


Функция current

Возвращает набор узлов, в котором текущий узел является единственным членом.

node-set current()

Замечания

Эта функция возвращает набор узлов, единственным элементом которого является текущий узел. Для самого внешнего выражения — выражения, не встречающегося внутри другого выражения, — текущий узел всегда идентичен узлу контекста. Таким образом, выражение

<xsl:value-of select="current()"/>

идентично выражению

<xsl:value-of select="."/>

Однако, внутри квадратных скобок текущий узел обычно отличается от узла контекста. Например,

<xsl:apply-templates select="//glossary/item[@name=current()/@ref]"/>

обрабатывает все элементы <item> с родительским элементом <glossary> и атрибутом name со значением, равным значению атрибута ref текущего узла. В этом состоит его отличие от выражения

<xsl:apply-templates select="//glossary/item[@name=./@ref]"/>

со значением, идентичным значению выражения

<xsl:apply-templates select="//glossary/item[@name=@ref]"/>

которое будет подвергать обработке все элементы <item>, содержащие родительский элемент <glossary>, а также атрибуты name и ref с идентичными значениями.

Пример

XML-файл (current.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="current.xsl" ?>
<nodes>
   <node>first</node>
   <node>1</node>
   <node>
      <obj>class</obj>
   </node>
</nodes>

XSLT XML (current.xsl)

Вывод

Ниже приводятся отображаемые в обозревателе отформатированные выходные данные.

first

1

class

Ниже приводятся выходные данные из процессора XSLT. Для получения этих данных щелкните в обозревателе правой кнопкой мыши и выберите пункт меню Просмотр выходных данных XSL.

См. также

Справочник

Справочник по типам данных XML