aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/xpath/functions/lang/index.html
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>&lt;p xml:lang="en"&gt;I went up a floor.&lt;/p&gt;
&lt;p xml:lang="en-GB"&gt;I took the lift.&lt;/p&gt;
&lt;p xml:lang="en-US"&gt;I rode the elevator.&lt;/p&gt;</pre>

<p>このような XSL テンプレートの一部があったとすると、</p>

<pre class="eval">&lt;xsl:value-of select="count(//p[lang('en')])" /&gt;
&lt;xsl:value-of select="count(//p[lang('en-GB')])" /&gt;
&lt;xsl:value-of select="count(//p[lang('en-US')])" /&gt;
&lt;xsl:value-of select="count(//p[lang('de')])" /&gt;
</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>