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"><xsl:value-of select="current()"/>
</pre>
<pre class="eval"><xsl:value-of select="."/>
</pre>
<p>内側の式(角括弧など)では、現在のノードは一番外側の式の場合と同じです。したがって、次の3つの式のすべてにおいて<code>current</code>関数(式全体ではない)が同じノードを返します。さらに、後者の2つは意味的に同等です。</p>
<pre class="eval"><xsl:value-of select="current()"/>
</pre>
<pre class="eval"><xsl:value-of select="foo/bar[current() = X]"/>
</pre>
<pre class="eval"><xsl:variable name="current" select="current()"/>
<xsl:value-of select="foo/bar[$current = X]"/>
</pre>
<p>そして、次のコードは最も外側の式に<code>.</code>があるので、後者のコードと意味的に同じです。</p>
<pre class="eval"><xsl:variable name="current" select="."/>
<xsl:value-of select="foo/bar[$current = X]"/>
</pre>
<p>しかし、<code>.</code>は常に最も狭い文脈に関係しています。したがって、</p>
<pre class="eval"><xsl:value-of select="foo/bar[. = X]"/>
</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>
|