#?SuikaWiki/0.9
[1] [[XSLT]] の関数 [CODE[[VAR[[[文字列]]]] [CODE(XPathf)[generate-id]] ([VAR[[[節集合]]]]?)]]
は、[[節]]の固有識別子を生成します。
<http://www.w3.org/TR/xslt#function-generate-id>

対象となる節は、与えられた節集合中の[[文書順]]で最初のものです。
空節集合の時は得られる結果が空文字列になります。
引数省略時は[[文脈節]]になります。

識別子は [CODE(ABNF)[[[ALPHA]] *(ALPHA / [[DIGIT]])]]
でさえあれば、どんな方法で生成した文字列でも構いません。
ただし、
- ある一つの変換処理においては、
同じ節については同じ識別子を、違う節については違う識別子を常に生成しなければなりません。
- 原始文書中の [CODE(XML)[[[ID]]]] と別の識別子になることを保証する必要はありません。
- [CODE(XPathf)[[[document]]]] 関数で読んだ文書であっても、同じ文書 (同じ URI) であれば同じ節では同じ結果が得られます。
- 違う文書で違う識別子が得られる必要があるかは書いてありませんが、特に書いてないから違う節では違う識別子が必要でしょう。

