機能
種々の名前を指定します。
記述形式
一般規則
XQueryにおける名前は、すべてQNameで記述されます。
XQueryで使用される名前の種類を以下に示します。
関数名に使用されるQNameは、ネームスペースを認識します。ただし、使用できるネームスペースURIとネームスペース接頭辞は、あらかじめXQueryで宣言されたものであり、以下に示す値でそれぞれ固定されています。変更することはできません。また、新しいネームスペースURIや接頭辞を作成することもできません。関数名のデフォルトネームスペースは接頭辞fnで表されるネームスペースに一致します。
ネームスペース接頭辞 | バインドされたネームスペースURI |
---|---|
xs | http://www.w3.org/2001/XMLSchema |
fn | http://www.w3.org/2005/xpath-functions |
エレメントノード名、属性ノード名に使用されるQNameはネームスペースを認識しません。しかし、ネームスペース接頭辞で修飾された名前をもつエレメントノードや属性ノードを、パス式の名前テストで検索することが可能です。名前テストのQNameには、検索したいノードの名前を接頭辞付きで指定することができます。指定した名前に一致するノードが検索結果として得られます。名前テストの詳細については、“4.3.1 軸ステップ”を参照してください。
注意
ノード名のQNameと名前テストのQNameの比較は、接頭辞とローカル名がそれぞれ一致するかどうかで判断します。接頭辞に対応するネームスペースURIが一致するかどうかは無視します。
ネームスペース接頭辞に“xmlns”を指定することはできません。
変数名に使用されるQNameはネームスペースを認識しません。
QNameの長さは最大128バイトまで指定できます。ただし、QNameの長さは文字コード系をUNICODEで表現したときの長さで計算されます。
使用例
QNameとして、変数名($abc)、エレメントノード名(employees、employee)、属性ノード名(id)を使用する場合
for $abc in /employees/employee[@id>30000] return $abc