aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/xpath/functions/current/index.html
blob: 406f2791236130b12f2898d29a7dbf7c8534a587 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
---
title: current
slug: Web/XPath/Functions/current
tags:
  - XSLT
  - XSLT_Reference
translation_of: Web/XPath/Functions/current
---
<p>{{ XsltRef() }}</p>

<p><code>current</code>関数を使用して、XSLT命令でコンテキストノードを取得できます。</p>

<h3 id="Syntax" name="Syntax">構文</h3>

<pre class="eval">current()
</pre>

<h3 id="Returns" name="Returns">戻り値</h3>

<p>現在のノードのみを含むノード集合。</p>

<h3 id="Notes" name="Notes">注記</h3>

<p>この関数はXSLT固有のXPathへの追加です。コアXPath関数ライブラリの一部ではありません。</p>

<p>一番外側の式(別の式内に現れない式)の場合、現在のノードは常にコンテキストノード(<code>.</code>または<code>self</code>構文によって返されます)と同じです。次の2つは意味的に同等です。</p>

<pre class="eval">&lt;xsl:value-of select="current()"/&gt;
</pre>

<pre class="eval">&lt;xsl:value-of select="."/&gt;
</pre>

<p>内側の式(角括弧など)では、現在のノードは一番外側の式の場合と同じです。したがって、次の3つの式のすべてにおいて<code>current</code>関数(式全体ではない)が同じノードを返します。さらに、後者の2つは意味的に同等です。</p>

<pre class="eval">&lt;xsl:value-of select="current()"/&gt;
</pre>

<pre class="eval">&lt;xsl:value-of select="foo/bar[current() = X]"/&gt;
</pre>

<pre class="eval">&lt;xsl:variable name="current" select="current()"/&gt;
&lt;xsl:value-of select="foo/bar[$current = X]"/&gt;
</pre>

<p>そして、次のコードは最も外側の式に<code>.</code>があるので、後者のコードと意味的に同じです。</p>

<pre class="eval">&lt;xsl:variable name="current" select="."/&gt;
&lt;xsl:value-of select="foo/bar[$current = X]"/&gt;
</pre>

<p>しかし、<code>.</code>は常に最も狭い文脈に関係しています。したがって、</p>

<pre class="eval">&lt;xsl:value-of select="foo/bar[. = X]"/&gt;
</pre>

<p><code>.</code><code>bar</code>ノードを返します。これは現在のノードとは異なる場合があります。</p>

<h3 id="Defined" name="Defined">定義</h3>

<p><a class="external" href="http://www.w3.org/TR/xslt#function-current">XSLT 1.0 12.4</a></p>

<h3 id="Gecko_support" name="Gecko_support">Gecko のサポート状況</h3>

<p>サポート済み</p>