|
この章では、WebLogic Workshop のマッパー機能で使用できる XQuery URI 関数について説明します。マッパー機能を使用してクエリを生成し、クエリを編集して、提供されている 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
この節では、マッパー機能で使用できる URI 関数のリストを示します。
URI (Uniform Resource Identifier Reference) を含んだ $string-var
に対して URI エスケープ ルールを適用します。
$string-var
または $boolean-var
の値が空のシーケンスである場合は、次のエラーがマッパーに表示されます。
XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。Type error in function escape-URI invocation: 予期される型 [string@http://www.w3.org/2001/XMLSchema]、given type empty
空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
escape-URI(
xs:
string $string-var,xs:
boolean $boolean-var) —> xs:string
|
||
|
URI エスケープ ルール適用後の $string-var
が返されます。適用されるルールは、$boolean-var
の値によって異なります。
$boolean-var
引数を true に設定して escape-URI 関数を呼び出した場合のクエリ例を次に示します。
<true>{xf:escape-URI("http://www.acme.org/", xs:boolean("true"))}</true>
<true>http%3A%2F%2Fwww.acme.org%2F</true>
$boolean-var
引数を false に設定して escape-URI 関数を呼び出した場合のクエリ例を次に示します。
<false>{xf:escape-URI("http://www.acme.org/widget/201/#specs",xs:boolean("false"))}</false>
<false>http://www.acme.org/widget/201/%23specs</false>
W3C の escape-uri 関数の説明。
ベースとなる URI $anyURI-var2
に対して、相対 URI $anyURI-var1
を解決します。URI 解決の詳細については、URI クラスの javadoc を参照してください。
$anyURI-var1
または $anyURI-var2
の値が空のシーケンスである場合は、次のエラーがマッパーに表示されます。
XQuery を実行中にエラーが発生しました : このメソッドに XQuery または XSLT をロードしている際にエラーが発生しました。Type error in function resolve-URI invocation: 予期される型 [anyURI@http://www.w3.org/2001/XMLSchema]、given type empty
空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
resolve-URI(
xs:
anyURI $anyURI-var1, xs:any URI $anyURI-var2) —> xs:any URI
ベース URI $anyURI-var2
に対して相対 URI $anyURI-var1
を解決した結果である絶対 URI (anyURI データ型) を返します。
$anyURI-var2
が絶対 URI である場合は、$anyURI-var2
を相対 URI で返します。
resolve-URI 関数を呼び出す最初のクエリ例を示します。
{xs:string(xf:resolve-URI("http://www.ics.uci.edu/pub/ietf/uri/#Related", "priv#internal"))}
<resolve-URI-1>http://www.ics.uci.edu/pub/ietf/uri/priv#internal</resolve-URI-1>
resolve-URI 関数を呼び出す 2 番目のクエリ例を示します。
{xs:string(xf:resolve-URI("http://www.ics.uci.edu/pub/", ".././priv/./../priv#internal"))}
<resolve-URI-2>http://www.ics.uci.edu/priv#internal</resolve-URI-2>
resolve-URI 関数を呼び出す 3 番目のクエリ例を示します。
{xs:string(xf:resolve-URI("http://www.ics.uci.edu/", "priv"))}
<resolve-URI-3>http://www.ics.uci.edu/priv</resolve-URI-3>
W3C の resolve-URI 関数の説明。
JDK 1.4.1 の URI クラスの説明。