blob: 58fa50c595412272809cf07b50712c4ef09482ad (
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
66
67
|
---
title: lang
slug: Web/XPath/Functions/lang
tags:
- XSLT
- XSLT_Reference
translation_of: Web/XPath/Functions/lang
---
<p>{{ XsltRef() }}</p>
<p><code>lang</code> 関数は、コンテキストノードの言語が渡された言語に一致するかどうかを判定し、真偽値 true または false を返します。</p>
<h3 id="Syntax">構文</h3>
<pre class="eval">lang(<em>string</em> )
</pre>
<h3 id="Arguments">引数</h3>
<dl>
<dt><code><em>string</em></code></dt>
<dd>マッチさせる言語コードまたはローカライゼーション (言語と国) コード。</dd>
</dl>
<h3 id="Returns">返値</h3>
<p>コンテキストノードが与えられた言語に一致すれば <code>true</code>。そうでなければ <code>false</code>。</p>
<h3 id="Notes">注</h3>
<ul>
<li>ノードの言語はそのノードの <code>xml:lang</code> 属性で決定されます。 現在のノードが <code>xml:lang</code> 属性を持たなければ、 <code>xml:lang</code> 属性を持つ直近の祖先の <code>xml:lang</code> 属性の値が現在のノードの言語を決定します。言語を判定することができなければ (どの祖先も <code>xml:lang</code> 属性を持たなければ)、この関数は false を返します。</li>
</ul>
<ul>
<li>与えられた <code><em>string</em></code> に国コードが指定されていなければ、国コードにかかわらずその言語のどのノードにもマッチします。その逆は真ではありません。</li>
</ul>
<p>このような XML の断片と、</p>
<pre><p xml:lang="en">I went up a floor.</p>
<p xml:lang="en-GB">I took the lift.</p>
<p xml:lang="en-US">I rode the elevator.</p></pre>
<p>このような XSL テンプレートの一部があったとすると、</p>
<pre class="eval"><xsl:value-of select="count(//p[lang('en')])" />
<xsl:value-of select="count(//p[lang('en-GB')])" />
<xsl:value-of select="count(//p[lang('en-US')])" />
<xsl:value-of select="count(//p[lang('de')])" />
</pre>
<p>出力は次のようになるでしょう。</p>
<pre class="eval">3
1
1
0
</pre>
<h3 id="Defined">定義</h3>
<p><a href="https://www.w3.org/TR/xpath#function-lang">XPath 1.0 4.3</a></p>
<h3 id="Gecko_support">Gecko での対応</h3>
<p>対応済み。</p>
|