XQuery リファレンス

     前  次    目次     
ここから内容

XQuery URI 関数リファレンス

この章では、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 関数のリストを示します。

 


xf: escape-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

表 5-1 引数
データ型
引数
説明
xs:string
$string-var
URI (Uniform Resource Identifier Reference) を含む変換文字列を表します。
xs:boolean
$boolean-var
適用する URI エスケープ ルールを指定するブール値を表します。
 
true

以下のものを除く、すべての文字がエスケープされます。

  • 小文字 a-z
  • 大文字 A-Z
  • 数字 0-9
  • 以下の文字 : "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" (これらの記号は RFC 2396 で mark と呼ばれます)。

"%" 記号は、2 桁の 16 進数 (0-9a-f、または A-F) が後ろに続かない場合にのみエスケープされます。

このオプションは通常、URI の一部をエスケープする場合に使用されます。

false

この表の true の欄で定義されているエスケープされない文字に加えて、 ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," の各予約文字もエスケープされません (RFC 2396 で定義されています)。

このオプションは通常、URI または URI 参照の全体をエスケープする場合に使用されます。

戻り値

URI エスケープ ルール適用後の $string-var が返されます。適用されるルールは、$boolean-var の値によって異なります。

true の場合

$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>

false の場合

$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 関数の説明。

 


xf: resolve-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

表 5-2 引数
データ型
引数
説明
xs:any URI
$anyURI-var1
ベース URI を表します。
xs:any URI
$anyURI-var2
相対 URI を表します。

戻り値

ベース URI $anyURI-var2 に対して相対 URI $anyURI-var1 を解決した結果である絶対 URI (anyURI データ型) を返します。

$anyURI-var2 が絶対 URI である場合は、$anyURI-var2 を相対 URI で返します。

resolve-URI の例 1

resolve-URI 関数を呼び出す最初のクエリ例を示します。

<resolve-URI-1>

{xs:string(xf:resolve-URI("http://www.ics.uci.edu/pub/ietf/uri/#Related", "priv#internal"))}

</resolve-URI-1>

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

<resolve-URI-1>http://www.ics.uci.edu/pub/ietf/uri/priv#internal</resolve-URI-1>

resolve-URI の例 2

resolve-URI 関数を呼び出す 2 番目のクエリ例を示します。

<resolve-URI-2>

{xs:string(xf:resolve-URI("http://www.ics.uci.edu/pub/", ".././priv/./../priv#internal"))}

</resolve-URI-2>

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

<resolve-URI-2>http://www.ics.uci.edu/priv#internal</resolve-URI-2>

resolve-URI の例 3

resolve-URI 関数を呼び出す 3 番目のクエリ例を示します。

<resolve-URI-3>

{xs:string(xf:resolve-URI("http://www.ics.uci.edu/", "priv"))}

</resolve-URI-3>

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

<resolve-URI-3>http://www.ics.uci.edu/priv</resolve-URI-3>

関連トピック

W3C の resolve-URI 関数の説明。

JDK 1.4.1 の URI クラスの説明。


  ページの先頭       前  次