XQuery リファレンス

     前  次    目次     
ここから内容

XQuery ノード関数リファレンス

この章では、WebLogic Workshop のマッパー機能で使用できる XQuery ノード関数について説明します。マッパー機能を使用してクエリを生成し、クエリを編集して、提供されている XQuery 関数への呼び出しを追加します。詳細については、「クエリ内での関数または演算子の呼び出し」を参照してください。

マッパー機能で使用できる XQuery 関数および演算子以外にも、数多くの追加の関数および演算子が用意されています。これらの関数、および XQuery ノード関数 リファレンスの呼び出しは、手動でクエリに追加できます。

この節では、WebLogic Workshop のマッパー機能で使用できる XQuery ノード関数について説明します。マッパー機能を使用してクエリを生成し、クエリを編集して、提供されている XQuery 関数への呼び出しを追加します。詳細については、クエリ内での関数または演算子の呼び出しを参照してください。

マッパー機能で使用できる XQuery 関数および演算子以外にも、数多くの追加の関数および演算子が用意されています。マッパー機能のソース ビューを使用すると、これらの関数および演算子の呼び出しを手動でクエリに追加できます。追加の関数と演算子のリストについては、次の URL にある W3C Web サイトで、 XQuery 1.0 and XPath 2.0 Functions and Operators - W3C Working Draft 16 August 2002 を参照してください。

http://www.w3.org/TR/2002/WD-xquery-operators-20020816

この節では、マッパー機能で使用できるノード関数のリストを示します。

 


xf: node-kind

$node-var がノードでない場合、マッパーには次のエラーが表示されます。

XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。

Type error in function node-kind invocation: expected type node, given type

[string@http://www.w3.org/2001/XMLSchema]

$node-var の値が空のシーケンスである場合、マッパーには次のエラーが表示されます。

XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。

Type error in function node-kind invocation: expected type node, given type empty

空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:node-kind(xf: node $node-var) —>xs: string

表 8-1 引数
データ型
引数
説明
node
$node-var
種類の判別対象となるノードを表します。

戻り値

$node-var の種類を表す文字列が返されます。document、element、attribute、text、namespace、processing-instruction、comment の文字列のいずれかが返されます。

element の場合

次のクエリを呼び出します。

let $x := <e a="b">c</e>

return <type>{xf:node-kind($x)}</type>

次の結果が生成されます。

<type>element</type>

attribute の場合

次のクエリを呼び出します。

let $x := <e a="b">c</e>

return <type>{xf:node-kind($x/@a)}</type>

次の結果が生成されます。

<type>attribute</type>

text の場合

次のクエリを呼び出します。

let $x := <e a="b">c</e>

return <type>{xf:node-kind($x/text())}</type>

次の結果が生成されます。

<type>text</type>

関連トピック

W3C の node-kind 関数の説明。

 


xf: node-name

$node-var の展開された QName が返されます。展開された QName には、ネームスペース URI とローカル名が含まれています。

$node-var の値が空のシーケンスである場合は、次のエラー メッセージが表示されます。

XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。

Type error in function node-name invocation: expected type node, given type empty

空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

$node-var がノードでない場合、マッパーには次のエラーが表示されます。

XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。

Type error in function node-name invocation: expected type node, given type

[string@http://www.w3.org/2001/XMLSchema]

シグネチャ

xf:node-name(xf: node $node-var) —> xs: QName?

表 8-2 引数
データ型
引数
説明
node
$node-var
QName の抽出元のノードを表します。

戻り値

$node-var の展開された QName が返されます。展開された QName には、ネームスペース URI とローカル名が含まれています。

名前を持たないノード (document、text、processing-instruction、comment) に対しては、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

単純な例

次のクエリを呼び出します。

let $x := <elem xmlns:foo="http://www.acme.org/"><foo:subelem/></elem>,

$name := xf:node-name(children($x))

return

<result>

<uri> {

xf:get-namespace-from-QName($name)

}</uri>

<local>{

xf:get-local-name-from-QName($name)

}</local>

</result>

上のクエリからは、次の結果が生成されます。

<?xml version="1.0" encoding="UTF-8"?>

<result>

<uri>http://www.acme.org/</uri>

<local>subelem</local>

</result>

関連トピック

W3C の node-name 関数の説明。

 


xf: local-name

$node-var のローカル名を文字列として返します。

シグネチャ

xf:local-name(xf: node? $node-var) —> xs: string

表 8-3 引数
データ型
引数
説明
node?
$node-var
ローカル名の取得元のノードを表します。

戻り値

$node-var のローカル名を文字列として返します。

単純な例

次の XML ドキュメントでは、xacme というネームスペースが定義されています。

<?xml version='1.0'?>

<mydoc xmlns:xacme="http://www.acme.com/foo"> <xacme:n/> </mydoc>

上の XML ドキュメントでは、ネームスペース プレフィックス xacme が URI http://www.acme.com/foo に関連付けられています。文字列 xacme:n は URI とローカル名のペア ("http://www.acme.com/foo"と "n") の修飾名です。

次のクエリ例では、以下の XQuery コードに示すように、URI とローカル名のペアのローカル部分が返されます。

let $a := <mydoc xmlns:xacme="http://www.acme.com/foo"> <xacme:n/> </mydoc>

return <name>{xf:local-name($a/*[1])}</name>

上のクエリからは、次の結果が生成されます。

<name>n</name>

関連トピック

W3C の local-name 関数の説明。


  ページの先頭       前  次