recursal/MDN huggingface dataset:
translate
=========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`translate` 関数は、文字列と、その文字列を変換するための文字の集合を評価し、変換された文字列を返します。

### 構文
```

translate(string, abc, XYZ)
```

### 引数

`string`

評価する文字列。

`abc`

置換の対象となる文字を格納した文字列。

`XYZ`

置換に使用する文字を格納した文字列。 例えば `string` の中に `abc` の 1 文字目が見つかると、それらはすべて `XYZ` の 1 文字目に置き換えられる。

### 返値

変換された文字列。

### 注

XPath では、大文字と小文字の変換に使用するための解決策としては、translate 関数はすべての言語において十分なものであるとは言えないと注記されています。 XPath の将来のバージョンでは、大文字と小文字の変換のための関数が追加されるかもしれません。

ですが、現在のところはこの関数が文字列を大文字や小文字に変換するのには最も適しています。

例
```

<xsl:value-of select="translate('The quick brown fox.', 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
```


出力
```

THE QUICK BROWN FOX.
```


* `abc` が `XYZ` よりも長い場合、`XYZ` の中に対応する文字がない `abc` の文字はすべて削除されます。

例
```

<xsl:value-of select="translate('The quick brown fox.', 'brown', 'red')" />
```


出力
```

The quick red fdx.
```


* `XYZ` に `abc` よりも多く文字が含まれている場合、余分な文字は無視されます。
### 定義

XPath 1.0 4.2

### Gecko での対応

対応済み。
string-length
=============

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`string-length` 関数は、与えられた文字列の文字数に等しい数値を返します。

### 構文
```

string-length( [string] )
```

### 引数

`string` (省略可)

評価する文字列。省略すると、コンテキストノードを文字列に変換したものが使用されます。

### 返値

文字列の文字数に等しい整数。

### 定義

XPath 1.0 4.2

### Gecko での対応

対応済み。
not
===

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`not` 関数は式を論理値として評価し、その逆の値を返します。

### 構文
```

not(expression )
```

### 引数

`expression`

この式は boolean() 関数の引数として渡された場合とまったく同じように評価されます。

### 返値

false と評価できる式に対しては true を返し、true と評価できる式に対しては false を返します。

### 注

* この関数は boolean() 関数と同様のふるまいをしますが、返される値はその逆です。
* 要素に一部の属性がないことを検査することができます。
```

<xsl:for-each match="//a[not(@name and @name = 'badname')]">
  <!-- iterates over any <a> element in the document, that
       either has no 'name' attribute at all, or it has one,
       but its value is not "badname". -->
</xsl:template>
```

### 定義

XPath 1.0 4.3

### Gecko での対応

対応済み。
concat
======

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`concat` 関数は 2 つ以上の文字列を連結し、その結果として得られる文字列を返します。

### 構文
```

concat(string1 ,string2 [,stringn]* )
```

### 引数

`stringn`

この関数は 2 つ以上の引数を受け入れます。それぞれの引数は文字列です。

### 返値

関数に引数として渡されたすべての文字列を連結した、単一の文字列。

### 定義

XPath 1.0 4.2

### Gecko での対応

対応済み。
key
===

`key` 関数は、指定されたキーに対して指定された値を持つノードのノード集合を返します。

### 構文
```

key( keyname, value )
```

### 引数

`keyname`

使用される `xsl:key` 要素の名前を含む文字列。

`value`

返されるノード集合には、指定されたキーに対してこの値を持つすべてのノードが含まれます。

### 返値

ノード集合です。

### メモ

* `xsl:key` 要素は、指定された要素がキーと一致するために使用される属性を定義します

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

### 定義

XSLT 1.0 12.2

### Gecko の対応

対応済み。
unparsed-entity-url
===================

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`unparsed-entity-url()`関数は、指定された名前を持つ解析されていないエンティティの URI を返します。これは、ソース文書の DTD で参照される非 XML データです。

### 構文
```

string unparsed-entity-url(string)
```

### 引数

解析されていないエンティティの名前。引数が文字列でない場合は、 string() 関数の規則を使用して変換されます。名前は XML 名でなければなりません。

### 返値

存在する場合、 DTD から取り出された未解析エンティティの URI。それ以外の場合は空の文字列です。

### 定義

XSLT 1.0 12.4

### Gecko の対応状況

未対応
contains
========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`contains` 関数は、第 1 引数の文字列に第 2 引数の文字列が含まれているかどうかを判定し、論理値 true または false を返します。

### 構文
```

contains(haystack ,needle )
```

### 引数

`haystack`

検索される文字列


`needle`

`haystack` の部分文字列かどうかを検索する文字列

### 返値

`haystack` に `needle` が含まれていれば `true`。 そうでなければ `false`。

### 定義

XPath 1.0 4.2

### Gecko でのサポート

サポート済み。
floor
=====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`floor` 関数は小数を評価し、その小数以下の最も大きい整数を返します。

### 構文
```

floor( number )
```

### 引数

`number`

評価する小数。

### 返値

`number` 以下の最も近い整数。

### 定義

XPath 1.0 4.4

### Gecko での対応

対応済み。
substring
=========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`substring` 関数は与えられた文字列の一部を返します。

### 構文
```

substring(string ,start [,length] )
```

### 引数

`string`

評価する文字列。


`start`

`string` 内での部分文字列の開始位置。

`length` (省略可)

部分文字列の長さ。 省略すると、返される文字列には `start` の位置から `string` の最後までのすべての文字が格納される。

### 返値

文字列。

### 注

他の XPath 関数と同様に、位置はゼロ始まりではありません。 文字列内の最初の文字の位置は 1 であり、0 ではありません。

### 定義

XPath 1.0 4.2

### Gecko での対応

対応済み。
lang
====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`lang` 関数は、コンテキストノードの言語が渡された言語に一致するかどうかを判定し、論理値 true または false を返します。

### 構文
```

lang(string )
```

### 引数

`string`

マッチさせる言語コードまたはローカライゼーション (言語と国) コード。

### 返値

コンテキストノードが与えられた言語に一致すれば `true`。そうでなければ `false`。

### 注

* ノードの言語はそのノードの `xml:lang` 属性で決定されます。 現在のノードが `xml:lang` 属性を持たなければ、 `xml:lang` 属性を持つ直近の祖先の `xml:lang` 属性の値が現在のノードの言語を決定します。言語を判定することができなければ (どの祖先も `xml:lang` 属性を持たなければ)、この関数は false を返します。

* 与えられた `string` に国コードが指定されていなければ、国コードにかかわらずその言語のどのノードにもマッチします。その逆は真ではありません。

このような XML の断片と、
```

<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>
```


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

<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')])" />
```


出力は次のようになるでしょう。
```

3
1
1
0
```

### 定義

XPath 1.0 4.3

### Gecko での対応

対応済み。
string
======

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`string` 関数は与えられた引数を文字列に変換します。

### 構文
```

string( [object] )
```

### 引数

`object` (省略可)

文字列に変換するオブジェクト。省略すると、コンテキストノードが使用されます。

### 返値

文字列。

### 注

* オブジェクトがノード集合ならば、その集合内の最初のノードの文字列値が返されます。
* 数値は次のように変換されます。
    + NaN は文字列 NaN に変換されます。
    + 正のゼロは文字列 0 に変換されます。
    + 負のゼロは文字列 0 に変換されます。
    + 正の無限大は文字列 Infinity に変換されます。
    + 負の無限大は文字列 -Infinity に変換されます。
    + -1 と 1 の間の小数は、小数点の前に 0 を 1 つ付けた形式で文字列に変換されます。
    + 論理値の true は文字列の true に変換されます。
    + 論理値の false は文字列の false に変換されます。
### 定義

### Gecko での対応

対応済み。
ceiling
=======

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`ceiling` 関数は小数を評価し、その小数以上の最も小さい整数を返します。

### 構文
```

ceiling(number )
```

### 引数

`number`

評価する数値。

### 返値

`number` 以上の最も近い整数。

例:

`ceiling (5.2)` = *6*

`ceiling (-5.2)` = *-5*

### 定義

XPath 1.0 4.4

### Gecko での対応

対応済み。
namespace-uri
=============

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`namespace-uri` 関数は、指定されたノード集合内の最初のノードの名前空間 URI を表す文字列を返します。

### 構文
```

namespace-uri( [node-set] )
```

### 引数

`node-set` (省略可)

このノード集合内の最初のノードの名前空間 URI が返されます。引数を省略すると、現在のコンテキストノードが使用されます。

### 返値

指定されたノードが属する名前空間の URI を表す文字列。

### 注

* 指定されたノードが特定の名前空間を持たなければ、空文字列が返されます。

* 要素ノードおよび属性ノード以外のノードに対しては、常に空文字列が返されます。
### 定義

XPath 1.0 4.1

### Gecko での対応

対応済み。
position
========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`position` 関数は、式評価コンテキストのコンテキスト位置に等しい数値を返します。

### 構文
```

position()
```

### 返値

式評価コンテキストのコンテキスト位置に等しい整数。

### 注

* コンテキストにおけるノードの位置はゼロ起点ではないことに注意してください。最初のノードの位置は 1 です。

* コンテキストはパスのほかの部分によって決定します。
```

<xsl:template match="//a[position() = 5]">
 <!-- このテンプレートは文書内のあらゆる位置にある
         5 番目の a 要素にマッチする -->
</xsl:template>
```


```
<xsl:template match="//div[@class='foo']/bar[position() = 1]">
 <!-- このテンプレートは class 属性が "foo" に等しい div 要素の子である
      1 番目の bar 要素にマッチする -->
</xsl:template>
```

### 定義

XPath 1.0 4.1

### Gecko での対応

対応済み。
local-name
==========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`local-name` 関数は、与えられたノード集合内の最初のノードのローカル名 (local name) を表す文字列を返します。

### 構文
```

local-name( [node-set] )
```

### 引数

`node-set` (省略可)

このノード集合内の最初のノードのローカル名が返されます。引数を省略すると、現在のコンテキストノードが使用されます。

### 返値

文字列。

### 注

* ローカル名は展開名 (expanded-name) のローカル部分です。
### 定義

XPath 1.0 4.1

### Gecko での対応

対応済み。
name
====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`name` 関数は、与えられたノード集合内の最初のノードの QName を表す文字列を返します。

### 構文
```

name( [node-set] )
```

### 引数

`node-set` (省略可)

このノード集合内の最初のノードの QName が返されます。引数を省略すると、現在のコンテキストノードが使用されます。

### 返値

ノードの QName を表す文字列。

### 注

* QName はノードの修飾名であり、名前空間接頭辞とローカル名が含まれます。
### 定義

XPath 1.0 4.1

### Gecko での対応

対応済み。
system-property
===============

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`system-property`関数は、指定されたシステムプロパティを表すオブジェクトを返します。

### 構文
```

system-property(name)
```

### 引数

`name` (任意)

システムプロパティの名前。引数は QName である文字列に評価される必要があります。 QName は、式のスコープ内の名前空間宣言を使用して名前に展開されます。 system-property 関数は、名前によって識別されるシステムプロパティの値を表すオブジェクトを戻します。そのようなシステムプロパティがない場合は、空の文字列を返す必要があります。

### 返値

指定されたシステムプロパティを表すオブジェクト。

### 注

* xsl:version: プロセッサーによって実装された XSLT のバージョンを示す数字。このドキュメントで指定されているバージョンの XSLT を実装している XSLT プロセッサの場合、これは 1.0 です
* xsl:vendor: XSLT プロセッサーのベンダーを識別する文字列
* xsl:vendor-url: XSLT プロセッサーのベンダーを識別する URL を含む文字列。通常これはベンダーのウェブサイトのホストページ (ホームページ) です
### 定義

XSLT 1.0 12.4

### Gecko での対応

対応済み
choose
======

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`choose` 関数は正負値に基づいて、指定されたオブジェクトのうち 1 つを返します。

**メモ:** このメソッドは廃止予定である `if()` の代わりに使われるべきです。

### 構文
```

choose( boolean , object1, object2 )
```

### 値

`boolean`

どのオブジェクトを返すかを決定するのに使われる正負オペレーション。

`object1`

戻されるか検討される 1 つめのオブジェクト。

`object2`

戻されるか検討される 2 つめのオブジェクト。

### 返値

もし与えられた正負値が正であれば、1 つめのオブジェクトが戻される。そうでなければ 2 つめのオブジェクトが戻される。

**メモ:** 値が戻らないものまで含めて、全てのパラメータが評価される。

### 定義

XForms 1.1

### Gecko のサポート状況

サポート済み.
last
====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`last` 関数は、式評価コンテキストのコンテキストサイズに等しい数値を返します。

### 構文
```

last()
```

### 返値

式評価コンテキストのコンテキストサイズに等しい整数。

### 注

* この関数は、特定のノードがノード集合内で最後のものであるかどうかを判定するために、 position() 関数をともなってよく用いられます。
### 定義

XPath 1.0 4.1

### Gecko での対応

対応済み。
function-available
==================

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`function-available`関数は、指定された関数が使用可能かどうかを判断し、論理値 true または false を返します。

### 構文
```

function-available(name )
```

### 引数

`name`

テストする関数の名前

### 返値

論理値の `true` もしくは `false`

### 定義

XPath 1.0 15

### Gecko のサポート

サポート済み
generate-id
===========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`generate-id`関数は、指定されたノード集合の最初のノードの一意の ID を生成し、その ID を含む文字列を返します。

### 構文
```

generate-id( [node-set] )
```

### 引数

`node-set` (任意)

このノード集合の最初のノードに対して ID が生成されます。省略すると、現在のコンテキストノードが使用されます。

### 返値

生成された ID を含む文字列。

### 注記

* 同じ ID は、現在の変換で現在の文書の同じノードに対して毎回生成されなければなりません

* 生成された ID は、その後の変換では同じではない可能性があります

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

### 定義

XSLT 1.0 12.4

### Gecko のサポート

サポート済み
number
======

`number` 関数はオブジェクトを数値に変換し、その数値を返します。

### 構文
```

number( [object] )
```

### 引数

`object` (省略可)

数値に変換するオブジェクト。引数を省略すると、現在のコンテキストノードが使用されます。

### 返値

オブジェクトを変換した結果として得られる数値。

### 注

* 文字列は、文字列内で数値の前にある空白文字を取り除き、数値の後にある空白文字を無視することによって数値に変換されます。文字列がこのパターンに一致しない場合は、NaN に変換されます。
* 論理値 true は 1 に変換され、 false は 0 に変換されます。
* ノード集合は、まず string() 関数を呼び出したかのように文字列に変換され、それから文字列の引数と同じ方法で変換されます。
* 4 つの基本型以外の型のオブジェクトは、その型に応じた方法で数値に変換されます。
### 定義

XPath 1.0 4.4

### Gecko での対応

対応済み。
format-number
=============

`format-number` 関数は数値を評価し、指定された書式で数値を表す文字列を返します。

### 構文
```

format-number(number, pattern)
format-number(number, pattern, decimalFormat)
```

### 引数

`number`

書式化する数値

`pattern`

Java の DecimalFormat クラスの書式の文字列。

`decimalFormat` (任意)

使用する数値書式を定義する`xsl:decimal-format`要素の名前。省略すると、既定の 10 進形式が使用されます。

### 返値

新しい書式の数値を表す文字列。

### メモ

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

### 定義

XSLT 1.0 12.3

### Gecko の対応

対応済み
substring-after
===============

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`substring-after` 関数は、与えられた文字列内で、与えられた部分文字列よりも後にある残りの部分を返します。

### 構文
```

substring-after(haystack ,needle )
```

### 引数

`haystack`

評価される文字列。この文字列の一部が返される。


`needle`

検索する文字列。`haystack` 内で最初に見つかった `needle` よりも後にあるすべての文字が返される。

### 返値

文字列。

### 例

| XPath の例 | 出力 |
| --- | --- |
| `substring-after('aa-bb','-')` | `bb` |
| `substring-after('aa-bb','a')` | `a-bb` |
| `substring-after('aa-bb','b')` | `b` |
| `substring-after('aa-bb','q')` | (空文字列) |

### 定義元

XPath 1.0 4.2

### Gecko での対応

対応済み。
round
=====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`round` 関数は、与えられた数値に最も近い整数を返します。

### 構文
```

round(decimal )
```

### 引数

`decimal`

丸められる小数。

### 返値

`decimal` よりも小さいか、大きいか、等しい、最も近い整数。

### 注

* -0.5 は負のゼロに丸められます。 0.4 は正のゼロに丸められます。
### 定義

XPath 1.0 4.4

### Gecko での対応

対応済み。
false
=====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`false` 関数は論理値 false を返します。

### 構文
```

false()
```

### 返値

論理値 `false` です。

### 注

この関数は比較の一部として役立ちます。
```

<xsl:if test="boolean((1 &gt; 2) = false())">
 The expression evaluates as true
</xsl:if>
```

### 定義

XPath 1.0 4.3

### Gecko での対応

対応済み。
id
==

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`id` 関数は渡された ID に一致するノードを探し、識別されたノードを格納するノード集合を返します。

### 構文
```

id(expression )
```

### 引数

`expression`

`expression` がノード集合ならば、そのノード集合内のそれぞれのノードの文字列値が個々の ID として扱われます。返されるノード集合はそれらの ID に対応するノードの集合です。
 `expression` が文字列、またはその他のノード集合以外の型である場合、`expression` は空白で区切られた ID のリストとして扱われます。返されるノード集合はそれらの ID に対応するノードの集合です。


### 返値

与えられた単一または複数の ID によって識別された、単一または複数のノードを格納したノード集合。

### 注

* どの属性が ID として扱われるかは、XML 文書の DTD によって決定されます。 XPath 1.0 5.2.1 を参照してください。
### 定義

XPath 1.0 4.1

### Gecko での対応

一部対応。
substring-before
================

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`substring-before` 関数は、与えられた文字列内で、与えられた部分文字列よりも前にある部分の文字列を返します。

### 構文
```

substring-before(haystack ,needle )
```

### 引数

`haystack`

評価される文字列。この文字列の一部が返される。


`needle`

検索する文字列。`haystack` 内で最初に見つかった `needle` よりも前にあるすべての文字が返される。

### 返値

文字列。

### 例

| XPath の例 | 出力 |
| --- | --- |
| `substring-before('aa-bb','-')` | `aa` |
| `substring-before('aa-bb','a')` | `(空文字列)` |
| `substring-before('aa-bb','b')` | `aa-` |
| `substring-before('aa-bb','q')` | (空文字列) |

### 定義元

XPath 1.0 4.2

### Gecko の対応

対応済み。
current
=======

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

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

### 構文
```

current()
```

### 返値

現在のノードのみを含むノード集合。

### 注記

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

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

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


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


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

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


```
<xsl:value-of select="foo/bar[current() = X]"/>
```


```
<xsl:variable name="current" select="current()"/>
<xsl:value-of select="foo/bar[$current = X]"/>
```


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

<xsl:variable name="current" select="."/>
<xsl:value-of select="foo/bar[$current = X]"/>
```


しかし、`.`は常に最も狭い文脈に関係しています。したがって、
```

<xsl:value-of select="foo/bar[. = X]"/>
```


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

### 定義

XSLT 1.0 12.4

### Gecko のサポート状況

サポート済み
true
====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`true` 関数は true の論理値を返します。

### 構文
```

true()
```

### 返値

論理値 `true` です。

### 定義

XPath 1.0 4.3

### Gecko の対応

対応済み。
starts-with
===========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`starts-with` 関数は第 1 引数の文字列が第 2 引数の文字列で始まるかどうかを調べ、true または false を返します。

### 構文
```

starts-with(haystack, needle)
```

### 引数

`haystack`

検索される文字列。

`needle`

検索する文字列。

### 返値

`haystack` が `needle` で始まれば `true`。 そうでなければ `false`。

### 定義

XPath 1.0 4.2

### Gecko での対応

対応済み。
document
========

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`document` は、外部の文書、または複数の外部の文書からノード集合を見つけ、結果のノード集合を返します。

構文
--
```

document(URI [,node-set] )
```

引数
--

`URI`

取得する文書の絶対 URI または相対 URI。 URI にはフラグメント識別子を含むこともあります。

`node-set` (省略可)

返却する外部文書内のノードの集合を指す式です。

返値
--

ノード集合です。

メモ
--

* URI にフラグメント識別子が含まれ、そのフラグメントが外部文書で識別できる場合、そのフラグメントが `node-set` 引数の式のルートとして扱われます。`node-set` 引数を省略すると、フラグメント全体が返されます。

* `URI` 引数がノード集合で第 2 引数が存在する場合、ノード集合の各ノードは別個の URI として評価され、返されたノード集合は `document` 関数が複数回 (毎回、関数呼び出しで指定されたのと同じ 2 番目の引数を使用) 呼び出されたかのようになり、結果のノード集合は 1 つのノード集合に連結されていました。

* 他の特定の条件が特定の挙動と共に存在します。詳細については、XSLT 1.0 のマニュアルを参照してください。

* URI は XSL 文書に関連するため、`document("")` は現在の文書のルートノードを返します。

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

定義
--

XSLT 1.0 12.1

Gecko の対応
---------

対応済み。
sum
===

`sum` 関数は、指定されたノード集合内のそれぞれのノードの数値としての値を合計した数値を返します。

### 構文
```

sum(node-set)
```

### 引数

`node-set`

評価されるノード集合。 このノード集合内のそれぞれのノードが number() 関数に渡されたかのように評価され、その結果として得られた数値の合計が返されます。

### 返値

数値です。

### メモ

なし。

### 定義

XPath 1.0 4.3

### Gecko での対応

対応済み。
normalize-space
===============

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`normalize-space` 関数は、文字列から前後のホワイトスペースを取り除き、連続するホワイトスペースを 1 つのスペースに置き換え、その結果として得られる文字列を返します。

構文
--
```

normalize-space( [string] )
```

引数
--

`string` (省略可)

正規化する文字列。省略すると、コンテキストノードを文字列に変換したものが使用されます。

返値
--

正規化された文字列。

定義
--

XPath 1.0 4.2

Gecko での対応
----------

対応済み。
count
=====

**XSLT/XPath リファレンス**: XSLT 要素, EXSLT 関数, XPath 関数, XPath 軸

`count` 関数はノード集合に含まれるノードの数を数え、その整数を返します。

### 構文
```

count(node-set )
```

### 引数

`node-set`

カウント対象のノード集合。

### 返値

ノード集合に含まれるノードの数を表す整数。

### 定義

XPath 1.0 4.1

### Gecko での対応

対応済み。
HTML リファレンス
===========

この HTML リファレンスは、 HTML のすべての**要素**と**属性**、およびすべての要素に適用される**グローバル属性**について書かれています。

HTML 要素リファレンス

このページでは、タグを使用して作成されるすべての HTML 要素を一覧表示しています。

HTML 属性リファレンス

HTML の要素は属性を持ちます。ユーザーが望む基準を満たすために、さまざまな方法で要素を構成したり、動作を調整したりする追加の値です。

グローバル属性

グローバル属性は、すべての HTML 要素で共通の属性です。すべての要素で使用できますが、要素によっては効果がないこともあります。

リンク種別

HTML では、以下のようなリンク種別で `<a>`, `<area>`, `<link>` 要素を使用して他へリンクするときに二つの文書間の関係を示します。

コンテンツカテゴリ

すべての HTML 要素は一つ以上のコンテンツカテゴリのメンバです。 — これらのカテゴリは共通の特徴を持つ要素をグループ化します。

HTML で使われる日付と時刻の形式

一部の HTML 要素では、日付や時刻を値や属性の値として指定することができます。これには様々な種類の日付や時刻を扱う `<input>` 要素や、 `<ins>` および `<del>` 要素があります。
後方互換モードと標準準拠モード
===============

かつてウェブでは、よく 2 つのバージョンのページを作成していました。ひとつは Netscape Navigator 向け、もうひとつは Microsoft Internet Explorer 向けです。W3C がウェブ標準を作成したとき、ウェブ上のほとんどの既存サイトの表示が壊れるため、ブラウザーはウェブ標準を採用し始めることができませんでした。そのためブラウザーは、標準に準拠した新しいサイトと以前の古いサイトを区別して扱うために、2 つのモードを導入しました。

ウェブブラウザーのレイアウトエンジンが利用するモードは、後方互換 (Quirks) モード、準標準 (Almost Standards) モード、完全標準準拠 (Full Standards) モードの 3 種類になりました。**後方互換モード**では、レイアウトは Navigator 4 や Internet Explorer 5 のような非標準の動作をエミュレートします。これは、ウェブ標準が広く採用される前に作られたウェブサイトをサポートするために必要です。**完全標準準拠モード**では、HTML や CSS の仕様書で書かれている通りに動作します (そのように期待されています)。**準標準モード**では、準標準モードのトリガーとなる DOCTYPE を利用している実際のページについて表示を損なう可能性を考慮した、ごく少数の互換動作が実装されています。

完全標準準拠モードは、単に標準準拠モードとも呼ばれます。ただし、古いブラウザーは後方互換モードと準標準モードしか持たないものがあります。その場合は準標準モードのことを（後方互換モードに対して）標準準拠モードと呼ぶことがあります。

ブラウザーが利用するモードを決定する方法
--------------------

HTML 文書については、ブラウザーは文書の先頭にある DOCTYPE を使用して、後方互換モードで処理するか、標準準拠モードで処理するかを決定します。ページで確実に完全標準準拠モードが使用されるようにするには、以下のサンプルのような DOCTYPE を使用するようにしてください。


```html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Hello World!</title>
  </head>
  <body></body>
</html>
```


この例にある DOCTYPE の `<!DOCTYPE html>` はもっともシンプルな形式であり、HTML5 で推奨されているもののひとつです。以前のバージョンの HTML 標準では他の形式を推奨していましたが、現行のブラウザーはすべて（旧式の Internet Explorer 6 でさえ）、この DOCTYPE に対して完全標準準拠モードを使用します。より複雑な DOCTYPE を使用すべき理由はありません。他の DOCTYPE を使用する場合は、準標準モードや後方互換モードが適用されるおそれがあります。

DOCTYPE は HTML 文書の先頭に置くようにしてください。Internet Explorer 9 以前ではコメントや XML 宣言などが DOCTYPE の前に存在すると、後方互換モードが適用されます。

HTML5 では、DOCTYPE の用途は完全標準準拠モードを適用させることだけです。古いバージョンの HTML 標準では DOCTYPE に他の意味を与えていましたが、後方互換モードと標準準拠モードの切り替え以外の目的で DOCTYPE を使用するブラウザーはありませんでした。

さまざまなブラウザーのモード選択の詳細な説明もご覧ください。

### XHTML

`Content-Type` HTTP ヘッダーで `application/xhtml+xml` を使用して、ページを XHTML として提供する場合は、文書で常に完全標準準拠モードを使用しますので、標準準拠モードを有効化するための DOCTYPE は不要です。ただし Internet Explorer 8 は `application/xhtml+xml` でページを提供すると、ページを表示せずに未知の形式のファイルをダウンロードするダイアログボックスを表示します。これは、最初に XHTML をサポートした Internet Explorer がバージョン 9 であるためです。

`text/html` の MIME タイプを使用して XHTML 形式のコンテンツを提供する場合は、ブラウザーが HTML として読み込みますので、標準準拠モードを使用するために DOCTYPE が必要です。

どのモードが使われているかを確認するには
--------------------

Firefox では、コンテキストメニューで*ページの情報を表示*を選択して、*描画モード*を確認してください。（Firefox のページ情報ウィンドウ）

Internet Explorer では、*F12* を押下して、*ドキュメントモード*を確認してください。
translate
=========

**`translate`** グローバル属性 は列挙型属性で、要素の*翻訳可能な属性*の値や `Text` 子ノードを、ページをローカライズする際に翻訳するべきか、あるいは変更せずにおくかを指定します。

以下の値を使用することができます。

* 空文字列または `yes`: ページをローカライズする際に翻訳すべきであることを示します。
* `no`: 要素を翻訳してはならないことを示します。

すべてのブラウザーがこの属性を認識しているわけではありませんが、 Google 翻訳のような自動翻訳システムがこれを尊重しており、人間の翻訳者によって使用されるツールによっても尊重される可能性があります。そのため、ウェブ制作者がこの属性を使用して、翻訳されるべきではないコンテンツをマークすることが重要です。

例
-

この例では `translate` 属性を使用して、翻訳ツールにフッターの企業ブランド名を翻訳しないように依頼しています。


```html
<footer>
  <small>© 2020 <span translate="no">BrandName</span></small>
</footer>
```

仕様書
---

| Specification |
| --- |
| HTML Standard # attr-translate |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* すべてのグローバル属性。
* `HTMLElement.translate` (en-US) プロパティは、この属性を反映します。
* Using HTML's translate attribute.
* HTML の `lang` 属性
class
=====

**`class`** グローバル属性 は、要素のクラスを空白区切りで並べたリストで、大文字小文字を区別します。クラスは CSS の クラスセレクター や JavaScript の DOM メソッド `document.getElementsByClassName` といった関数により、特定の要素を選択したり特定の要素にアクセスしたりすることを可能にします。

試してみましょう
--------

仕様書ではクラス名の要件を示していませんが、ウェブ開発者は要素の外見ではなく、意味論的な目的を表す名前を使用することが推奨されます。例えば、あるクラスの要素が *イタリック体* で表示されるとしても、クラス名は *attribute* の方が *italics* よりも属性を説明します。意味論的な名前は、ページの外見を変更した場合でも論理的であり続けます。

仕様書
---

| Specification |
| --- |
| HTML Standard # global-attributes:classes-2 |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* すべてのグローバル属性
* `element.className`
* `element.classList`
* CSS 入門
style
=====

**`style`** グローバル属性は、要素に適用する CSS スタイル宣言を指定します。なお、スタイルは別のファイルで定義することが推奨されます。この属性と `<style>` 要素の主な用途は、例えばテストのために、すばやくスタイルを適用できるようにすることです。

試してみましょう
--------

**メモ:** この属性は、意味的な情報を伝えるために使用してはいけません。すべてのスタイルが削除されたとしても、ページは依然として意味的にが正しくあるべきです。特に、無関係な情報を隠すために使用しないようにしてください。これには `hidden` 属性を使用してください。

仕様書
---

| Specification |
| --- |
| HTML Standard # the-style-attribute |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* すべてのグローバル属性
enterkeyhint
============

**`enterkeyhint`** はグローバル属性で、属性であり、仮想キーボードの [Enter] キーにどのようなアクションラベル（またはアイコン）を表示するかを定義する列挙型属性です。

試してみましょう
--------

解説
--

フォームコントロール（`<textarea>` や `<input>` 要素など）や `contenteditable` を使用している要素は、
 `inputmode` 属性を指定して、どのような仮想キーボードを使用するかを制御することができます。さらに使い勝手を向上させるために、 [Enter] キーをどのようにラベル付けするか （またはどのアイコンを表示するか） を示す `enterkeyhint` 属性を指定することで、[Enter] キーを特別にカスタマイズすることができます。[Enter] キーは通常、ユーザーが次に何をすべきかを表します。よくある操作としては、テキストの送信、改行の挿入、検索などがあります。

もし `enterkeyhint` 属性が指定されなければ、ユーザーエージェントは `inputmode`, `type`, `pattern` 属性から文脈に合った情報を得て、適した [Enter] キーのラベル（またはアイコン）を表示するかもしれません。

### 値

`enterkeyhint` 属性は列挙型属性で、以下の値のみを受け入れることができます。

| 値 | 説明 | ラベルの例（ユーザーエージェントとユーザーの言語に依存） |
| --- | --- | --- |
| `enterkeyhint="enter"` | ふつうは改行を挿入します。 | `↵` |
| `enterkeyhint="done"` | 通常、それ以上のことは入力できず、インプットメソッドエディター (IME) が閉じられることを意味します。 | `完了` |
| `enterkeyhint="go"` | 一般的に、ユーザーが入力したテキストのターゲットに移動することを意味しています。 | `開く` |
| `enterkeyhint="next"` | 通常、ユーザーをテキストを受け入れる次のフィールドへ導きます。 | `次へ` |
| `enterkeyhint="previous"` | 通常、ユーザーをテキストを受け入れる前のフィールドへ導きます。 | `前へ` |
| `enterkeyhint="search"` | 通常、ユーザーを入力したテキストを検索した結果へ導きます。 | `検索` |
| `enterkeyhint="send"` | 通常、このテキストをターゲットに配信します。 | `送信` |

仕様書
---

| Specification |
| --- |
| HTML Standard # attr-enterkeyhint |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `HTMLElement.enterKeyHint` プロパティはこの属性を反映します
* `inputmode` グローバル属性
* `contenteditable` グローバル属性
* `type` および
 `pattern` 属性（`<input>` 要素）
autofocus
=========

**`autofocus`** グローバル属性は論理属性で、ページ読み込み時、またはその要素が属する `<dialog>` が表示されたときに、その要素にフォーカスを当てるべきことを示す属性です。


```html
<input name="q" autofocus />
```


文書またはダイアログ内の複数の要素に autofocus 属性を設定することはできません。複数の要素に適用された場合、最初のものにフォーカスが当たります。

**メモ:** `autofocus` 属性は、フォームコントロールだけでなく、すべての要素に適用されます。例えば、これは contenteditable の領域で使用されるかもしれません。

アクセシビリティの考慮
-----------

フォームコントロールに自動的にフォーカスを合わせると、画面読み上げ技術を使用する視覚障碍者や認知障碍者を混乱させる可能性があります。`autofocus` が割り当てられている場合、スクリーンリーダーは事前に警告することなく、ユーザーをフォームコントロールに「テレポート」します。

`autofocus` 属性を使用する際には、アクセシビリティに十分配慮してください。コントロールに自動的にフォーカスが当たると、読み込む際にページのスクロールが発生する可能性があります。また、タッチ端末によっては、フォーカスが動的なキーボードを表示させることもあります。スクリーンリーダーはフォーカスを受けたフォームコントロールのラベルをアナウンスしますが、ラベルの前には何もアナウンスしないので、小さな機器にいる目の見えるユーザーは、前のコンテンツによって作成されたコンテキストを同様に見逃してしまうでしょう。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-fe-autofocus |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.