![]() ![]() ![]() ![]() |
この章では、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:
count
(item*$item-var)
—>xs:
unsignedInt
$item-var に渡されたシーケンス内の項目の数を unsignedInt 値として返します。
$item-var
が空のシーケンスである場合は、0
を返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
次のクエリ例のように、count(("a","b","c"))
を呼び出すと、符号なしの整数値 3 が返されます。
<result>{xf:count(("a","b","c"))}</result>
次のクエリ例のように、count(())
を呼び出すと、()
は空のシーケンス (要素を含まない) であるため、符号なしの整数値 0
が返されます。
<result>{xf:count(())}</result>
W3C の count 関数の説明。
$item-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
avg
(item* $item-var
) —> xs:
double?
$item-var
に渡されたシーケンス内のすべての数の平均を返します。
次のクエリ例のように、xf:avg(("3","1","2"))
を呼び出すと、値 2.0
が返されます。
<result>{xf:avg(("3","1","2"))}</result>
次のクエリ例のように、xf:avg((1,(),6,2,9))
を呼び出すと、値 4.5
が返されます。
<result>{xf:avg((1,(),6,2,9))}</result>
注意 : | 空のシーケンス () のインスタンスは無視されます。 |
次のクエリ例のように、クエリを呼び出すと、値 50 が返されます。
return <result>{xf:avg(($x,$y,$z))}</result>
この例では、数を平均する前に、シーケンス内の各ノードに対して data 関数が呼び出されたかのように、ノードの値が抽出されています。
W3C の avg 関数の説明。
$item-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
max
(integer* $integer-var)
—> xs:
anySimpleType?
$item-var
に渡されたシーケンス内の最大値を返します。
次のクエリ例のように、xf:max(("3","1","2"))
を呼び出すと、値 3
が返されます。
<result>{xf:max(("3","1","2"))}</result>
次のクエリ例のように、xf:max((1,(),6,2,9))
を呼び出すと、値 9 が返されます。
<result>{xf:max((1,(),6,2,9))}</result>
注意 : | 空のシーケンス () のインスタンスは無視されます。 |
次のクエリ例のように、クエリを呼び出すと、値 100 が返されます。
return <result>{xf:max(($x,$y,$z))}</result>
この例では、最大値を決定するための比較を行う前に、シーケンス内の各ノードに対して data 関数が呼び出されたかのように、ノードの値が抽出されています。ただし、ノードの整数値ではなく、ノードの文字列値が抽出して比較されます。上のクエリでは、文字 5 の ASCII 値は文字列 100
の最初の文字 1 の ASCII 値よりも大きいため、最大値として文字列 50
が返されます。代わりにノードの整数値を比較するには、次のクエリ例のように、最初に bea-xf:integer-sequence
関数を使用してノード シーケンスを整数に変換してから、xf:max 関数を呼び出します。
return <result>{xf:max(bea-xf:integer-sequence(($x,$y,$z)))}</result>
W3C の max 関数の説明。
BEA の bea-xf: integer-sequence 関数の説明
$item-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
min(
integer* $integer-var
) —> xs:
anySimpleType?
$item-var
に渡されたシーケンス内の最小値を返します。
次のクエリ例のように、xf:min(("3","1","2"))
を呼び出すと、値 1 が返されます。
<result>{xf:min(("3","1","2"))}</result>
次のクエリ例のように、xf:min((1,(),6,2,9))
を呼び出すと、値 1 が返されます。
<result>{xf:min((1,(),6,2,9))}</result>
注意 : | 空のシーケンス () のインスタンスは無視されます。 |
次のクエリ例のように、クエリを呼び出すと、シーケンス内の最小の数として値 2 が返されます。
return <result>{xf:min(($x,$y,$z))}</result>
この例では、最小値を決定するための比較を行う前に、シーケンス内の各ノードに対して data 関数が呼び出されたかのように、ノードの値が抽出されています。ただし、ノードの整数値ではなく、ノードの文字列値が抽出して比較されます。上のクエリでは、文字 1 の ASCII 値は文字列 50
の最初の文字 5 の ASCII 値よりも小さいため、最小値として文字列 100
が返されます。代わりにノードの整数値を比較するには、次のクエリ例のように、最初に bea-xf:integer-sequence
関数を使用してノード シーケンスを整数に変換してから、xf:min 関数を呼び出します。
return <result>{xf:min(bea-xf:integer-sequence(($x,$y,$z)))}</result>
W3C の
min 関数の説明。
BEA の bea-xf: integer-sequence 関数の説明
xf:
sum
(item*$item-var
) —> xs:
double?
$item-var
に渡されたシーケンス内のすべての数の合計を返します。
$item-var
が空のシーケンスである場合は、0.0
を返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
次のクエリ例のように、xf:sum(("3","1","2"))
を呼び出すと、値 6
が返されます。
<result>{xf:sum(("3","1","2"))}</result>
次のクエリ例のように、xf:sum((1,(),6,2,9))
を呼び出すと、値 18
が返されます。
<result>{xf:sum((1,(),6,2,9))}</result>
注意 : | 空のシーケンス () のインスタンスは無視されます。 |
次のクエリ例のように、クエリを呼び出すと、値 152 が返されます。
return <result>{xf:sum(($x,$y,$z))}</result>
この例では、数を加算する前に、シーケンス内の各ノードに対して data 関数が呼び出されたかのように、ノードの値が抽出されています。
W3C の
sum 関数の説明。
![]() ![]() ![]() |