|
この章では、WebLogic Workshop のマッパー機能で使用できる XQuery QName 関数について説明します。マッパー機能を使用してクエリを生成し、クエリを編集して、提供されている 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
この節では、マッパー機能で使用できる QName 関数のリストを示します。
$QName-var
から
QName のローカル部分を抽出します。
QName (限定名) は、ネームスペース名とローカル部分とで構成されています。ネームスペース名は、ネームスペース宣言のプレフィックスに関連付けられている URI です。
$QName-var
の値が空のシーケンスである場合は、空のシーケンスが返されます。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。
$QName-var
に QName が渡されていない場合、次のエラーがマッパーに表示されます。
XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。
Type error in function get-local-name-from-QName invocation:
予期される型 [QName@http://www.w3.org/2001/XMLSchema]?、
given type [string@http://www.w3.org/2001/XMLSchema]
xf:
get-local-name-from-QName(xs:QName? $QName-var)
—>
xs:
string?
$QName-var
から抽出した
QName のローカル部分を含む文字列を返します。
次の XML ドキュメントでは xacme
というネームスペースが定義されています。
<mydoc xmlns:xacme="http://www.acme.com/foo">
上記の XML ドキュメントでは、ネームスペース プレフィックス xacme が URI http://www.acme.com/foo
に関連付けられています。文字列 xacme:n は URI/ローカル名のペア ("http://www.acme.com/foo", "n") の限定名です。
次は、get-local-name-from-QName 関数を呼び出すクエリの例です。
{xs:string(xf:get-local-name-from-QName(xf:expanded-QName("http://www.acme.com/foo", "n")))}
<qname_example>n</qname_example>
W3C の get-local-name-from-QName 関数の説明。
$QName-var
からネームスペース URI を抽出します。
QName (限定名) は、ネームスペース名とローカル部分とで構成されています。ネームスペース名は、ネームスペース宣言のプレフィックスに関連付けられている URI です。
$QName-var
の値が空のシーケンスである場合は、空のシーケンスが返されます。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
$QName-var
に QName が渡されていない場合、次のエラーがマッパーに表示されます。
XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。
Type error in function get-namespace-from-QName invocation:
予期される型 : [QName@http://www.w3.org/2001/XMLSchema]?、
given type [string@http://www.w3.org/2001/XMLSchema]
xf:get-namespace-from-QName(xs:QName $QName-var)
—> xs:
anyURI?
$QName-var
のネームスペースの URI (anyURI データ型) を返します。
次の XML ドキュメントでは、xacme というネームスペースが定義されています。
<mydoc xmlns:xacme="http://www.acme.com/foo">
上記の XML ドキュメントでは、ネームスペース プレフィックス xacme が URI http://www.acme.com/foo
に関連付けられています。文字列 xacme:n は URI/ローカル名のペア ("http://www.acme.com/foo", "n") の限定名です。
次は、get-namespace-from-QName
関数を呼び出すクエリの例です。
let $a := <mydoc xmlns:xacme="http://www.acme.com/foo"> <xacme:n/> </mydoc>
xf:get-namespace-from-QName(xf:node-name($a/*[1]))
<name>http://www.acme.com/foo</name>
W3C の get-namespace-from-QName 関数の説明。