IBM Domino Designer 9 Social Edition XPages Reference

第 1 刷

2011 年 12 月発行

このエディションについて

この版の製品資料では、アクセシビリティに対する IBM の取り組みに従い、アクセシビリティが確保されています。

印刷

この文書を印刷すると、よりよい印刷出力を作成するために、スタイル要素の一部が削除されます。 印刷に関するいくつかのヒントを以下に示します。
  • 文書の長さがブラウザの印刷能力を超える場合があります。 Microsoft Internet Explorer では、大きなファイルを正常に印刷できることが確認されています。
  • この資料はサイズの大きな資料です。印刷プレビューを使用して、印刷できるページの長さを確認してください。
  • 文書のセクションを強調表示して、その選択した内容のみを印刷することができます。

オフライン作業

ブラウザーからローカルに、この資料のコピーを保存できます。メニューやメニュー オプションは各ブラウザで異なります。ローカル環境への本書の保存の詳細については、ブラウザーのヘルプを参照してください。

フィードバックの送信

本書に関するご意見、 ご感想は、Lotus Documentation Feedbackの Web サイトからお寄せください。

JavaScript と XPages 参照の概要

このリファレンスでは、スクリプト作成に必要な JavaScript 言語エレメント、アプリケーションプログラミングインターフェース (API)、その他の成果物に加えて、XPages シンプルアクションについて説明します。

関係のある分野を以下に示します。
参照領域 説明
JavaScript 言語エレメント(JavaScript) ここで説明する JavaScript は、サーバーサイドインタープリタに適用されます。
Simple actions シンプルアクションは、事前にプログラミングされたアクティビティを実行しますが、これは引数を使用して修正できます。
グローバルオブジェクトとグローバル関数 (JavaScript) グローバルオブジェクトは、サーバーサイドスクリプトへのエントリポイントを提供します。
DOM (JavaScript) DOM ライブラリは XML 文書を表します。
Domino Domino ライブラリは IBM Domino データストアを表します。
Runtime (JavaScript) ランタイム ライブラリは、ランタイムアプリケーションを表します。
Standard (JavaScript) 標準ライブラリは、さまざまなデータ型を表します。
XSP (JavaScript) XSP ライブラリは、サーバー実行コンテキストを表します。

この資料は、以下の製品を参照します。 IBM Domino、IBM Domino Designer、IBM Notes®、IBM iNotes®、 IBM Notes Traveler

JavaScript 言語エレメント(JavaScript)

JavaScript 言語エレメントは、ECMAScript Language Specification Standard ECMA-262 に基づいています (http://www.ecma-international.org/publications/standards/Ecma-262.htm を参照)。 ここで説明する JavaScript は、サーバーサイドインタープリタに適用されます。クライアントサイドスクリプトは、ブラウザによって解釈されます。

言語エレメントを次の表に示します。
言語エレメント 説明
ステートメント (JavaScript) スクリプトの枠組みを構成するキーワードと構文。
Operators (JavaScript) 値の割り当て、比較、結合を行う記号とキーワード。
トップレベル関数 (JavaScript) オブジェクトに関連付けられていない関数。
@Functions (JavaScript) IBM Notes @関数をエミュレートする関数。
暗黙的な変数入力 (JavaScript) 変数をデータ型に関連付けてコードを記述し、コンテンツアシストに指示する機能。
JavaScript への Java の埋め込み Java コードを埋め込む機能。

この資料は、以下の製品を参照します。 IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes、 IBM Notes Traveler

ステートメント (JavaScript)

JavaScript ステートメントは、キーワードと構文で構成されます。

  • 単一ステートメントが複数行にわたる場合があります。
  • 複数のステートメントが 1 行に存在し、それぞれがセミコロンで区切られている場合があります。
  • 行の最後のステートメントの終わりに任意でセミコロンを付けることがあります。
ステートメントの記述については、ECMA 仕様 (http://www.ecma-international.org/publications/standards/Ecma-262.htm) を参照してください。以下の例外に注意してください。
  • スクリプトライブラリからコードをインポートするために、import (実装固有) がサポートされます。import (JavaScript) を参照してください。
  • export (実装固有であり、ECMA 標準にはない) はサポートされません。
  • label (適切なプログラミングとみなされない) はサポートされません。

import (JavaScript)

スクリプトライブラリからコードをインポートします。

構文

import libraryname

使用法

スクリプトライブラリを使用すると、アプリケーションで共通に使用されるクラス、関数、変数を格納できます。

以下の例では、ライブラリに定義された関数を使用します。
import PrintUtil;
printToLog("Here's some stuff for the log.");
PrintUtil という名前のスクリプトライブラリの内容は、以下のとおりです。
// Function for highlighting output to log
function printToLog(stuff) {
  print("¥r¥nPRINT START¥r¥n");
  print(stuff);
  print("¥r¥nPRINT END¥r¥n");
}

Operators (JavaScript)

演算子は以下のカテゴリに分類されます。
演算子 説明
代入演算子 (JavaScript) = += -= *= /= %=&= |= ^= <<= >>= >>>=
比較演算子 (JavaScript) == != === !== > >=< <=
算術演算子 (JavaScript) + - * / % ++ (ポストインクリメント) ++ (プリインクリメント) -- (ポストデクリメント) -- (プリデクリメント) - (符号反転) + (単項正)
ビット単位演算 (JavaScript) & | ~ ^ << >> >>>
論理演算子 (JavaScript) && || !
ストリング演算子 (JavaScript) + +=
リスト演算子 (JavaScript) + - * /
特殊演算子 (JavaScript) ?: , delete function new this typeof void . []
演算子の優先度と結合順序を次の表に示します。 リストに示すように、優先度の数字が小さい演算子からまず評価され、左から右、または右から左に処理されます。括弧を使用すると、評価の順序を変更できます。つまり、括弧で囲んだ式が最初に評価され、中から外の方向に処理されます。
優先度 演算子 結合順序
1 . [] 左から右
new 右から左
2 () 左から右
3 ++ -- 適用外
4 ! ~ - (符号反転) + (単項正) typeof void delete 右から左
5 * / % 左から右
6 + - 左から右
7 << >> >>> 左から右
8 > >=< <= 左から右
9 == != === !== 左から右
10 & 左から右
11 ^ 左から右
12 | 左から右
13 && 左から右
14 || 左から右
15 ?: 右から左
16 = += -= *= /= %=&= |= ^= <<= >>= >>>= 右から左
17 , 左から右

代入演算子 (JavaScript)

代入演算子は、右辺のオペランドの値に基づいて、値を左辺のオペランドに代入します。基本的な代入演算子は、等号 (=) です。他の代入演算子は、別の演算と代入を組み合わせて簡略化したものです。

演算子 意味 説明
x = y x = y y の値を x に代入します。
x += y x = x + y x 足す y の結果を x に代入します。
x -= y x = x - y x 引く y の結果を x に代入します。
x *= y x = x * y x 掛ける y の結果を x に代入します。
x /= y x = x / y x 割る y の結果を x に代入します。
x %= y x = x % y x mod y の結果を x に代入します。
x &=y x = x & y x AND y の結果を x に代入します。
X |=y x =x | y x OR y の結果を x に代入します。
x ^=y x = x ^ y x XOR y の結果を x に代入します。
x <<= y x = x << y x を左に y 桁シフトした結果を x に代入します。
x >>= y x = x >> y x を右に y 桁シフトした結果 (符号は保持される) を x に代入します。
x >>>= y x = x >>> y x を右に y 桁シフトした結果を x に代入します。

この例では、=+= 演算子を実行します。 各ループは機能的には同じです。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

p("start =");
var x = 0.1;
do {
	p("x = " + x);
	x = x + 0.1;
} while(x < 1.0)

p("start +=");
var x = 0.1;
do {
	p("x = " + x);
	x += 0.1;
} while(x < 1.0)

この例では、算術演算も行う代入演算子を実行します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var x1 = 1.0, x2 = 1.0, x3 = 1.0, x4 = 1.0;
var y = 0.25;
for(var i = 0; i < 5; i++) {
	x1 += y;
	x2 -= y;
	x3 *= y;
	x4 /= y;
}
p("x1 += y: " + x1);
p("x2 -= y: " + x2);
p("x3 *= y: " + x3);
p("x4 /= y: " + x4);

比較演算子 (JavaScript)

比較演算子は、2 つの値を比較して、論理 (ブール) 結果を生成します。

次の表で、各比較演算子について説明します。

演算子 説明
expr1 == expr2 等しい。expr1expr2 が等しい場合に true を返します。オペランドの型が異なる場合は、型変換が発生します。
expr1 != expr2 等しくない。expr1expr2 が等しくない場合に true を返します。必要に応じて型変換が発生します。
expr1 === expr2 厳密に等しい。expr1expr2 が同じ型で、かつ等しい場合に、true を返します。
expr1 !== expr2 厳密には等しくない。expr1expr2 は型が異なるか、同じ型であるが等しくない場合に、true を返します。
expr1 > expr2 より大きい。expr1expr2 より大きい場合に true を返します。必要に応じて型変換が発生します。
expr1 >= expr2 より大きいか等しい。expr1expr2 より大きいか等しい場合に true を返します。必要に応じて型変換が発生します。
expr1 < expr2 より小さい。expr1expr2 より小さい場合に true を返します。必要に応じて型変換が発生します。
expr1 <= expr2 より小さいか等しい。expr1expr2 より小さいか等しい場合に true を返します。必要に応じて型変換が発生します。

使用法

オペランドの比較は、以下のようにして行われます。
  • 2 つのストリングが同じ順序の文字で構成され、長さも同じである場合、それらは等しいと判断されます。ストリングは、その連続する文字の Unicode 値に応じて、もう一方のストリングよりも長かったり、短かったりします。
  • 2 つの数が同じ数値である場合、それらは等しいと判断されます。NaN は、NaN を含むすべての値と等しくありません。正のゼロと負のゼロは等しいと判断されます。
  • 2 つのオブジェクトが同じオブジェクトを参照する場合、それらは等しいと判断されます。
  • 2 つのブール値が両方とも true または false の場合、それらは等しいと判断されます。
  • NULL 型と undefined 型は等しいと判断されます。
型変換は、以下のようにして行われます。
  • 数値の比較では、可能な場合は、ストリングが数値 (Number 型の値) に変換されます。変換結果が NaN の場合、比較は false です。
  • ブール値の比較では、数値 0 (正または負の整数または浮動小数点数) は false で、それ以外のすべての数値は true です。また、空ストリングは false で、それ以外のすべてのストリングは true です。null は false、undefined は false です。
  • 数値とストリングの比較では、オブジェクトは、オブジェクトの valueOf メソッドと toString メソッドを使用して、数値またはストリングに変換されます。変換が失敗した場合は、実行時エラーが発生します。

この例では、数値に対してさまざまな比較演算子を実行します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 9;

p("n == 9: " + (n == 9)); // true
p("n != 9 : " + (n != 9)); // false
p("n == ¥"9¥" : " + (n == "9")); // true
p("n != ¥"9¥" : " + (n != "9")); // false
p("n === ¥"9¥" : " + (n === "9")); // false
p("n !== ¥"9¥" : " + (n !== "9")); // true
p("n > 9: " + (n > 9)); // false
p("n >= 9: " + (n >= 9)); // true
p("n < 9: " + (n < 9)); // false
p("n <= 9: " + (n <= 9)); // true
p("n > ¥"9¥" : " + (n > "9")); // false
p("n >= ¥"9¥" : " + (n >= "9")); // true
p("n < ¥"9¥" : " + (n < "9")); // false
p("n <= ¥"9¥" : " + (n <= "9")); // true

算術演算子 (JavaScript)

算術演算子は、基本的な算術演算を実行します。

演算 説明
n1 + n2 n1 足す n2 を返します。
n1 - n2 n1 引く n2 を返します。
n1 * n2 n1 掛ける n2 を返します。
n1 / n2 n1 割る n2 を返します。
n1 % n2 n1 mod n2、つまり n1n2 で整数除算した余りを返します。
n++ n を返し、その後に n を 1 増やします。
++n n を 1 増やし、その後に n を返します。
n-- n を返し、その後に n を 1 減らします。
--n n を 1 減らし、その後に n を返します。
-n n を符号反転します。
+n n と同じです。

使用法

算術演算の結果は、その結果に小数部がない場合は整数であり、結果に小数部がある場合は浮動小数点数です。

2 つの整数の除算の結果に小数部がある場合は、小数部を切り捨てた整数ではなく、浮動小数点値になります。例えば、13 / 4 = 3.25 となります。小数部が切り捨てられた整数を得るには、最初に被除数からモジュラスを減算するとよいでしょう。例えば、(13 - ( 13 % 4)) / 4 = 3 のようにします。

この例では、加算、減算、乗算、除算の算術演算子を実行します。
var n = 3;
var m = 4;
var x = 3.1;
var y = 4.2;
print("<<<n = " + n + ">>>");
print("<<<m = " + m + ">>>");
print("<<<x = " + x + ">>>");
print("<<<y = " + y + ">>>");
print("<<<n+m = " + (n + m) + ">>>"); // 7
print("<<<n-m = " + (n - m) + ">>>"); // -1
print("<<<n*m = " + (n * m) + ">>>"); // 12
print("<<<n/m = " + (n / m) + ">>>"); // 0.75
print("<<<n+x = " + (n + x) + ">>>"); // 6.1
print("<<<n-x = " + (n - x) + ">>>"); // -0.10000000000000009
print("<<<n*x = " + (n * x) + ">>>"); // 9.3
print("<<<5*x = " + (5 * y) + ">>>"); // 21
print("<<<n/x = " + (n / x) + ">>>"); // 0.9677419354838709

以下はモジュラス演算子の例であり、余りのある整数除算の方法を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 13;
var m = 4;
p("n = " + n);
p("m = " + m);
var r = n % m;
var q = (n - r) / m;
p("integer n / m = " + q + ", remainder " + r); // 3, 1

この例は、インクリメント演算子とデクリメント演算子を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var ipost = 0;
var ipre = 0;
var dpost = 0;
var dpre = 0;

for(var i = 0; i < 5; i++) {
	p("iteration number " + i); // 0 on first iteration
	p("ipost = " + ipost++); // 0 on first iteration
	p("ipre = " + ++ipre); // 1 on first iteration
	p("dpost = " + dpost--); // 0 on first iteration
	p("ipre = " + --dpre); // -1 on first iteration
}

この例は、符号反転演算子を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 1;
var m = -1;
var nn = -n;
var mm = -m;

p("negative " + n + " = " + nn); // prints -1
p("negative " + m + " = " + mm); // prints 1

ビット単位演算 (JavaScript)

ビット単位演算は、ビット単位の論理演算を実行します。

演算子 説明
a & b ビット単位 AND。ab の対応するビットが 1 である場合は 1 を返します。いずれかのビットが 0 の場合は 0 を返します。
a | b ビット単位 OR。ab の対応するビットのいずれかが 1 であるか、両方が 1 である場合に 1 を返します。両方のビットが 0 の場合は 0 を返します。
a ^ b ビット単位 XOR (排他 OR)。ab の対応するビットの一方が 1 でもう一方が 0 の場合は 1 を返します。両方のビットが 0 の場合は 0 を返します。
~a 否定。a のビットを反転します。
a << n 左シフト。a のビットを左に n 桁シフトし、その際、左側にあふれたビットは破棄し、右側の空いた桁を 0 で埋めます。
a >> n 符号を保持する右シフト。a のビットを右に n 桁シフトし、その際、右側にあふれたビットは破棄し、左側の空いた桁を 0 で埋めます。ただし、a の左端のビットは保持されます。
a >>> n 右シフト。a のビットを右に n 桁シフトし、その際、右側にあふれたビットは破棄し、左側の空いた桁を 0 で埋めます。

使用法

ビット単位の論理演算子は、オペランドと結果を (整数のように) 一連の 32 ビットとして処理します。

AND、OR、XOR は、オペランドと結果の対応ビットに影響を及ぼします。第 1 オペランドのビット 0 と第 2 オペランドのビット 0 の組み合わせから結果のビット 0 が得られます。また、第 1 オペランドのビット 1 と第 2 オペランド 1 の組み合わせから結果のビット 1 が得られます。以下、同様です。

否定演算子は、オペランドと結果の対応ビットに影響を及ぼします。

この例では、整数値 9、5、-9 をオペランドとするビット単位演算を実行します。整数 9 のビット構成は、28 個のゼロの後に 1001 となります。 整数 5 のビット構成は、28 個のゼロの後に 0101 となります。 整数 -9 のビット構成は、28 個の 1 の後に 0111 となります。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var a = 9; // 0x00000009 bin 0...1001
var b = 5; // 0x00000005 bin 0...0101

p("a & b = " + (a & b)); // 1 0x00000001 bin 0...0001
p("a | b = " + (a | b)); // 13 0x0000000D bin 0...1101
p("a ^ b = " + (a ^ b)); // 12 0x0000000C bin 0...1100
p("~a = " + (~a)); // -10 0xFFFFFFF6 bin 1...0110
p("a << 2 = " + (a << 2)); // 36 0x00000024 0...100100
p("a >> 2 = " + (a >> 2)); // 2 0x00000002 0...0010
p("a >>> 2 = " + (a >>> 2)); // 2 0x00000002 0...0010
p("a >> 2 = " + (-a >> 2)); // -3 0xFFFFFFFD 1...1101
	// -9 is 1...0111 >> 2 = 1...1101

この例は、パラメータとして整数を取り、それに対応するバイナリフォーマットのストリングを返す関数を示しています。 ビットを一度に 1 桁右シフトし、右端のビットを 1 (ビット「オン」) と比較して、戻り値を構成します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function binaryString(n) {
	var nn = n;
	var ss = "";
	for(var i = 0; i < 32; i++) {
		ss = (1 & nn) + ss;
		nn = nn >> 1;
	}
	return ss;
}

p(binaryString(1));
p(binaryString(15));
p(binaryString(128));
p(binaryString(255));
p(binaryString(4096));

この例は、パラメータとして整数をとり、それに相当する 16 進ストリングを返す関数を示します。 ビットを一度に 4 桁右シフトし、右側の 4 ビットに相当する 16 進数を計算して、戻り値を構成します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function hexString(n) {
	var nn = n;
	var ss = "";
	for(var i = 0; i < 8; i++) {
		switch(15 & nn) {
			case 15 : ss = "F" + ss; break;
			case 14 : ss = "E" + ss; break;
			case 13 : ss = "D" + ss; break;
			case 12 : ss = "C" + ss; break;
			case 11 : ss = "B" + ss; break;
			case 10 : ss = "A" + ss; break;
			default : ss = (15 & nn) + ss;
		}
		nn = nn >> 4;
	}
	return ss;
}

p(hexString(1));
p(hexString(13));
p(hexString(12));
p(hexString(-10));
p(hexString(36));
p(hexString(2));
p(hexString(2));
p(hexString(-3));
p(hexString(1));
p(hexString(15));
p(hexString(16));
p(hexString(62));
p(hexString(128));
p(hexString(255));
p(hexString(2020));
p(hexString(4095));
p(hexString(4096));

論理演算子 (JavaScript)

論理演算子は、論理 (ブール) 演算を実行します。
演算子 説明
expr1 && expr2 (論理 AND) expr1expr2 が両方とも true の場合に true を返します。
expr1 || expr2 (論理 OR) expr1 または expr2 のいずれかが true か、両方とも true の場合に、true を返します。
! expr1 (論理 NOT) expr1 が false の場合に true を返し、それ以外の場合は false を返します。

false に変換できる式としては、例えば、NULL、0、空ストリング (??????)、undefined に評価する式があります。 && と || 演算子は、ブール値以外のオペランドに対して使用できますが、その戻り値は常にブール値に変換できるため、これらの演算子はブール演算子とみなすことができます。

使用法

ベストプラクティスは、ブールオペランドに対して論理演算子を使用することです。しかし、どの型のオペランドでも組み合わせることができます。厳密な規則は以下のとおりです。
  • AND では、第 1 オペランドが false の場合、結果は false です。それ以外の場合は、第 2 オペランドのブール値がそのまま結果となります。
  • OR では、第 1 オペランドが true の場合、結果は true です。それ以外の場合は、第 2 オペランドのブール値がそのまま結果となります。
  • NOT では、オペランドが false の場合、結果は true です。それ以外の場合、結果は true です。
以下の値は、ブール値として処理される場合は false です。その他の有効な数値とストリング値は true として処理されます。
  • 0 または 0.0
  • 空ストリング
  • NULL
  • undefined

この例では、論理演算子を実行します。 ここでは、ブールオペランドと非ブールオペランドの処理方法を示します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var a = true;
var b = false;
var n0 = 0;
var n1 = 1;
var nm1 = -1;
var x0 = 0.0;
var x1 = 1.1;
var s0 = "";
var s1 = "foo";
var sn = null;

// How different types are treated as boolean
if(a) p("a is true"); else p("a is false"); // true
if(b) p("b is true"); else p("b is false"); // false
if(n0) p("n0 is true"); else p("n0 is false"); // false
if(n1) p("n1 is true"); else p("n1 is false"); // true
if(nm1) p("nm1 is true"); else p("nm1 is false"); // true
if(x0) p("x0 is true"); else p("x0 is false"); // false
if(x1) p("x1 is true"); else p("x1 is false"); // true
if(s0) p("s0 is true"); else p("s0 is false"); // false
if(s1) p("s1 is true"); else p("s1 is false"); // true
if(sn) p("sn is true"); else p("sn is false"); // false

// Using logical values as operands
p("a && a = " + (a && a)); // true
p("a && b = " + (a && b)); // false
p("b && b = " + (b && b)); // false
p("b && a = " + (b && a)); // false
p("a || a = " + (a || a)); // true
p("a || b = " + (a || b)); // true
p("b || b = " + (b || b)); // false
p("b || a = " + (b || a)); // true
p("!a = " + (!a)); // false
p("!b = " + (!b)); // true

// Using non-logical values as operands
p("n1 && n1 = " + (n1 && n1)); // true
p("n1 && n0 = " + (n1 && n0)); // false
p("n0 && n0 = " + (n0 && n0)); // false
p("n0 && n1 = " + (n0 && n1)); // false
p("n1 || n1 = " + (n1 || n1)); // true
p("n1 || n0 = " + (n1 || n0)); // true
p("n0 || n0 = " + (n0 || n0)); // false
p("n0 || n1 = " + (n0 || n1)); // true
p("!n1 = " + (!n1)); // false
p("!n0 = " + (!n0)); // true

ストリング演算子 (JavaScript)

ストリング演算子は、値を連結します。

ストリング演算子は以下のとおりです。
演算子 説明
string1 + string2 string1string2 を連結して、string2 の最初の文字が string1 の最後の文字の後に続くようにします。
string1 += string2 string1string2 を連結し、その結果を string1 に代入します。

使用法

いずれかのオペランドがストリングの場合、正演算子は連結を意味します。例えば、"foo" + 5 + 1 は、"foo51" となり、"foo" + (5 + 1)"foo6" となります。ベストプラクティスは、ストリング式の中にある、ストリング以外の式を括弧に入れることです。

この例では、2 つのストリング変数を連結します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var f = "foo";
var b = "bar";
p(f + " " + b); // "foo bar"

この例では、2 つのストリング変数を連結し、その結果を変数に代入します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var f = "foo";
var b = "bar";
var fb = f;
fb += " ";
fb += b;
p(fb); // "foo bar"
この例は、数値をストリングに連結する方法を示します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var f = "foo";
var n = 5;
p(f + n); // foo5
p(5 + f); // 5foo
p(f + n + 1); // foo51
p(f + (n + 1)); // foo6

リスト演算子 (JavaScript)

リストは、特定の演算子でエンティティとして処理することができます。

リストを処理する演算子を以下に示します。
演算 説明
list1 + list2 list1 足す list2 を返します。
list1 - list2 list1 引く list2 を返します。
list1 * list2 list1 掛ける list2 を返します。
list1 / list2 list1 割る list2 を返します。

使用法

リストとは、配列などの複数値変数を意味します。

リスト演算では、2 つのリストの対応する要素が処理されるか、1 つのリストの各要素とスカラ値が処理されます。戻り値はリストです。

2 つのリストオペランドの長さが異なる場合は、短い方のリストの最終要素を使用して演算の要素を補います。

この例では、2 つの配列の対応する要素を加算します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

a = new Array(1, 2, 3);
b = new Array(0.1, 0.2, 0.3);
c = a + b;
p(c); // <<<1.1>>>,<<<2.2>>>,<<<3.3>>>

この例では、2 つの配列の対応する要素を加算します。最初の配列の方が短いため、その配列の最終要素を使用して演算の要素を補います。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

a = new Array(1, 2, 3);
b = new Array(0.1, 0.2, 0.3, 0.4, 0.5);
c = a + b;
p(c); // <<<1.1>>>,<<<2.2>>>,<<<3.3>>>,<<<3.4>>>,<<<3.5>>>

この例では、配列の各要素にスカラ値を加算します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

a = new Array(1, 2, 3);
c = a + 0.01;
p(c); // <<<1.01>>>,<<<2.01>>>,<<<3.01>>>

特殊演算子 (JavaScript)

いくつかの特殊演算子を使用できます。

特殊演算子は以下のとおりです。
演算子 説明
condition ? expr1 : expr2 condition が true の場合は expr1 の値を返し、condition が false の場合は expr2 の値を返します。この演算子は、if ステートメントの簡略な手段として使用できます。
expr1 , expr2 両方の式を評価し、expr2 の値を返します。この演算子は、1 つのステートメント (通常は varfor) に複数の式を置く場合に使用できます。
delete objectName objectName を削除します。 削除が成功した場合は true を返し、それ以外の場合は false を返します。削除されたオブジェクトにアクセスしようとすると、実行時エラーが発生します。オブジェクトには変数が含まれます。
delete objectName.property (事前定義プロパティではなく) ユーザー定義のプロパティ objectName を削除します。 プロパティ値を undefined に設定して、削除が成功した場合は true を返し、それ以外の場合は false を返します。
delete property delete objectName.property と同じですが、with ステートメントの一部として使用されます。
delete objectName[index] 使用しないでください。配列の要素を「削除」するには、値 undefined をその配列要素に割り当てます。
function(param, param, ...) { statements } 式で匿名関数を宣言します。
function name(param, param, ...) { statements } 式で名前付き関数を宣言します。
objectName = new objectType(param, param, ...) 組み込みまたはユーザー定義のオブジェクトタイプに基づいてオブジェクトを作成します。
this 実行を開始したオブジェクトを参照します。関数を呼び出す場合、関数の内部にある this は、呼び出し側オブジェクトを参照します。関数に基づくオブジェクトを作成する場合、関数の内部にある this は、その関数を参照します。
this.propertyName 実行を開始したオブジェクトのプロパティ (変数) を参照します。
typeof operand オペランドの型を示すストリングを返します。オペランドとしては、オブジェクト、プロパティ、変数、リテラルを指定できます。一般的な型は numberstringbooleanobjectfunctionnull です。
typeof(operand) typeof operand と同じです。
void expression 値を返さずに式を評価します。
void(expression) void expression と同じです。
object.property オブジェクトのプロパティ (変数) を参照します。プロパティ名は有効な ID でなければなりません。
object["property"]

object['property']

オブジェクトのプロパティ (変数) を参照します。プロパティ名には、任意のストリングを指定できます。

使用法

オブジェクトタイプを定義するには、その名前、プロパティ、メソッドを指定する、当該オブジェクトタイプ用の関数を作成します。 オブジェクトは、それ自体が別のオブジェクトであるプロパティを持つことができます。

in 演算子と instanceof 演算子は、サーバーサイドではサポートされません。

この例では、条件に応じて、さまざまなストリングを印刷します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

// Test true path
var n = 5;
p(n > 0 ? "n is greater than 0" : "n is not greater than 0");

// Test false path
n = -1;
p(n > 0 ? "n is greater than 0" : "n is not greater than 0");

// Same as ...
if(n > 0)
	p("n is greater than 0");
else
	p("n is not greater than 0");

この例は、3 つのカンマのシナリオを示します。最初のシナリオは実用的ではありませんが、あとの 2 つは役に立ちます。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

p(0, -1, 1); // prints 1

var n = 0, m = -1, o = 1;
p(n); p(m); p(o); // prints 0 -1 1

for(var i = 0, j = 1; i < 5; i++, j++) {
	p("i = " + i + " and j = " + j);
} // prints i = 0-4 and j = 1-5

この例では、Number オブジェクトを削除します。削除後にこのオブジェクトにアクセスしようとすると、実行時エラーが発生します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

try {
	var num = new Number(2.4);
	p(num.toFixed(8));
	if(delete num) p("num deleted"); else p("num not deleted");
	p(num.toFixed(8));
} catch(e) {
	p(e);
}

この例では、Number オブジェクトのプロパティを作成し、その後にそのプロパティを削除します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

try {
	var num = new Number(2.4);
	p(num.toFixed(8));
	num.myprop = 5;
	p(num.myprop);
	if(delete num.myprop) p("num.myprop deleted");
		else p("num.myprop not deleted");
	p(num.toFixed(8));
	if(num.myprop == undefined) p("undefined"); else ("notundefined");
} catch(e) {
	p(e);
}

この例は、匿名関数を作成して呼び出す方法を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

foo = function(param1, param2, param3) {
	p("param1 = " + param1);
	p("param2 = " + param2);
	p("param3 = " + param3);
}

foo(1, 2, 3);

この例は、名前付き関数を作成し、その割り当てられた変数とその名前を使用して呼び出す方法を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

foo = function bar(param1, param2, param3) {
	p("param1 = " + param1);
	p("param2 = " + param2);
	p("param3 = " + param3);
}

foo(1, 2, 3);
bar(1, 2, 3);

この例は、組み込みタイプまたはユーザー定義タイプのオブジェクトを作成する方法を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

n = new Number(2.4);
p("n = " + n.toFixed(8));

// Create function for user-defined object
// Here "this" means the user-defined object
function myobj(param1, param2, param3) {
	this.prop1 = param1;
	this.prop2 = param2;
	this.prop3 = param3;
}

m = new myobj(1, 2, 3);
p("m.prop1 = " + m.prop1);
p("m.prop2 = " + m.prop2);
p("m.prop3 = " + m.prop3);

この例では、プロパティの点と大括弧の表記を示します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function f() {
	this.s = "DOT_S";
}

var ff = new f();
p("ff.s = " + ff.s); // <<<ff.s = DOT_S>>>
p("ff[¥"s¥"] = " + ff["s"]); // <<<ff["s"] = DOT_S>>>

トップレベル関数 (JavaScript)

トップレベル関数は、オブジェクトに関連付けられていません。 ECMA 仕様では、これらの関数は、グローバルオブジェクトのプロパティとメソッドです。

トップレベル関数を次の表にまとめます。
トップレベル関数 説明
print ストリングをログファイルに印刷します。
_dump オブジェクトのストリング表現をログファイルに印刷します。
eval 式またはステートメントを評価します。
isNaN 引数を評価して、それが数値でないかどうかを判別します。
parseFloat ストリング引数を解析して、浮動小数点数を返します。
parseInt ストリング引数を解析して、整数を返します。

_dump (JavaScript)

オブジェクトのストリング表現をログファイルに印刷します。

構文

_dump(object)
パラメータ 説明
object オブジェクトに関する情報、および可能な場合はオブジェクトのストリング表現を含むストリング。

使用法

このログは、サーバー上の console.log です (例えば、C:¥Notes¥Data¥IBM_TECHNICAL_SUPPORT¥console.log)。

以下の例は、いくつかの組み込みオブジェクトのダンプを示します。
n = new Number(-1);
b = new Boolean(true);
s = new String("foobar");
print("<<<dump follows>>>");
_dump(n); // Number=-1
_dump(b); // Boolean=true
_dump(s); // String=foobar
print("<<<dump ends>>>");

以下の例は、ユーザーオブジェクトのダンプを表しています。

function mytype() {
	this.mytype = "foobar";
}

myobj = new mytype();
print("<<<dump follows>>>");
_dump(myobj); // mytype: string=foobar
print("<<<dump ends>>>");

eval (JavaScript)

式またはステートメントを評価します。

構文

eval(string)
パラメータ 説明
string 式、または任意指定により式となる 1 つ以上のステートメント。ストリングには、既存のオブジェクト、プロパティ、変数の名前を入れることができます。

使用法

この関数は、ステートメントがある場合はそれを実行し、式がある場合はその式の値を返します。

組み込みの演算式を評価するために eval を使用する必要はありません。この評価は自動的に行われます。ただし、演算式をストリングとして保存し、後で eval を使用してその値を取得する場合があります。

この例では、演算式が含まれるストリング変数を作成し、その後に式を評価します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var e = "x + y";
var x = 1;
var y = 2;
var z = eval(e);
p(z); // 3

この例では、2 つのステートメントが含まれるストリング変数を作成し、その後にこれらのステートメントを評価 (実行) します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var e = "var x=1, y=2; z = x + y";
eval(e);
p(z); // 3

この例では、ステートメントと式が含まれるストリング変数を作成し、その後にそれらを評価します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var e = "var x=1, y=2; x + y";
z = eval(e);
p(z); // 3

isNaN (JavaScript)

parseInt または parseFloat により解析されたストリングの結果が有効な数値かどうかを判別します。

構文

isNaN(testValue)
パラメータ 説明
testValue parseInt (JavaScript) または parseFloat (JavaScript)からの戻り値。

使用法

この関数は、パラメータが数値でない場合は true を返し、有効な数値の場合は false を返します。例については、parseInt (JavaScript)parseFloat (JavaScript) を参照してください。

parseFloat (JavaScript)

ストリングを解析して、浮動小数点数を返します。

構文

parseFloat(string)
パラメータ 説明
string 浮動小数点数を固定表記または指数表記で表したストリング。正しい浮動小数点表記でない文字の位置で切り捨てが発生します。先頭または末尾にスペースがあっても構いません。

使用法

string の最初の文字が浮動小数点数として無効な場合、結果は値 NaN になります。 isNaN (JavaScript) を参照してください。

この例では、浮動小数点数を作成し、それらをテストして、有効な数値であることを確認します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var x = parseFloat("3.14");
if (isNaN(x))
	p("x is not a number");
else
	p("x = " + x);
// <<<x = 3.14>>>

var x = parseFloat("314e-2");
if (isNaN(x))
	p("x is not a number");
else
	p("x = " + x);
// <<<x = 3.14>>>

var x = parseFloat("0.0314e+2");
if (isNaN(x))
	p("x is not a number");
else
	p("x = " + x);
// <<<x = 3.14>>>

var x = parseFloat("f0.0314e+2");
if (isNaN(x))
	p("x is not a number");
else
	p("x = " + x);
// <<<x is not a number>>>

parseInt (JavaScript)

ストリングを解析して、指定された基数の整数を返します。

構文

parseInt(string, radix)
パラメータ 説明
string 指定された radix の整数を表すストリング。9 より大きい数字は文字として指定します。
radix (オプション) 整数の基数。デフォルトは 10 です。

使用法

string を、指定された基数の整数に変換できない場合、結果は値 NaN になります。isNaN (JavaScript) を参照してください。

この例では、基数 10、8、16 でストリングから整数を作成し、それらをテストして、有効な数値であることを確認します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var i = parseInt("25");
if (isNaN(i))
	p("i is not a number");
else
	p("i = " + i);
// i = 25
	
var i = parseInt("25", 8);
if (isNaN(i))
	p("i is not a number");
else
	p("i = " + i);
// i = 21

var i = parseInt("25", 16);
if (isNaN(i))
	p("i is not a number");
else
	p("i = " + i);
// i = 37

var i = parseInt("25x");
if (isNaN(i))
	p("i is not a number");
else
	p("i = " + i);
// i is not a number

var i = parseInt("ff", 16);
if (isNaN(i))
	p("i is not a number");
else
	p("i = " + i);
// i = 255

print (JavaScript)

ストリングをログファイルに印刷します。

構文

print(string)
パラメータ 説明
string 任意のストリング。必要に応じて変換が発生します。

使用法

このログは、サーバー上の console.log です (例えば、C:¥Notes¥Data¥IBM_TECHNICAL_SUPPORT¥console.log)。

次の例は、ログファイルに印刷する関数を定義します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function f(par1) {
	p("par1 = " + par1);
}

p("Call function f");
f(-1);

@Functions (JavaScript)

ここで示す @関数により、IBM Notes 上の @関数がエミュレートされます。

ただし、以下の構文が異なっています。
  • 名前の大文字と小文字は正確に区別する必要があります。
  • パラメータはセミコロンではなくカンマで区切る必要があります。

@Abs (JavaScript)

数字の絶対値 (符号なし) を返します。

構文

@Abs(value:double) : double
パラメータ 説明
value 数字、または数字を格納する配列。
戻り値 説明
double 数字の絶対値、または配列内の各数字。

この例では、絶対値の平方根が返されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function sq(n) {
	return(Math.sqrt(@Abs(n)));
}

p("sq of 9 = " + sq(9));
p("sq of -9 = " + sq(-9));

この例では、2 つの数字の正差が返されます。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function diff(n1, n2) {
	return(@Abs(n1 - n2));
}

p("diff(15, 5) = " + diff(15, 5));
p("diff(5, 15) = " + diff(5, 15));
p("diff(-15, 5) = " + diff(-15, -5));
// all result in 10

@Abstract (JavaScript)

フィールドの内容を短縮します。

構文

@Abstract(keywords:string, size:int, beginText:string, bodyFields:string) : string
パラメータ 説明
keywords 短縮テキストを作成するための疑似命令。複数のキーワードを配列の形式で指定します。各キーワードの説明については、「使用法」のセクションを参照してください。
size 短縮テキストの最大文字数。この文字数を超えた分が切り捨てられます。このパラメータに 0、NULL、空ストリングのいずれかを指定した場合、短縮テキストは空になります。
beginText 短縮テキストの先頭に挿入するテキスト。 このパラメータに空ストリングを指定すると、テキストは挿入されません。
bodyFields フィールドに関連するデータの XPath。 1 つの配列に複数のフィールドを指定します。
戻り値 説明
string 短縮テキスト。

使用法

最初は、bodyFields の値がフィールドの短縮テキストとして設定されます。この短縮テキストに対して、配列内に設定された順序で以下のキーワードが適用されます。これらのキーワードを指定する場合は、括弧を含めて正確に指定する必要があります。ただし、大文字と小文字を区別する必要はありません。
Keyword 説明
[TRYFIT] 現時点での処理対象テキストが、size パラメータで指定された文字数内に収まるかどうかを確認します。 対象テキストが指定文字数内に収まる場合はそこで処理を停止し、この状態の短縮テキストを返します。
[ABBREV] [DROPVOWELS][DROPFIRSTVOWEL][TRIMPUNCT][TRIMWHITE] の各先行キーワードを、短縮テキストに対して適用します。
[DROPVOWELS] 各語の先頭にある母音を除き、短縮テキストからすべての母音を削除します。ただし、[DROPFIRSTVOWEL] キーワードが指定されている場合は、各語先頭の母音も削除されます。このキーワードが適用されるのは、[ABBREV] キーワードがこのキーワードより後ろに指定された場合です。
[DROPFIRSTVOWEL] 各語の先頭にある母音を短縮テキストから削除します。 このキーワードは、[DROPVOWELS] キーワードと共に指定する必要があります。このキーワードが適用されるのは、[ABBREV] キーワードがこのキーワードより後ろに指定された場合です。
[TRIMPUNCT] 句読点の前後の空白をすべて削除します。 このキーワードが適用されるのは、[ABBREV] キーワードがこのキーワードより後ろに指定された場合です。
[TRIMWHITE] 単語間の余分な空白を削除します。このキーワードが適用されるのは、[ABBREV] キーワードがこのキーワードより後ろに指定された場合です。
[RULE1] 各キーワードを次の順序で並び替えます。[TRYFIT][TRIMPUNCT][TRIMWHITE][ABBREV][TRYFIT][DROPVOWELS][ABBREV]
[RULE2] 各キーワードを次の順序で並び替えます。[TRYFIT][TRIMPUNCT][TRIMWHITE][ABBREV]
[RULE3] [RULE1] と同じです。

実際の値をフィールドに指定した場合の例を以下に示します。この例では、field4 (ストリング) と field5 (整数) というデータエレメントにバインドされた 2 つのフィールドを使用します。この 2 つのフィールドを結合すると以下のようになります。
given current inputs, the total   is   99

以下の例では、指定された文字数内に収まる入力テキストに対して [RULE2] キーワードを適用しています。

var fields = @List("//field4", "//field5");
@Abstract("[RULE2]", 64, "Total: ", fields);

この場合、以下のテキストが返されます。先頭に挿入されたストリング以外は、処理前と処理後のテキストは同じになります。

Total: given current inputs, the total   is   99

以下の例では、母音と空白の削除が必要な入力テキストに対して [RULE1] キーワードを適用しています。

var fields = @List("//field4", "//field5");
@Abstract("[RULE1]", 32, "Total: ", fields);

この場合、以下のテキストが返されます。

RULE1 Ttl:gvn crrnt inpts,th ttl is 99

以下の例では、入力テキスト内の母音と先頭の母音を削除し、さらに句読点前後の空白と単語間の余分な空白も削除します。ただし、先頭テキストは挿入しません。

var keywords = @List("[DROPVOWELS]", "[DROPFIRSTVOWEL]",
	"[TRIMWHITE]",  "[TRIMPUNCT]", "[ABBREV]");
var fields = @List("//field4", "//field5");
@Abstract(keywords, 64, "", fields);

この場合、以下のテキストが返されます。

gvn crrnt npts,th ttl s 99 

@Adjust (JavaScript)

時刻と日付を、年、月、日、時、分、秒によって調整します。

構文

@Adjust(time:Date, years:int, months:int, days:int, hours:int, minutes:int, seconds:int) : Date

@Adjust(time:Date, years:int, months:int, days:int, hours:int, minutes:int, seconds:int, keywords:string) : Date

パラメータ 説明
time 時刻と日付。
years 年。
months 月。
days 日。
hours 時。
minutes 分。
seconds 秒。
keywords [InLocalTime] キーワードを指定すると、夏時間に伴う時間調整が可能になります。夏時間を実施している地域でこのキーワードを指定した場合、実施期間中は自動的に時差が計算され、常に正確な時間になるように調整されます。このキーワードを指定しなかった場合、夏時間に関する時差処理は実行されません。キーワードを指定する場合は、括弧も含めて正確に指定する必要があります。ただし、大文字と小文字を区別する必要はありません。 無効なキーワードは無視されます。
戻り値 説明
Date 調整された時刻と日付。

使用法

調整値は、正数と負数のいずれでも指定することができます。 ただし、小数点以下は切り捨てになります。

ゼロ (0) または NULL を指定した場合、時刻と日付は調整されません。

桁あふれするような調整値が指定された場合は、その隣のフィールド (年数の場合は月数、月数の場合は日数、など) に対してあふれた分の加減算を行い、自動的に桁あふれを解消します。

以下の例では、作成日時に 30 日を加算した値が現在の日時よりも古い文書 (つまり、作成してから 30 日以上が経過した文書) に OBSOLETE というマークを付けます。
var s = "ACTIVE";
var xdate = @Adjust(@Created(), null, null, 30, null, null, null, "[InLocalTime]");
if(@Now() > xdate) s = "OBSOLETE";
return s;

以下の例は上の例と同じですが、夏時間に関する時差調整は実行されません。

var s = "ACTIVE";
var xdate = @Adjust(@Created(), null, null, 30, null, null, null);
if(@Now() > xdate) s = "OBSOLETE";
return s;

@AttachmentLengths (JavaScript)

現在の文書に添付されているファイルのサイズをバイト数で返します。

構文

@AttachmentLengths() : any
戻り値 説明
any ファイルサイズが設定された整数値を格納する配列。現在の文書にファイルが添付されていない場合は、空ストリングが格納されます。

この関数を実行した場合の例を以下に示します。この例の場合、現在の文書に添付されているファイルの数、名前、サイズ、更新日時が返されます。
var s = "Attachments (" + @Attachments() + "):¥n";
for(var i = 0; i < @Attachments(); i++) {
	s = s +
	@AttachmentNames()[i] + " (" +
	@AttachmentLengths()[i] + " bytes) " + 
	@AttachmentModifiedTimes()[i] + "¥n";
}
return s;

@AttachmentModifiedTimes (JavaScript)

現在の文書に添付されているファイルの更新日時を返します。

構文

@AttachmentModifiedTimes() : any
戻り値 説明
any ファイルの更新日時が設定された日付と時刻を格納する配列。現在の文書にファイルが添付されていない場合は、空ストリングが格納されます。

この関数を実行した場合の例を以下に示します。この例の場合、現在の文書に添付されているファイルの数、名前、サイズ、更新日時が返されます。
var s = "Attachments (" + @Attachments() + "):¥n";
for(var i = 0; i < @Attachments(); i++) {
	s = s +
	@AttachmentNames()[i] + " (" +
	@AttachmentLengths()[i] + " bytes) " + 
	@AttachmentModifiedTimes()[i] + "¥n";
}
return s;

@AttachmentNames (JavaScript)

現在の文書に添付されているファイルの名前を返します。

構文

@AttachmentNames() : any
戻り値 説明
any ファイル名が設定されたストリングを格納する配列。現在の文書にファイルが添付されていない場合は、空ストリングが格納されます。

この関数を実行した場合の例を以下に示します。この例の場合、現在の文書に添付されているファイルの数、名前、サイズ、更新日時が返されます。
var s = "Attachments (" + @Attachments() + "):¥n";
for(var i = 0; i < @Attachments(); i++) {
	s = s +
	@AttachmentNames()[i] + " (" +
	@AttachmentLengths()[i] + " bytes) " + 
	@AttachmentModifiedTimes()[i] + "¥n";
}
return s;

@Attachments (JavaScript)

現在の文書に添付されているファイルの数を返します。

構文

@Attachments() : int
戻り値 説明
int 添付ファイルの数。

この関数を実行した場合の例を以下に示します。この例の場合、現在の文書に添付されているファイルの数、名前、サイズ、更新日時が返されます。
var s = "Attachments (" + @Attachments() + "):¥n";
for(var i = 0; i < @Attachments(); i++) {
	s = s +
	@AttachmentNames()[i] + " (" +
	@AttachmentLengths()[i] + " bytes) " + 
	@AttachmentModifiedTimes()[i] + "¥n";
}
return s;

@Author (JavaScript)

現在の文書の作成者名を返します。

構文

@Author() : any
戻り値 説明
any 作成者の名前。

@Begins (JavaScript)

ストリングの先頭に特定のサブストリングが指定されているかどうかを確認します。

構文

@Begins(value:string,subString:string) : int
パラメータ 説明
value 確認するストリング。
subString 確認するサブストリング。
戻り値 説明
int true の場合は 1、false の場合は 0 が設定されます。

使用法

この関数は大文字と小文字を区別します。

以下の例では、「N」または「n」で始まるサブストリングが確認されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var s1 = "Now is the time.";
var s2 = "N";

if(@Begins(s1, s2) == @True()) // returns 1
	p("String s1 begins with " + s2);
else
	p("String s1 does not begin with " + s2);

s2 = "n";

if(@Begins(s1, s2) == @True()) // returns 0
	p("String s1 begins with " + s2);
else
	p("String s1 does not begin with " + s2);

@Char (JavaScript)

特定の Unicode 値に対応する文字を返します。

構文

@Char(code:int) : string
パラメータ 説明
code Unicode 番号。
戻り値 説明
string パラメータで指定された Unicode 番号に対応する文字。

使用法

エスケープシーケンスを使用することにより、Unicode 文字をストリングとして表すことができます。
エスケープシーケンス Unicode 番号 説明
¥b 8 バックスペース
¥t 9 タブ
¥n 10 ニューライン (改行文字)
¥f 12 フォームフィード
¥r 13 キャリッジリターン (復帰文字)

以下の例では、アルファベットの A から Z までが大文字で印刷されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var s = "";
for(var i = 65; i < 91; i++) {
	s = s + @Char(i);
}
p(s);

@ClientType (JavaScript)

Returns a text string to differentiate Notes clients and Web browsers.

構文

@ClientType() : string
戻り値 説明
string 実行環境により、Notes または Web のいずれかが設定されます。

@Contains (JavaScript)

ストリング内にサブストリングが指定されているかどうかを確認します。

構文

@Contains(value:string, subString:string) : int
パラメータ 説明
value 確認するストリング。
substring 確認するサブストリング。
戻り値 説明
int true の場合は 1、false の場合は 0 が設定されます。

使用法

この関数は大文字と小文字を区別します。

以下の例では、「is」または「iz」を含むサブストリングが確認されます。該当する値が見つかった場合は 1、見つからなかった場合は 0 がそれぞれ戻り値 として返されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var s1 = "Now is the time.";
var s2 = "is";

if(@Contains(s1, s2) == @True())
	p("String s1 contains with " + s2);
else
	p("String s1 does not contain " + s2);

s2 = "iz";

if(@Contains(s1, s2) == @True())
	p("String s1 contains with " + s2);
else
	p("String s1 does not contain " + s2);

@Count (JavaScript)

リスト内のエントリ数を返します。

構文

@Count(list:any) : int
パラメータ 説明
list 確認するリスト。
戻り値 説明
int リスト内のエントリ数。

使用法

リストは配列として操作します。

以下の例では、リストをループ処理しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var citiesArray = new Array("Paris", "Berlin", "London", "Moscow");

for(var i = 0; i < @Count(citiesArray); i++) {
	p(citiesArray[i]);
}

@Created (JavaScript)

現在の文書の作成日時を返します。

構文

@Created() : Date
戻り値 説明
Date 作成日時。

以下の例では、現在の文書が作成後 30 日以上経過している場合に OBSOLETE というマークが付けられます。
var s = "ACTIVE";
var xdate = @Adjust(@Created(), null, null, 30, null, null, null, "[InLocalTime]");
if(@Now() > xdate) s = "OBSOLETE";
return s;

@Date (JavaScript)

日付と時刻を作成します。

構文

@Date(time:Date) : Date

@Date(years:int, months:int, days:int) : Date

@Date(years:int, months:int, days:int, hours:int, minutes:int, seconds:int) : Date

パラメータ 説明
time 日付と時刻。
seconds 日付と時刻の「秒」。
minutes 日付と時刻の「分」。
hours 日付と時刻の「時」。
days 日付と時刻の「日」。
months 日付と時刻の「月」。
years 日付と時刻の「年」。
戻り値 説明
Date 新しい日付と時刻。

使用法

この関数は、日付と時刻を以下のように処理します。
  • パラメータリストに Date オブジェクトが指定された場合は日付の部分だけが処理され、時刻には 0 が設定されます。
  • パラメータリストに年、月、日が指定された場合はこれらの値がそのまま日付に設定され、時刻には 0 が設定されます。
  • パラメータリストに年、月、日、時、分、秒が指定された場合は、これらの値がそのまま日付と時刻に設定されます。

以下の例では、Date オブジェクトによって日付と時刻を設定しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var now = @Now();
var date1 = @Date(now);
p("Now = " + now); // <<<Now = 4/7/06 4:49 PM>>>
p("Date = " + date1); // <<<Date = 4/7/06 12:00 AM>>>

以下の例では、@Today 関数を使用して日付を設定し、コード内で直接値を記述して時刻を設定しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Today();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var today = @Date(year, month, day, 13, 30, 0);
p("Today at 1:30PM = " + today.toLocaleString());

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@Day (JavaScript)

日付と時刻から「日」(年月日の「日」の部分) を抽出して返します。

構文

@Day(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int 日付と時刻の「日」の部分。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@DbColumn (JavaScript)

ビューの列の値を返します。

構文

@DbColumn(dbName:string, viewName:string, colNumber:int) : any
パラメータ 説明
dbName 2 つの要素を格納する配列。最初の要素はサーバー名で、次の要素はデータベース名です。現在のサーバーの場合は、一対の二重引用符だけを指定します。現在のデータベースの場合は、配列の代わりに一対の二重引用符だけを関数内に直接指定するか、それぞれの要素に一対の二重引用符だけを指定した配列を使用します。
viewName データベース内のビューの名前。
colNumber ビュー内の列番号 (1 から開始)。
戻り値 説明
any 列の値が格納された配列。

リストボックスに対してデータをバインドする場合の例を以下に示します。この場合、foo.nsfAll ビューの 1 列目が表示されます。
var dbname = new Array("", "foo.nsf");
@DbColumn(dbname, "All", 1)

現在のデータベースが foo.nsf の場合、上記のコードは以下のように記述することもできます。

@DbColumn("", "All", 1)

@DbLookup (JavaScript)

ソートされたビュー列内の適合キーに対応するビュー列またはフィールド値を返します。

構文

@DbLookup(dbName:string, viewName:string, key:string, colNumber:int) : any

@DbLookup(dbName:string, viewName:string, key:string, fieldName:string) : any

@DbLookup(dbName:string, viewName:string, key:string, colNumber:int, keywords:string) : any

@DbLookup(dbName:string, viewName:string, key:string, fieldName:string, keywords:string) : any

パラメータ 説明
dbName 2 つの要素を格納する配列。最初の要素はサーバー名で、次の要素はデータベース名です。現在のサーバーの場合は、一対の二重引用符だけを指定します。現在のデータベースの場合は、配列の代わりに一対の二重引用符だけを関数内に直接指定するか、それぞれの要素に一対の二重引用符だけを指定した配列を使用します。
viewName データベース内のビューの名前。
key ビュー内の最初のソート済み列に対して一致するキー値。
colNumber ビュー内の列番号 (1 から開始)。列番号を指定した場合、この番号によってビュー内の列を検索して戻り値を取得します。
fieldName ビュー内の文書のアイテム名。 アイテム名を指定した場合、このアイテム名によってビューデータの取得元となる文書内のアイテムを検索して戻り値を取得します。
keywords カンマで区切られた 1 つ以上のストリング。以下の値が格納されます。
  • [FAILSILENT]: パラメータで指定されたキー値が見つからない場合、エラーの代わりに "" (NULL ストリング) を返します。
  • [PARTIALMATCH]: パラメータで指定されたキー値が列の値の最初の数文字と一致する場合、一致内容を返します。
  • [RETURNDOCUMENTUNIQUEID]: フィールドや列の値ではなく、文書の UNID を返します。
戻り値 説明
any 列またはフィールドの値が格納された配列。

使用法

この関数を実行すると、ビュー内の最初のソート済み列の値が key パラメータの値と比較され、一致するストリングが見つかると、以下のいずれかの値が返されます。
  • colNumber パラメータによって指定された列に対応する値。
  • fieldName パラメータによって指定された、対応する文書内のデータエレメント。

リストボックスに対してデータをバインドする場合の例を以下に示します。この場合、レンダリング後のリストボックスには、All ビューの 2 列目の値が設定されます。このビューの最初のソート済み列で対応する値は blue です。
@DbLookup(@DbName(), "All", "blue", 2);

リストボックスに対してデータをバインドする場合の例を以下に示します。この場合、レンダリング後のリストボックスには、データエレメント Subject の値が設定されます。このデータエレメントの最初のソート済み列で対応する値は blue です。

@DbLookup(@DbName(), "All", "blue", "Subject");

@DbName (JavaScript)

現在のデータベースが存在するサーバー名と、そのデータベース名を返します。

構文

@DbName() : string
戻り値 説明
string 2 つの要素を格納するリスト。最初の要素はサーバー名で、次の要素はデータベース名です。

以下の例では、現在のデータベースが存在するサーバー名とそのデータベース名を実行結果として表示しています。
var database = @Subset(@DbName(), -1);
var server = @Name("[CN]", @Subset(@DbName(), 1));
return database + " on " + server

@DbTitle (JavaScript)

現在のデータベースのラベルを返します。

構文

@DbTitle() : string
戻り値 説明
string データベースラベル。

現在のデータベースの名前とラベルを返す場合の例を以下に示します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

p("Database name = " + @DbName());
p("Database label = " + @DbTitle());

@Do (JavaScript)

@関数の一連のステートメントを検証します。

構文

@Do(statement, ...) : any
パラメータ 説明
statement @関数そのもの、または @関数内に指定された有効なステートメント (割り当てステートメントなど)。
戻り値 説明
any 最終ステートメントの実行結果。

以下の例は、field1 をバインドする編集ボックスの onBlur イベントを示しています。このイベントにより、field1 の摂氏の値が華氏の値に変換されて field2 に設定されます。
var n = @GetNumberField("//field1");
// condition
@If(n != "",
	// true path
	@Do(n = 9 / 5 * n,
		@SetNumberField("//field2", n + 32)),
	// false path
	@Do(@SetNumberField("//field1", 0),
		@SetNumberField("//field2", 32)));

@Element (JavaScript)

リスト内の要素を返します。

構文

@Element(list:any, position:int) : any
パラメータ 説明
list 確認するリスト。
position 要素の位置 (1 から開始)。
戻り値 説明
any パラメータで指定された位置にあるリスト要素。

使用法

リストは配列として操作します。

@関数内では 0 を指定できないため、要素番号は 1 から開始されます。

以下の例では、リストをループ処理しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }
 
var citiesArray = new Array("Paris", "Berlin", "London", "Moscow");
for(var i = 1; i <= @Elements(citiesArray); i++) {
	p(@Element(citiesArray, i));
}

@Elements (JavaScript)

リスト内のエントリ数を返します。

構文

@Elements(list:any) : int
パラメータ 説明
list 確認するリスト。
戻り値 説明
int リスト内のエントリ数。

使用法

リストは配列として操作します。

以下の例では、リストをループ処理しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }
 
var citiesArray = new Array("Paris", "Berlin", "London", "Moscow");
for(var i = 1; i <= @Elements(citiesArray); i++) {
	p(@Element(citiesArray, i));
}

@Ends (JavaScript)

ストリングの最後に特定のサブストリングが指定されているかどうかを確認します。

構文

@Ends(value:string,subString:string) : int
パラメータ 説明
value 確認するストリング。
subString サブストリング。
戻り値 説明
int true の場合は 1、false の場合は 0 が設定されます。

使用法

この関数は大文字と小文字を区別します。

以下の例では、「.」または「e」で終わるサブストリングが確認されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var s1 = "Now is the time.";
var s2 = ".";

if(@Ends(s1, s2) == @True()) // returns 1
	p("String s1 ends with " + s2);
else
	p("String s1 does not end with " + s2);

s2 = "e";

if(@Ends(s1, s2) == @True()) // returns 0
	p("String s1 ends with " + s2);
else
	p("String s1 does not end with " + s2);

@Error (JavaScript)

指定された値に対してエラー条件を割り当てます。

構文

@Error() : Object
戻り値 説明
Object 未定義の値。この値は、@IsError (JavaScript) 関数のパラメータ以外には使用できません。

使用法

@Error() 関数を要素値として保存することはできません。

以下の例は、特定の場合に @Error() を返す関数を示したものです。ここでは、コードの最初で @Error() をテストしています。
function getfield(fieldname) {
	var n = @GetField(fieldname);
	@Return(@If(n < 0, @Error(), n > 255, @Error(), n));
}

@If(@IsError(getfield("//field3")),
	"Out of range",
	// else
	getfield("//field3"));

@Explode (JavaScript)

指定されたセパレータを使用して、1 つのストリングを要素単位に分割して解析します。

構文

@Explode(value:string) : any

@Explode(value:string, separators:string) : any

@Explode(value:string, separators:string, incEmpties:int) : any

@Explode(value:string, separators:string, incEmpties:int, newLineAsSeparator:int) : any

パラメータ 説明
value 解析するストリング。
separators セパレータとして使用する一連の文字。 この文字によってストリングを要素単位に区切りますが、出力情報としては表示されません。 デフォルトのセパレータは ",; " (カンマ、セミコロン、スペース) です。newLineAsSeparator パラメータで無効に設定しない限り、改行は自動的にセパレータとして認識されます。
incEmpties 前後に指定されている連続した複数のセパレータを無視する場合は 0 を、空ストリングを挿入する場合は 1 を指定します (デフォルトは 0)。(注: このオプションを指定すると、連続した複数のセパレータの後ろに指定されている要素の処理に失敗する場合があるため、このオプションは使用しないことをお勧めします)
newLineAsSeparator 改行をセパレータとして処理する場合は 1 を、テキストとして処理する場合は 0 を指定します (デフォルトは 0)。
戻り値 説明
any 実行結果のリスト。

使用法

リストは配列として操作します。

以下の例では、デフォルトのセパレータを使用してストリングをリストに展開しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var citiesString = new String("Paris,Berlin,London,Moscow");

p(citiesString);
var citiesArray = @Explode(citiesString);
for(var i = 1; i <= @Elements(citiesArray); i++) {
	p(@Element(citiesArray, i));
}
/* Log output
<<<Paris,Berlin,London,Moscow>>>
<<<Paris>>>
<<<Berlin>>>
<<<London>>>
<<<Moscow>>>
*/

以下の例では、指定されたセパレータを使用してストリングをリストに展開しています。

function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var citiesString = new String("Paris.Berlin.London.Moscow");

p(citiesString);
var citiesArray = @Explode(citiesString, ", ;.");
for(var i = 1; i <= @Elements(citiesArray); i++) {
	p(@Element(citiesArray, i));
}
/* Log output
<<<Paris.Berlin.London.Moscow>>>
<<<Paris>>>
<<<Berlin>>>
<<<London>>>
<<<Moscow>>>
*/

以下の例では、指定されたセパレータ (改行を除く) を使用してストリングをリストに展開しています。

function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var citiesString = new String("Paris,Berlin¥nLondon,Moscow");

p(citiesString);
var citiesArray = @Explode(citiesString, ", ;.", @False(), @False());
for(var i = 1; i <= @Elements(citiesArray); i++) {
	p(@Element(citiesArray, i));
}
/* Log output
<<<Paris,Berlin
London,Moscow>>>
<<<Paris>>>
<<<Berlin
London>>>
<<<Moscow>>>
*/

@Failure (JavaScript)

メッセージを返します。

構文

@Failure(message : string) : string
戻り値 説明
string パラメータ。

使用法

IBM Notes の場合、この @関数は評価式で使用されますが、 XPage には評価式はありません。

@False (JavaScript)

数字の 0 を返します。

構文

@False() : int
戻り値 説明
int 数字の 0。

使用法

@関数の場合、数字の 1 と 0 はそれぞれ論理値として使用されます (1 は true、0 は false)。論理値の 1 を返す場合は、@True (JavaScript) 関数または @Yes (JavaScript) 関数を使用します。

論理値の 0 を返す場合は、@False (JavaScript) 関数または @No (JavaScript) 関数を使用します。

JavaScript の truefalse を @関数の論理値として使用しないでください。

以下の例では、論理値を返す @関数をテストしています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

if(@IsNewDoc() == @False())
	p("Opening old document");
else
	p("Creating new document");

/* Do not do this
if(!@IsNewDoc)
	p("Opening old document");
else
	p("Creating new document");
*/

@GetField (JavaScript)

現在のページに関連する文書アイテムの値を返します。

構文

@GetField(name:string) : any
パラメータ 説明
name 現在の XPage にバインドされている Domino 文書のアイテム名。
戻り値 説明
any アイテムの値。

使用法

この関数は最新のユーザーエントリを取得し、現在のページをサーバーに転送します。

以下の例では、XPage に関連する文書の Subject アイテムの値を取得しています。
@GetField("Subject")

@Hour (JavaScript)

日付と時刻から「時」(時、分、秒の「時」の部分) を抽出して返します。

構文

@Hour(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int 日付と時刻の「時」の部分。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@If (JavaScript)

条件テストに基づいてステートメントを実行します。

構文

@If(condition, statement, ..., ..., else) : any
戻り値 説明
condition n > 0 などの論理値。
statement 実行対象の有効な @関数のステートメント (先行条件が true の場合)。複数のステートメントを実行する場合は、@Do 関数を使用します。
else 実行対象の有効な @関数のステートメント (true となる条件がない場合)。複数のステートメントを実行する場合は、@Do 関数を使用します。
any ステートメントの実行結果。

使用法

condition パラメータと statement パラメータは一緒に指定する必要があります。指定できる数に制限はありません。

指定された条件を順に検証し、true になる条件が見つかるとそれに対応するステートメントが実行され、それ以降の条件テストはすべて無視されます。true になる条件がない場合、else ステートメントが実行されます。

以下の例は、field1 をバインドする編集ボックスの onBlur イベントを示しています。このイベントにより、field1 の摂氏の値が華氏の値に変換されて field2 に設定されます。
var n = @GetNumberField("//field1");
// condition
@If(n != "",
	@Do(
		n = 9 / 5 * n,
		@SetNumberField("//field2", n + 32)),
	// else
	@Do(
		@SetNumberField("//field1", 0),
		@SetNumberField("//field2", 32)));

以下の例は、検証する数字の値により、Positive numberNegative numberZero のいずれかのストリングを返します。

var n = @GetNumberField("//field3");
@Return(
	@If(
		n > 0, "Positive number",
		// else if
		n < 0, "Negative number",
		// else
		"Zero"
	)
);

@Implode (JavaScript)

テキストリストの複数の要素を 1 つのストリングに結合します。

構文

@Implode(textList:any) : string

@Implode(textList:any, sep:string) : string

パラメータ 説明
textList 結合するテキストリスト。
sep ストリング内の要素を分割するためのセパレータ。デフォルトはスペースです。
戻り値 説明
string 実行結果のストリング。

使用法

リストは配列として操作します。

以下の例では、スペースを要素のセパレータとして使用し、テキストリストを結合しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = new Array("Paris", "Berlin", "London", "Moscow");

var citiesString = @Implode(cities);
p(citiesString); // <<<Paris Berlin London Moscow>>>

以下の例では、カンマとスペースを要素のセパレータとして使用し、テキストリストを結合しています。

function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = new Array("Paris", "Berlin", "London", "Moscow");

var citiesString = @Implode(cities, ", ");
p(citiesString); // <<<Paris, Berlin, London, Moscow>>>

@Integer (JavaScript)

小数点以下の値を切り捨てて整数に変換します。

構文

@Integer(value:double) : double
パラメータ 説明
value 数字、または数字を格納する配列。
戻り値 説明
double 整数に変換された数字、またはその数字を格納する配列。

使用法

スカラパラメータを指定すると、実行結果がスカラ値で生成されます。配列パラメータを指定すると、実行結果が配列形式で生成されます。この場合、実行結果の要素とパラメータ要素が対応します。

小数点を持つ数字を指定してこの関数を実行すると、小数点以下が切り捨てられて整数部分が返されます。 その際、数字の丸め処理 (四捨五入や切り上げなど) は実行されません。

以下の例では、16 個の数字をランダムに取得し、小数点を右方向に 2 桁移動して残りの部分を切り捨てています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

for(var i = 0; i < 16; i++) {
	var r = @Integer(@Random() * 100);
	p(i + " " + r);
}

@IsAvailable (JavaScript)

特定のアイテムが現在の文書内に存在しないことを確認します。

構文

@IsAvailable(name:string) : int
パラメータ 説明
name アイテムの名前。
戻り値 説明
int パラメータで指定されたアイテムが存在する場合は 1、存在しない場合は 0。

以下の例は、element0 のデータが存在する場合にラベルの値を表示します。
if(@IsAvailable("Subject") == @True())
	return "Subject is available"
else
	return "Subject is unavailable"

@IsDocBeingLoaded (JavaScript)

現在の文書がロード中の場合に 1 を返します。

構文

@IsDocBeingLoaded() : int
戻り値 説明
int 文書がロード中の場合は 1。

@IsDocBeingSaved (JavaScript)

現在の文書が保存中の場合に 1 を返します。

構文

@IsDocBeingSaved() : int
戻り値 説明
int 文書が保存中の場合は 1。

@IsError (JavaScript)

指定された値がエラー状態になっているかどうかを確認します。

構文

@IsError(value:any) : int
パラメータ 説明
value 確認する値の名前。
戻り値 説明
int パラメータで指定された値がエラー状態の場合は 1、正常な場合は 0。エラー状態を生成する方法については、@Error (JavaScript) 関数を参照してください。

使用法

定義されていない値や NaN (非数) の場合にも 1 を返します。

以下の例は、特定の場合に @Error() を返す関数を示したものです。ここでは、コードの最初で @Error() をテストしています。
function getfield(fieldname) {
	var n = @GetField(fieldname);
	@Return(@If(n < 0, @Error(), n > 255, @Error(), n));
}

@If(@IsError(getfield("//field3")),
	"Out of range",
	// else
	getfield("//field3"));

@IsMember (JavaScript)

リストにストリングが含まれているかどうかを確認します。

構文

@IsMember(value:any, list:any) : int

@IsMember(value:string, list:any) : int

パラメータ 説明
value ストリング、またはストリングのリスト。ここで指定する値は、大文字と小文字の区別も含め、確認対象のリスト内の要素と正確に一致させる必要があります。
list 確認するリスト。
戻り値 説明
int value パラメータで指定した値が list パラメータに含まれている場合は 1、含まれていない場合は 0。

以下の例では、リスト内に特定のストリングや他のリストが含まれているかどうかをテストしています。1 番目と 3 番目のテストでは true が返され、2 番目と 4 番目のテストでは false が返されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", "London", "Moscow");
var cities1 = new Array("Berlin", "Moscow");
var cities2 = new Array("Berlin", "Vienna");

if(@IsMember("London", cities) == @True()) {
	p("London is member");
} else {
	p("London is not member");
}

if(@IsMember("Vienna", cities) == @True()) {
	p("Vienna is member");
} else {
	p("Vienna is not member");
}

if(@IsMember(cities1, cities) == @True()) {
	p(@Implode(cities1, "-") + " is member");
} else {
	p(@Implode(cities1, "-") + " is not member");
}

if(@IsMember(cities2, cities) == @True()) {
	p(@Implode(cities2, "-") + " is member");
} else {
	p(@Implode(cities2, "-") + " is not member");
}

@IsNewDoc (JavaScript)

現在の文書が新しい文書かどうかを確認します。

構文

@IsNewDoc() : int
戻り値 説明
int 新規文書の場合は 1、既存文書の場合は 0。

使用法

この場合の新規文書とは、まだ保存されていない文書のことです。

以下の例は、ラベルフィールドの式を示したものです。この場合、New document または field1 要素の値のいずれかがラベルになります。
// Formula for computing label_1
var title = "";
if(@IsNewDoc() == 1) title = "New document";
else title = @GetTextField("//field1");
title;

@IsNotMember (JavaScript)

リストにストリングが含まれていないことを確認します。

構文

@IsNotMember(value:any, list:any) : int

@IsNotMember(value:string, list:any) : int

パラメータ 説明
value ストリング、またはストリングのリスト。ここで指定する値は、大文字と小文字の区別も含め、確認対象のリスト内の要素と正確に一致させる必要があります。
list 確認するリスト。
戻り値 説明
int value パラメータで指定した値が list パラメータに含まれていない場合は 1、含まれている場合は 0。この value パラメータはリスト形式であるため、value パラメータのすべての要素が list パラメータに存在しない場合は 1 が返されます。

以下の例では、リスト内に特定のストリングや他のリストが含まれていないことをテストしています。1 番目と 3 番目と 4 番目のテストでは true が返され、2 番目と 5 番目のテストでは false が返されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", "London", "Moscow");
var cities1 = new Array("Berlin", "Moscow");
var cities2 = new Array("Berlin", "Vienna");
var cities3 = new Array("Madrid", "Vienna");

if(@IsNotMember("London", cities) == @True()) {
	p("London is not member");
} else {
	p("London is member");
}

if(@IsNotMember("Vienna", cities) == @True()) {
	p("Vienna is not member");
} else {
	p("Vienna is member");
}

if(@IsNotMember(cities1, cities) == @True()) {
	p(@Implode(cities1, "-") + " is not member");
} else {
	p(@Implode(cities1, "-") + " is member");
}

if(@IsNotMember(cities2, cities) == @True()) {
	p(@Implode(cities2, "-") + " is not member");
} else {
	p(@Implode(cities2, "-") + " is member");
}

if(@IsNotMember(cities3, cities) == @True()) {
	p(@Implode(cities3, "-") + " is not member");
} else {
	p(@Implode(cities3, "-") + " is member");
}

@IsNull (JavaScript)

指定された値が空ストリング (または空ストリングのリスト) であるかどうかを確認します。

構文

@IsNull(value:any) : int
パラメータ 説明
value 確認する値。
戻り値 説明
int パラメータで指定した値が空ストリング (または空ストリングのリスト) の場合は 1、それ以外の場合は 0。

使用法

この関数は、空ストリングを確認するための関数です。 null 値を返すための関数ではありません。

以下の例では、@Null 関数をリスト内に指定して @IsNull 関数で確認しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", @Null(), "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(!@IsNull(cities[i])) p(cities[i]);
}

以下の例では、空ストリングをリスト内に指定して @IsNull 関数で確認しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", "", "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(!@IsNull(cities[i])) p(cities[i]);
}

以下の例では、@Null 関数をリスト内に指定して空ストリングと比較しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", @Null(), "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(cities[i] != "") p(cities[i]);
}

以下の例では、null をリスト内に指定して null と比較しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", null, "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(cities[i] != null) p(cities[i]);
}

@IsNumber (JavaScript)

指定された値が数値であるかどうかを確認します。

構文

@IsNumber(value:any) : boolean
パラメータ 説明
value 確認する値。スカラ値または配列のいずれかを指定することができます。
戻り値 説明
boolean パラメータで指定された値が数値の場合は 1、数値ではない場合は 0。

以下の例では、指定された値が数値、テキスト、日付のいずれであるかを確認しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function printType(value) {
	p(value + " is typeof " + typeof(value));
	if(@IsNumber(value)) p(value + " is number");
		else p(value + " is not number");
	if(@IsText(value)) p(value + " is text");
		else p(value + " is not text");
	if(@IsTime(value)) p(value + " is time");
		else p(value + " is not time");
}

printType("some text");
printType(9.8);
printType(new Number(9.9));
printType("4/1/06 12:01");
printType(new Date(2006, 3, 1, 12, 1));

@IsResponseDoc (JavaScript)

現在の文書が返答文書であるかどうかを確認します。

構文

@IsResponseDoc() : int
戻り値 説明
int パラメータで指定された文書が返答文書の場合は 1、返答文書ではない場合は 0。

以下の例は、ビューの列の式を示したものです。列の文書が返答文書の場合、この文書の ID が列に表示されます。
var docid = "";
if(@IsResponseDoc() == @True())
	docid = @DocID();

@IsText (JavaScript)

指定された値がストリングであるかどうかを確認します。

構文

@IsText(value:any) : int
パラメータ 説明
value 確認する値。スカラ値または配列のいずれかを指定することができます。
戻り値 説明
boolean パラメータで指定された値がストリングの場合は 1、ストリングではない場合は 0。

以下の例では、指定された値が数値、テキスト、日付のいずれであるかを確認しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function printType(value) {
	p(value + " is typeof " + typeof(value));
	if(@IsNumber(value)) p(value + " is number");
		else p(value + " is not number");
	if(@IsText(value)) p(value + " is text");
		else p(value + " is not text");
	if(@IsTime(value)) p(value + " is time");
		else p(value + " is not time");
}

printType("some text");
printType(9.8);
printType(new Number(9.9));
printType("4/1/06 12:01");
printType(new Date(2006, 3, 1, 12, 1));

@IsTime (JavaScript)

指定された値が日付と時刻であるかどうかを確認します。

構文

@IsTime(value:any) : int
パラメータ 説明
value 確認する値。スカラ値または配列のいずれかを指定することができます。
戻り値 説明
boolean パラメータで指定された値が日付と時刻の場合は 1、日付と時刻ではない場合は 0。

以下の例では、指定された値が数値、テキスト、日付のいずれであるかを確認しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function printType(value) {
	p(value + " is typeof " + typeof(value));
	if(@IsNumber(value)) p(value + " is number");
		else p(value + " is not number");
	if(@IsText(value)) p(value + " is text");
		else p(value + " is not text");
	if(@IsTime(value)) p(value + " is time");
		else p(value + " is not time");
}

printType("some text");
printType(9.8);
printType(new Number(9.9));
printType("4/1/06 12:01");
printType(new Date(2006, 3, 1, 12, 1));

@IsUnavailable (JavaScript)

特定のアイテムが現在の文書内に存在しないことを確認します。

構文

@IsUnavailable(name:string) : int
パラメータ 説明
name アイテムの名前。
戻り値 説明
int パラメータで指定されたアイテムが存在しない場合は 1、存在する場合は 0。

以下の例は、element0 のデータが存在する場合にラベルの値を表示します。
if(@IsUnvailable("Subject") == @True())
	return "Subject is unavailable"
else
	return "Subject is available"

@Left (JavaScript)

指定された文字数分の文字をストリングの左端から取得して返します。文字数の代わりにサブストリングが指定されている場合は、そのサブストリングの直前までの文字をストリングの左端から取得して返します。

構文

@Left(value:string, n:int) : string

@Left(value:string, subString:string) : string

パラメータ 説明
value 確認するストリング。
n 文字数。ここで指定された文字数分の文字をストリングの左端から取得します。実数は整数に切り捨てられます。
subString サブストリング。ここで指定されたサブストリングの直前までの文字をストリングの左端から取得します。
戻り値 説明
string 左端から取得された文字。

使用法

この関数は、以下の値を返します。
  • n パラメータの値が対象ストリングの文字数を超えている場合は、ストリング全体を返します。
  • n パラメータの値が負数の場合は、ストリング全体を返します。
  • n パラメータの値が 0 の場合は、空ストリングが返されます。
  • subString パラメータに指定された値が見つからない場合は、空ストリングが返されます。

(1) 以下の例では、指定されたストリングの左端から 5 文字分、右端から 6 文字分を取得して返し、さらに左端から 6 文字目と右端から 7 文字目までの文字を取得して返します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, 5);
var price = @Right(lineitem, 6);
var description = @LeftBack(@RightBack(lineitem, 6), 7);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(2) 以下の例では、指定されたストリングの左端から最初のスペースの直前までの文字と、右端から最後のスペースの直前までの文字を取得して返し、さらに最初のスペースと最後のスペースの間の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, " ");
var price = @RightBack(lineitem, " ");
var description = @LeftBack(@Right(lineitem, " "), " ");
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

@LeftBack (JavaScript)

指定された文字数分の文字をストリングの左端から削除し、残った文字を返します。文字数の代わりにサブストリングが指定されている場合は、そのサブストリングの直前までの文字をストリングの左端から削除し、残った文字を返します。

構文

@LeftBack(value:string, n:int) : string

@LeftBack(value:string, subString:string) : string

パラメータ 説明
value 確認するストリング。
n 文字数。ここで指定された文字数分をストリングの左端から削除し、残った文字を返します。実数は小数点付きの数字に変換されます。
subString サブストリング。ここで指定されたサブストリングをストリングの左端から検索し、最初に見つかったサブストリングの直前までの文字をストリングの左端から削除して、残った文字を返します。
戻り値 説明
string 左端から取得された文字。

使用法

この関数は、以下の値を返します。
  • n パラメータの値が対象ストリングの文字数を超えている場合は、空ストリングを返します。
  • n パラメータの値が負数の場合は、ストリング全体を返します。
  • n パラメータの値が 0 の場合は、ストリング全体を返します。
  • subString パラメータに指定された値が見つからない場合は、空ストリングが返されます。

(1) 以下の例では、指定されたストリングの左端から 5 文字分、右端から 6 文字分を取得して返し、さらに左端から 6 文字目と右端から 7 文字目までの文字を取得して返します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, 5);
var price = @Right(lineitem, 6);
var description = @LeftBack(@RightBack(lineitem, 6), 7);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(2) 以下の例では、指定されたストリングの左端から最初のスペースの直前までの文字と、右端から最後のスペースの直前までの文字を取得して返し、さらに最初のスペースと最後のスペースの間の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, " ");
var price = @RightBack(lineitem, " ");
var description = @LeftBack(@Right(lineitem, " "), " ");
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

@Length (JavaScript)

ストリング内の文字数を返します。

構文

@Length(value:string) : int
パラメータ 説明
value 確認するストリング、または確認するストリングを格納する配列。
戻り値 説明
int パラメータで指定されたストリングの長さ (ストリングが配列に格納されている場合は、各ストリングの長さ)。

使用法

パラメータとしてストリングが指定された場合は、そのストリングの長さが返されます。パラメータとして配列が指定された場合は、各ストリングの長さを格納する配列が返されます。

以下の例では、カンマで区切られた要素を抽出してトリミングするストリングを解析しています。この場合、最初の配列には抽出された要素が格納され、2 番目の配列には各要素の長さが格納されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var mystring = "  cats , trees,  houses, bikes ";

if(@Length(@Trim(mystring)) == 0) { // Make sure string is not empty
	p("No data");
	return;
}
var mylist = new Array();
while(@Contains(mystring, ",") == @True()) {
	mylist.push(@Trim(@Left(mystring, ",")));
	mystring = @Trim(@Right(mystring, ","));
}
mylist.push(@Trim(mystring));
var mylistlen = @Length(mylist); // Create array with token lengths

for(var i = 0; i < mylist.length; i++) {
	p(mylist[i] + " " + mylistlen[i]);
}

@List (JavaScript)

リストを作成します。

構文

@List(values:...) : any
パラメータ 説明
values 任意の種類の 1 つ以上のパラメータ。ここで指定したパラメータが、リスト内の各要素になります。
戻り値 説明
any リスト。

使用法

リストは配列として操作します。

以下の例では、4 つの要素を持つリストを作成しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = @List("Paris", "Berlin", "London", "Moscow");
for(var i = 1; i <= @Count(cities); i++) {
	p(i + " " + @Element(cities, i));
}
/*
<<<1 Paris>>>
<<<2 Berlin>>>
<<<3 London>>>
<<<4 Moscow>>>
*/

@LowerCase (JavaScript)

ストリングを小文字に変換します。

構文

@LowerCase(value:string) : string
パラメータ 説明
value ストリング、またはストリングを格納する配列。
戻り値 説明
string 変換されたストリング、または変換されたストリングを格納する配列。

使用法

この関数を実行すると、ストリング内のアルファベットが大文字から小文字に変換されます。

パラメータとして配列が指定された場合は、変換後のストリングを格納する配列が返されます。

この関数は、大文字と小文字に関係なくストリングを比較する場合に便利です。以下に例を示します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "foo", "Berlin", "Foo", "Moscow");
//var cities = new Array("Paris", "Berlin", "London", "Moscow");

if(@Contains(@LowerCase(cities), "foo") == @True()) {
	for(var i = 0, j = 0; i < cities.length; i++) {
		if(@LowerCase(cities[i]) != "foo") {
			cities[j] = cities[i];
			j++;
		}
	}
	for(; i > j; i--) {
		cities.pop();
	}
}
p(cities);

@Max (JavaScript)

複数の数字から一番大きな値を返します。

構文

@Max(values:...) : double
パラメータ 説明
values 数字、または数字を格納する配列。
戻り値 説明
double 最大値。

使用法

すべてのスカラパラメータと配列パラメータから最大値が検索されます。

以下の例では、16 個の数字をランダムに生成し、その中から最小値と最大値を取得しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var a = new Array();
for(var i = 0; i < 16; i++) {
	a.push(@Random());
}
min = @Min(a);
max = @Max(a);
p("Random numbers " + min + " through " + max);

@Member (JavaScript)

指定された値がストリングリスト内に最初に出現する位置を返します。

構文

@Member(value:string, list:any) : int
パラメータ 説明
value ストリング値。この値は、大文字と小文字の区別も含め、確認するリスト内の要素と正確に一致する必要があります。
list 確認するリスト。
戻り値 説明
int パラメータで指定された値のリスト内での開始位置 (1 から開始)。一致する値がリスト内に見つからない場合は 0 が設定されます。

使用法

リストは配列として操作します。

以下の例では、指定されたメンバーまでのリストのサブセットが作成されます (指定されたメンバーのサブセットも作成されます)。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = @List("Paris", "Berlin", "Moscow", "London");
var city = "Berlin";
var n = @Member(city, cities);
if(n > 0) {
	var citiesSubset = @Subset(cities, n);
	for(var i = 1; i <= @Count(citiesSubset); i++) {
		p(@Element(citiesSubset, i));
	}
} else {
	p(city + " is not listed");
}
/*
<<<Paris>>>
<<<Berlin>>>
*/

@Middle (JavaScript)

指定されたオフセット位置から、指定された文字数分の文字を取得して返します。文字数の代わりにサブストリングが指定されている場合は、そのサブストリングの直前または直後の文字を取得して返します。

構文

@Middle(value:string, offset:int, endString:string) : string

@Middle(value:string, offset:int, len:int) : string

@Middle(value:string, startString:string, endString:string) : string

@Middle(value:string, startString:string, len:int) : string

パラメータ 説明
value 確認するストリング。
offset 先頭の文字からのオフセット。この位置から始まる文字を返します。オフセットに 0 を指定した場合は、ストリングの先頭文字が文字取得の開始位置になります。実数は整数に切り捨てられます。
startString サブストリング。ここで指定されたサブストリングが最初に出現する位置を検出し、そのサブストリングの直後の文字を返します。 空ストリングを指定した場合、ストリングの先頭文字が文字取得の開始位置になります。
len 文字数。ここで指定された文字数分の文字を返します。実数は整数に切り捨てられます。
endString サブストリング。ここで指定されたサブストリングが最初に出現する位置を検出し、そのサブストリングの直前までの文字を返します。空ストリングを指定した場合、ストリングの最終文字が文字取得の終了位置になります。
戻り値 説明
string 取得された文字。

使用法

この関数は、以下の値を返します。
  • offset パラメータの値が対象ストリングの範囲外の場合は、空ストリングを返します。
  • オフセット位置またはサブストリングの開始位置に len パラメータの値を加算した結果が対象ストリングの長さを超える場合は、ストリングの最後までが返されます。
  • len パラメータの値が 0 以下の場合は、空ストリングが返されます。
  • startString パラメータに指定された値が見つからない場合は、空ストリングが返されます。
  • endString パラメータに指定された値が見つからない場合は、空ストリングが返されます。

(1) 以下の例では、ストリングの先頭から最初のスペースまでの文字と、最後のスペースから最終文字までの文字を取得して返し、さらに先頭から 7 番目の文字から最後のスペースの直前までの文字を取得して返します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, 0, " ");
var price = @MiddleBack(lineitem, 0, " ");
var description = @Middle(lineitem, 6, " " + price);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(2) 以下の例では、ストリングの先頭から 5 番目までの文字と最後から 6 番目の文字を取得して返し、さらにこのストリングの長さから 13 を引いた文字数を求め、先頭から 7 番目の文字からこの文字数分の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, 0, 5);
var price = @MiddleBack(lineitem, 0, -6);
var description = @Middle(lineitem, 6, len - 13);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(3) 以下の例では、ストリングの先頭から最初のスペースまでの文字と、最後のスペースから最終文字までの文字を取得して返し、さらに最初のスペースの直後から最後のスペースの直前の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, "", " ");
var price = @MiddleBack(lineitem, "", " ");
var description = @Middle(lineitem, " ", " " + price);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(4) 以下の例では、ストリングの先頭から 5 文字分の文字と最後から 6 文字分の文字を取得して返し、さらにこのストリングの長さから 13 を引いた文字数を求め、最初のスペースの直後からこの文字数分の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, "", 5);
var price = @MiddleBack(lineitem, "", -6);
var description = @Middle(lineitem, " ", len - 13);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

@MiddleBack (JavaScript)

指定されたオフセット位置から、指定された文字数分の文字を逆方向に取得して返します。文字数の代わりにサブストリングが指定されている場合は、そのサブストリングが最後に出現する位置を検出し、そのサブストリングの直前または直後の文字を取得して返します。文字数は負数で指定する必要があります。

構文

@MiddleBack(value:string, offset:int, endString:string) : string

@MiddleBack(value:string, offset:int, len:int) : string

@MiddleBack(value:string, startString:string, endString:string) : string

@MiddleBack(value:string, startString:string, len:int) : string

パラメータ 説明
value 確認するストリング。
offset 最後の文字からのオフセット。この位置から始まる文字を返します。オフセットに 0 を指定した場合は、ストリングの最終文字が文字取得の開始位置になります。実数は整数に切り捨てられます。
startString サブストリング。ここで指定されたサブストリングが最後に出現する位置を検出し、そのサブストリングの直前の文字を逆方向に取得して返します。 空ストリングを指定した場合、ストリングの最終文字が文字取得の開始位置になります。
len 文字数 (負数)。ここで指定された文字数分の文字を返します。実数は整数に切り捨てられます。この値は負数で指定する必要があります。
endString サブストリング。ここで指定されたサブストリングが最後に出現する位置を検出し、そのサブストリングの直後の文字を返します。空ストリングを指定した場合、ストリングの最終文字が文字取得の終了位置になります。
戻り値 説明
string 取得された文字。

使用法

この関数は、以下の値を返します。
  • offset パラメータの値が対象ストリングの範囲外の場合は、空ストリングを返します。
  • オフセット位置またはサブストリングの開始位置に len パラメータの値を加算した結果が対象ストリングの長さを超える場合は、ストリングの最後までが返されます。
  • len パラメータの値が 0 以上の場合は、空ストリングが返されます。
  • startString パラメータに指定された値が見つからない場合は、空ストリングが返されます。
  • endString パラメータに指定された値が見つからない場合は、空ストリングが返されます。

(1) 以下の例では、ストリングの先頭から最初のスペースまでの文字と、最後のスペースから最終文字までの文字を取得して返し、さらに先頭から 7 番目の文字から最後のスペースの直前までの文字を取得して返します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, 0, " ");
var price = @MiddleBack(lineitem, 0, " ");
var description = @Middle(lineitem, 6, " " + price);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(2) 以下の例では、ストリングの先頭から 5 番目までの文字と最後から 6 番目の文字を取得して返し、さらにこのストリングの長さから 13 を引いた文字数を求め、先頭から 7 番目の文字からこの文字数分の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, 0, 5);
var price = @MiddleBack(lineitem, 0, -6);
var description = @Middle(lineitem, 6, len - 13);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(3) 以下の例では、ストリングの先頭から最初のスペースまでの文字と、最後のスペースから最終文字までの文字を取得して返し、さらに最初のスペースの直後から最後のスペースの直前の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, "", " ");
var price = @MiddleBack(lineitem, "", " ");
var description = @Middle(lineitem, " ", " " + price);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(4) 以下の例では、ストリングの先頭から 5 文字分の文字と最後から 6 文字分の文字を取得して返し、さらにこのストリングの長さから 13 を引いた文字数を求め、最初のスペースの直後からこの文字数分の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var len = @Length(lineitem);
var code = @Middle(lineitem, "", 5);
var price = @MiddleBack(lineitem, "", -6);
var description = @Middle(lineitem, " ", len - 13);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

@Min (JavaScript)

複数の数字から一番小さな値を返します。

構文

@Min(values:...) : double
パラメータ 説明
values 数字、または数字を格納する配列。
戻り値 説明
double 最小値。

使用法

すべてのスカラパラメータと配列パラメータから最小値が検索されます。

以下の例では、16 個の数字をランダムに生成し、その中から最小値と最大値を取得しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var a = new Array();
for(var i = 0; i < 16; i++) {
	a.push(@Random());
}
min = @Min(a);
max = @Max(a);
p("Random numbers " + min + " through " + max);

@Minute (JavaScript)

日付と時刻から「分」(時、分、秒の「分」の部分) を抽出して返します。

構文

@Minute(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int 日付と時刻の「分」の部分。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@Modified (JavaScript)

文書が最初に更新された時刻/日付の値を返します。

構文

@Modified() : Date
戻り値 説明
Date 最終更新日時。

以下の例では、現在の文書が更新後 30 日以上経過している場合に OBSOLETE というマークが付けられます。
var s = "ACTIVE";
var xdate = @Adjust(@Modified(), null, null, 30, null, null, null, "[InLocalTime]");
if(@Now() > xdate) s = "OBSOLETE";
return s;

@Modulo (JavaScript)

除算の余りを返します。

構文

@Modulo(value:double, divider:double) : double
パラメータ 説明
value 被除数。
divider 序数。0 を指定すると計算結果が NaN (非数) になるため、0 以外の数を指定する必要があります。
戻り値 説明
double 除算の余り。

使用法

パラメータと戻り値は、配列として指定することができます。対応する要素に従って操作が実行されます。

(1) 以下の例では、@Modulo 関数を使用して、数字が偶数か奇数かを判断しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

for(i = 0; i < 10; i++) {
	if(@Modulo(i, 2) == 0)
		p(i + " is even");
	else
		p(i + " is odd");
}

(2) 以下の例では、@Modulo 関数を使用して、除算の整数部と余りを返しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function intdiv(n, d) {
	var a = new Array();
	n = @Round(n);
	d = @Round(d);
	var m = @Modulo(n, d);
	a.push((n - m) / d);
	a.push(m);
	return(a);
}

var x = intdiv(25, 4);
p("25 / 4 = " + x[0] + " remainder " + x[1]);

@Month (JavaScript)

日付と時刻から「月」(年月日の「月」の部分) を抽出して返します。

構文

@Month(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int 日付と時刻の「月」の部分。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@Name (JavaScript)

階層名のコンポーネントを返します。または、階層名のコンポーネントの書式を再設定します。

構文

@Name(action:string, name:string) : string
パラメータ 説明
action ストリングに対する操作。以下の表を参照してください。
name 階層名。
戻り値 説明
string コンポーネントまたは書式が再設定された名前。

使用法

ストリングに対する操作を以下の表に示します。
アクション 説明
[A] 階層名の ADMD コンポーネント (公衆管理ドメイン名) を返します。
[ABBREVIATE] 階層名からコンポーネントのラベルを削除した略称を返します。この略称を使用すると、画面上の表示スペースを節約してわかりやすい名前を表示することができます。
[ADDRESS821] 元のアドレスの形式が RFC 821 または RFC 822 のどちらであるかに関わらず、インターネットアドレスを RFC 821 アドレス形式の構文に基づくフォーマットで返します。大/小文字は正確に一致させる必要があります。
[C] 階層名の国/地域コンポーネントを返します。
[CANONICALIZE] 略称に欠落しているコンポーネントとそのラベルを追加して、略称を展開します。欠落しているコンポーネントは、Domino ディレクトリからではなく、現在のユーザー ID から取得されます。
[CN] 戻り値:
  • IBM Domino 名の共通名コンポーネント。
  • RFC 821 アドレス形式の構文に基づくフォーマットでのインターネットアドレスのローカル部分。
  • RFC 822 アドレス形式の構文に基づくフォーマットでのインターネットアドレスの Phrase 部分。
[G] 階層名の名前コンポーネント (名前のファーストネーム部分) を返します。
[HIERARCHYONLY] 階層名の CN コンポーネントを削除し、残りのコンポーネントを返します。
[I] 階層名のイニシャルコンポーネントを返します。
[LP] RFC 822 アドレス形式の構文に基づく標準インターネットアドレスのLocalPart を返します。
[O] 階層名の組織コンポーネントを返します。
[OUn] 階層名の指定された組織単位コンポーネントを返します。n には、1 から 4 を指定できます (例えば OU1 など)。 標準形式の名前では、OU コンポーネントには番号がありませんが、OU コンポーネントは右から左へとカウントされます。したがって、最初に出現する OU ラベルは OU1 として扱われ、2 番目の出現は OU2 として扱われます (以下同様に扱われます)。OU は、IBM Domino ではキーワードとして受け入れられません。
[P] 階層名の PRMD コンポーネント (私的管理ドメイン名) を返します。
[PHRASE] RFC 822 アドレス形式の構文に基づく標準インターネットアドレスの Phrase 部分を返します。
[Q] 階層名の世代コンポーネント (「Jr」など) を返します。
[S] 階層名の姓 (ラストネーム) コンポーネントを返します。
[TOAT] IBM Domino フィールド名が指定されている場合、LDAP AttributeType 名を返します。
[TODATATYPE] LDAP Syntax 名が指定されている場合、IBM Domino データ型名を返します。
[TOFIELD] LDAP AttributeType 名が指定されている場合、IBM Domino フィールド名を返します。
[TOFORM] LDAP ObjectClass 名が指定されている場合、IBM Domino フォーム名を返します。
[TOKEYWORD] ネーミングコンポーネントの表示順序を逆にして、スラッシュを円記号に置き換えます (例えば、Country¥Organization¥Organization Unit)。このオプションは、ユーザーの階層名のコンポーネント別に、ビューをカテゴリ化する場合に役立ちます (円記号はビュー内のサブカテゴリを示します)。このオプションは、ユーザー名の共通名の部分を返しません。
[TOOC] IBM Domino フォーム名またはサブフォーム名が指定されている場合、LDAP ObjectClass 名を返します。
[TOSYNTAX] IBM Domino データ型名が指定されている場合、LDAP Syntax 名を返します。

@UserName()CN=Roberta Person/OU=NY/O=Acme を返す場合には、以下が真となります。
これにより、Roberta Person/NY/Acme が返されます。
@Name("[ABBREVIATE]", @UserName())
これにより、Roberta Person が返されます。
@Name("[CN]", @UserName())

@NewLine (JavaScript)

改行文字を返します。

構文

@NewLine() : string
戻り値 説明
string 改行文字。

使用法

改行文字は Unicode 10 です。JavaScript の場合、改行文字は \n でエスケープされます。

以下の例では、ストリング内の改行文字を解析しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

// Create string with newlines
var line1 = "Line one";
var line2 = "Line two";
var line3 = "Line three";
var lines = line1 + "¥n" + line2 + "¥n" + line3;

// Parse string into separate lines
var oneline = "";
while(lines.length > 0) {
	if(@Contains(lines, @NewLine())) {
		oneline = @Left(lines, @NewLine());
		lines = @Right(lines, @NewLine());
	} else {
		oneline = lines;
		lines = "";
	}
	p(oneline);
}

@No (JavaScript)

数字の 0 を返します。

構文

@No() : int
戻り値 説明
int 数字の 0。

使用法

@関数の場合、数字の 1 と 0 はそれぞれ論理値として使用されます (1 は true、0 は false)。論理値の 1 を返す場合は、@True (JavaScript) 関数または @Yes (JavaScript) 関数を使用します。

. 論理値の 0 を返す場合は、@False (JavaScript) 関数または @No (JavaScript) 関数を使用します。

JavaScript の truefalse を @関数の論理値として使用しないでください。

以下の例では、論理値を返す @関数をテストしています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

if(@IsNewDoc() == @No())
	p("Opening old document");
else
	p("Creating new document");

/* Do not do this
if(!@IsNewDoc())
	p("Opening old document");
else
	p("Creating new document");
*/

@Now (JavaScript)

サーバー上の日付と時刻を返します。

構文

@Now() : Date
戻り値 説明
Date サーバー上のタイムゾーンによる現在の日付と時刻。

使用法

この関数は、日付と時刻の両方を返します。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@Null (JavaScript)

空ストリングを返します。

構文

@Null() : any
戻り値 説明
any 空ストリング。

使用法

この関数は、空ストリングを返すための関数です。 null 値を返すための関数ではありません。

(1) 以下の例では、@Null 関数をリスト内に指定して @IsNull 関数で確認しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", @Null(), "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(!@IsNull(cities[i])) p(cities[i]);
}

(2) 以下の例では、空ストリングをリスト内に指定して @IsNull 関数で確認しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", "", "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(!@IsNull(cities[i])) p(cities[i]);
}

(3) 以下の例では、@Null 関数をリスト内に指定して空ストリングと比較しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", @Null(), "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(cities[i] != "") p(cities[i]);
}

(4) 以下の例では、null をリスト内に指定して null と比較しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "Berlin", null, "Moscow", "London");

for(var i = 0; i < cities.length; i++) {
	if(cities[i] != null) p(cities[i]);
}

@ProperCase (JavaScript)

ストリング内の大文字と小文字を適切な形式に変換します。

構文

@ProperCase(value:string) : string
パラメータ 説明
value ストリング、またはストリングを格納する配列。
戻り値 説明
string 変換されたストリング、または変換されたストリングを格納する配列。

使用法

この関数を実行すると、ストリング内の先頭の文字が大文字に変換され、それ以降の文字はすべて小文字に変換されます。

パラメータとして配列が指定された場合は、変換後のストリングを格納する配列が返されます。

以下の例では、リスト内の要素の大文字と小文字を適切な形式に変換しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("PARIS", "BERLIN", "lonDon", "mosCow");

cities = @ProperCase(cities);
for(var i = 0; i < cities.length; i++) {
	p(i + " " + cities[i]);
}
/*
<<<0 Paris>>>
<<<1 Berlin>>>
<<<2 London>>>
<<<3 Moscow>>>
*/

@Random (JavaScript)

0.0 以上 1.0 未満の範囲で乱数を生成して返します。

構文

@Random() : double
戻り値 説明
double ランダムに生成された値。

以下の例では、16 個の数字をランダムに取得し、小数点を右方向に 2 桁移動して残りの部分を切り捨てています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

for(var i = 0; i < 16; i++) {
	var r = @Integer(@Random() * 100);
	p(i + " " + r);
}

@Repeat (JavaScript)

ストリングの操作を繰り返します。

構文

@Repeat(value:string, repeat:int) : string

@Repeat(value:string, repeat:int, maxChar:int) : string

パラメータ 説明
value 繰り返すストリング。
repeat ストリングを繰り返す回数。
maxChar 生成する文字の最大サイズ。
戻り値 説明
string repeat パラメータで指定された回数分の操作が実行された value パラメータのストリング値。実行結果が maxChar パラメータで指定された最大サイズを超える場合は、このサイズに切り捨てられます。

(1) 以下の例では、ハイフン (-) の操作を 16 回繰り返しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var h1 = "+" + @Repeat("-", 16) + "+";
p(h1);
/*
<<<+----------------+>>>
*/

(2) 以下の操作では、アスタリスクとスラッシュの組み合わせ (*/*) の操作を 36 文字分繰り返しています。

function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var h1 = @Repeat("*/*", 80, 36);
p(h1);
/*
<<<*/**/**/**/**/**/**/**/**/**/**/**/*>>>
*/

@Replace (JavaScript)

リスト内のストリングを置き換えます。

構文

@Replace(sourceList:any, fromList:any, toList:any) : any
パラメータ 説明
sourceList 検索するリスト。
fromList 検索ストリングが含まれるリスト。ここで指定する検索ストリングは、大文字と小文字の区別を含め、ソースリスト内の要素と正確に一致する必要があります。
toList 置き換え用のストリングが含まれるリスト。このリストは、検索対象のリストと同じ長さで指定する必要があります。
戻り値 説明
any fromList の要素と sourceList の要素を比較し、一致するストリング要素がある場合は、sourceList の要素を toList の要素で置き換えて返します。

使用法

リストは配列として操作します。

ストリング要素全体を置き換える場合に、この関数を使用します。ストリングの一部を置き換える場合は、@ReplaceSubstring (JavaScript) 関数を使用します。

以下の例では、リスト内のストリングを置き換えています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = @List("Moscow", "London", "Moscow", "Moscow");
var from = @List("Paris", "Berlin", "Moscow", "London");
var to = @List("Ps", "Bn", "Mw", "Ln");
cities = @Replace(cities, from, to);
for(var i = 1; i <= @Count(cities); i++) {
	p(i + " " + @Element(cities, i));
}
/*
<<<1 Mw>>>
<<<2 Ln>>>
<<<3 Mw>>>
<<<4 Mw>>>
*/

@ReplaceSubstring (JavaScript)

リスト内のサブストリングを置き換えます。

構文

@ReplaceSubstring(sourceList:any, fromList:any, fromList:any) : any
パラメータ 説明
sourceList 検索するリスト。
fromList 検索サブストリングが含まれるリスト。ここで指定する検索サブストリングは、大文字と小文字の区別を含め、ソースリスト内の要素と正確に一致する必要があります。
toList 置き換え用のストリングが含まれるリスト。このリストは、検索対象のリストと同じ長さで指定する必要があります。
戻り値 説明
any fromList の要素と sourceList の要素を比較し、一致するサブストリング要素がある場合は、sourceList の要素を toList の要素で置き換えて返します。

使用法

リストは配列として操作します。

ストリング要素の一部を置き換える場合に、この関数を使用します。リストの要素全体を置き換える場合は、@Replace (JavaScript) 関数を使用します。

以下の例では、リスト内のサブストリングを置き換えています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = @List("The town of Moscow",
	"The town of London",
	"The town of Moscow",
	"The town of Moscow");
var from = @List("town");
var to = @List("city");
cities = @ReplaceSubstring(cities, from, to);
for(var i = 1; i <= @Count(cities); i++) {
	p(i + " " + @Element(cities, i));
}
/*
<<<1 The city of Moscow>>>
<<<2 The city of London>>>
<<<3 The city of Moscow>>>
<<<4 The city of Moscow>>>
*/

@ReplicaID (JavaScript)

現在のデータベースのレプリカ ID を返します。

構文

@ReplicaID() : string
戻り値 説明
string 現在のデータベースのレプリカ ID。

使用法

レプリカ ID は、Notes データベースを識別するための ID です。16 桁以内の文字と数字の組み合わせで定義します。同じレプリカ ID が定義されたデータベースは、相互にレプリカ同士の関係になります。

以下の例では、現在のデータベースのレプリカ ID を実行結果として表示しています。
@ReplicaID()

@Return (JavaScript)

呼び出し元の関数またはユーザーインターフェースに制御権を戻します。

構文

@Return(value:any) : void
パラメータ 説明
value 戻り値。パラメータが指定されなかった場合または null 値が指定された場合は、戻り値に空ストリングが設定されます。

使用法

@Return 関数を呼び出し先の関数内に記述すると、制御権が呼び出し元の関数に戻されます。

@Return 関数を最上位階層の関数内に記述すると、制御権がユーザーインターフェースに戻されます。

通常は、@Return 関数を記述する必要はありません。関数の最終ステートメントが実行されると、制御権が自動的に呼び出し元に戻されます。 関数の最終ステートメントに値が記述されている場合は、その値が戻されます。 ただし、@Return 関数や return ステートメントを記述して明示的に制御権を戻しても問題はありません。

(1) 以下の例は、計算結果フィールドの式を示したものです。条件に従って値を返します。
var n = @GetNumberField("//field3");
@If(
	n > 0, @Return("Positive number"),
	// else if
	n < 0, @Return("Negative number"),
	// else
	@Return("Zero")
);

(2) 以下の例のように @Return 関数を記述しなくても、結果は (1) と同じになります。ほとんどの場合、この関数を記述する必要はありません。

var n = @GetNumberField("//field3");
@If(
	n > 0, "Positive number",
	// else if
	n < 0, "Negative number",
	// else
	"Zero"
);

(3) 以下の例では、最後の条件式で空ストリングを返しています。

var n = @GetNumberField("//field3");
@If(
	n > 0, @Return("Positive number"),
	// else if
	n < 0, @Return("Negative number"),
	// else
	@Return()
);

(4) 以下の例では、関数から制御権を呼び出し元に戻す場合を示しています。

function testNumber() {
var n = @GetNumberField("//field3");
@If(
	n > 0, @Return("Positive number"),
	// else if
	n < 0, @Return("Negative number"),
	// else
	@Return("Zero")
);
}

@Return("testNumber = " + testNumber());

@Right (JavaScript)

指定された文字数分の文字をストリングの右端から取得して返します。文字数の代わりにサブストリングが指定されている場合は、そのサブストリングの直後の文字をストリングの右端から取得して返します。

構文

@Right(value:string, n:int) : string

@Right(value:string, subString:string) : string

パラメータ 説明
value 確認するストリング。
n 文字数。ここで指定された文字数分をストリングの右端から取得します。実数は整数に切り捨てられます。
substring サブストリング。ここで指定されたサブストリングの直後の文字をストリングの右端から取得します。
戻り値 説明
string 右端から取得された文字。

使用法

この関数は、以下の値を返します。
  • n パラメータの値が対象ストリングの文字数を超えている場合は、ストリング全体を返します。
  • n パラメータの値が負数の場合は、ストリング全体を返します。
  • n パラメータの値が 0 の場合は、空ストリングが返されます。
  • subString パラメータに指定された値が見つからない場合は、空ストリングが返されます。

(1) 以下の例では、指定されたストリングの左端から 5 文字分、右端から 6 文字分を取得して返し、さらに左端から 6 文字目と右端から 7 文字目までの文字を取得して返します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, 5);
var price = @Right(lineitem, 6);
var description = @LeftBack(@RightBack(lineitem, 6), 7);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(2) 以下の例では、指定されたストリングの左端から最初のスペースの直前までの文字と、右端から最後のスペースの直前までの文字を取得して返し、さらに最初のスペースと最後のスペースの間の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, " ");
var price = @RightBack(lineitem, " ");
var description = @LeftBack(@Right(lineitem, " "), " ");
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

@RightBack (JavaScript)

指定された文字数分の文字をストリングの右端から削除し、残った文字を返します。文字数の代わりにサブストリングが指定されている場合は、そのサブストリングの直後の文字をストリングの右端から削除し、残った文字を返します。

構文

@RightBack(value:string, n:int) : string

@RightBack(value:string, rightBack:string) : string

パラメータ 説明
value 確認するストリング。
n 文字数。ここで指定された文字数分をストリングの右端から削除し、残った文字を返します。実数は小数点付きの数字に変換されます。
rightBack サブストリング。ここで指定されたサブストリングをストリングの右端から検索し、最初に見つかったサブストリングの直後の文字をストリングの右端から削除して、残った文字を返します。
戻り値 説明
string 右端から取得された文字。

使用法

この関数は、以下の値を返します。
  • n パラメータの値が対象ストリングの文字数を超えている場合は、空ストリングを返します。
  • n パラメータの値が負数の場合は、ストリング全体を返します。
  • n パラメータの値が 0 の場合は、ストリング全体を返します。
  • subString パラメータに指定された値が見つからない場合は、空ストリングが返されます。

(1) 以下の例では、指定されたストリングの左端から 5 文字分、右端から 6 文字分を取得して返し、さらに左端から 6 文字目と右端から 7 文字目までの文字を取得して返します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, 5);
var price = @Right(lineitem, 6);
var description = @LeftBack(@RightBack(lineitem, 6), 7);
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

(2) 以下の例では、指定されたストリングの左端から最初のスペースの直前までの文字と、右端から最後のスペースの直前までの文字を取得して返し、さらに最初のスペースと最後のスペースの間の文字を取得して返します。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var lineitem = "Q5212 peaches and cream 001.99";

var code = @Left(lineitem, " ");
var price = @RightBack(lineitem, " ");
var description = @LeftBack(@Right(lineitem, " "), " ");
p("Code = " + code); // Q5212
p("Price = " + price); // 001.99
p("Description = " + description); // peaches and cream

@Round (JavaScript)

数字の丸め処理を実行します。

構文

@Round(value:double) : double

@Round(value:double, factor:double) : double

パラメータ 説明
value 丸め処理を行う数字。
factor 丸め係数。デフォルトは 1 です。
戻り値 説明
double 丸め処理された数字。

使用法

デフォルトの丸め係数である 1 を指定すると、パラメータで指定された数字が整数に変換されます。この丸め係数により、小数点以下の精度が異なります。例えば、丸め処理を行う数字が 654.321 の場合、丸め係数に 0.001 を指定すると結果は 654.321 になります。同様に、丸め係数が 0.01 の場合は 654.320.1 の場合は 654.31 の場合は 65410 の場合は 650100 の場合は 700 になります。

パラメータと戻り値は、配列として指定することができます。対応する要素に従って操作が実行されます。

以下の例では、いくつかの値に対して丸め処理を行っています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var pi = Math.PI;

p("Round 25.1 = " + @Round(25.1)); // 25
p("Round 25.5 = " + @Round(25.5)); //26
p("Pi rounded to 0.001 = " + @Round(pi, 0.001)); // 3.142
p("Round 255 to 100 = " + @Round(255, 100)); // 300

@Second (JavaScript)

日付と時刻から「秒」(時、分、秒の「秒」の部分) を抽出して返します。

構文

@Second(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int 日付と時刻の「秒」の部分。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@Select (JavaScript)

パラメータリストから値を返します。

構文

@Select(position:int, list:...) : string
パラメータ 説明
position リスト内の値の番号。リスト内の最初の値 (list パラメータに指定された最初の値) に対して、開始番号 1 が振られます。
list 任意の値。数に制限はありません。値は配列形式で指定することができます。
戻り値 説明
string リスト内の指定された位置にある値。範囲外の位置が指定された場合は、空ストリングが設定されます。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function getMonth(n) {
	return(@Select(n, "January", "February", "March",
		"April", "May", "June", "July", "August",
		"September", "October", "November", "December"));
}

for(var i = 1; i < 13; i++) {
	p(getMonth(i));
}

@SetField (JavaScript)

現在のページに関連する文書アイテムに値を設定します。

構文

@SetField(name:string, value:any) : void
パラメータ 説明
name 現在の XPage にバインドされている Domino 文書のアイテム名。
value 文書アイテムの新しい値。

使用法

この関数は、新しい値を設定後、この値をレンダリングする現在のページを再ロードします。

以下の例は、requestScope 変数の subject にバインドされている編集ボックスの onBlur イベントを示したものです。 ユーザーが編集ボックスを終了すると、この編集ボックスの値を使用して、XPage に関連する文書の Subject アイテムが設定されます。
@SetField("Subject", requestScope.subject)

@Subset (JavaScript)

リストのサブセットを左から右方向に作成します。

構文

@Subset(list:any, length:int) : any
パラメータ 説明
list リスト。
length 新しいリスト内のメンバーの数。0 は指定できません。負数を指定した場合は正数として処理されます。リストの長さを超える値が指定された場合は、リスト全体が処理されます。
戻り値 説明
any 新規リスト。

使用法

リストは配列として操作します。

以下の例では、指定されたメンバーまでのリストのサブセットが作成されます (指定されたメンバーのサブセットも作成されます)。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = @List("Paris", "Berlin", "Moscow", "London");
var city = "Berlin";
var n = @Member(city, cities);
if(n > 0) {
	var citiesSubset = @Subset(cities, n);
	for(var i = 1; i <= @Count(citiesSubset); i++) {
		p(@Element(citiesSubset, i));
	}
} else {
	p(city + " is not listed");
}
/*
<<<Paris>>>
<<<Berlin>>>
*/

@Success (JavaScript)

1 (true) を返します。

構文

@Success() : int
戻り値 説明
int 1 (true)。

使用法

IBM Notes の場合、この @関数は評価式で使用されますが、 XPage には評価式はありません。

@Sum (JavaScript)

数値の合計を算出します。

構文

@Sum(value:...) : any
パラメータ 説明
value 数字、または数字を格納する配列。複数の値を指定することができます。
戻り値 説明
any 数値の合計値。

使用法

スカラパラメータの値と配列パラメータの要素がすべて合計されます。

(1) 以下の例では、数値を繰り返して合計しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 16;
var s = new Array();
for(var i = 1; i <= n; i++) {
	s.push(i);
}
p("Sum of 1 to " + n + " = " + @Sum(s));

(2) 以下の例では、4 つの数値を合計しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

p("Sum of 1 to 4 = " + @Sum(1, 2, 3, 4));

@Text (JavaScript)

指定された値をストリングに変換します。

構文

@Text(value:any) : string
パラメータ 説明
value ストリングに変換可能な値。
戻り値 説明
string 変換後のストリング。パラメータで指定された値をストリングに変換できない場合は、空ストリングが設定されます。

以下の例では、数値と日付をそれぞれストリングに変換しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = 1/3;
p(@Text(n)); // <<<0.3333333333333333>>>
var d = @Now();
p(@Text(d)); // <<<4/12/06 1:44 PM>>>

@TextToNumber (JavaScript)

ストリングを数値に変換します。

構文

@TextToNumber(value:string) : double
パラメータ 説明
value 整数、小数点、科学表記による数値などを表すストリング。このパラメータに式を指定することはできません。
戻り値 説明
Date 変換後の数値。パラメータで指定されたストリングを数値に変換できない場合は、0 が設定されます。

以下の例では、いくつかのストリングを数値に変換しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var n = "12";
p("text is 12, n is " + @TextToNumber(n)); // <<<text is 12, n is 12>>>
var n = "1.2";
p("text is 1.2, n is " + @TextToNumber(n)); // <<<text is 1.2, n is 1.2>>>
var n = "1.2e-4";
p("text is 1.2e-4, n is " + @TextToNumber(n)); // <<<text is 1.2e-4, n is 0.00012>>>
var n = "5 * 4.1";
p("text is 5 * 4.1, n is " + @TextToNumber(n)); // <<<text is 5 * 4.1, n is 0>>>
var n = "foo";
p("text is foo, n is " + @TextToNumber(n)); // <<<text is foo, n is 0>>>

@TextToTime (JavaScript)

ストリングを日付と時刻に変換します。

構文

@TextToTime(value:string) : Date
パラメータ 説明
value ロケール形式の日付と時刻を表すストリング。
戻り値 説明
Date 変換後の日付と時刻。パラメータで指定されたストリングを日付と時刻に変換できない場合は、空ストリングが設定されます。日付だけ変換されて時刻は変換できない場合 (または時刻が指定されていない場合)、時刻は 0 時間として表示されます。

以下の例では、いくつかのストリングを日付に変換しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

function printDate(d) {
	p("Text = " + d);
	p("Year = " + @Year(@TextToTime(d)));
	p("Month = " + @Month(@TextToTime(d)));
	p("Day = " + @Day(@TextToTime(d)));
	p("Hour = " + @Hour(@TextToTime(d)));
	p("Minute = " + @Minute(@TextToTime(d)));
	p("Second = " + @Second(@TextToTime(d)));
}

printDate("4/1/06");
printDate("04/01/2006");
printDate("04/01/2006 1:05 PM");

@Time (JavaScript)

日付と時刻を作成します。

構文

@Time(date:Date) : Date

@Time(years:int, months:int, days:int, hours:int, minutes:int, seconds:int) : Date

@Time(hours:int, minutes:int, seconds:int) : Date

パラメータ 説明
date 日付と時刻。
years 日付と時刻の「年」。
months 日付と時刻の「月」。
days 日付と時刻の「日」。
hours 日付と時刻の「時」。
minutes 日付と時刻の「分」。
seconds 日付と時刻の「秒」。
戻り値 説明
Date 新しい日付と時刻。

使用法

この関数は、日付と時刻を以下のように処理します。
  • パラメータリストに Date オブジェクトが指定された場合は時刻の部分だけが処理され、日付には 1/1/1900 が設定されます。
  • パラメータリストに時、分、秒が指定された場合はこれらの値がそのまま時刻に設定され、日付には 1/1/1900 が設定されます。
  • パラメータリストに年、月、日、時、分、秒が指定された場合は、これらの値がそのまま日付と時刻に設定されます。

(1) 以下の例では、Date オブジェクトによって日付と時刻を設定しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var now = @Now();
var time1 = @Time(now);
p("Now = " + now);
p("Time = " + time1);p("Now = " + now); // <<<Now = 4/11/06 9:35 AM>>>
p("Date = " + date1); // <<<Time = 1/1/00 9:35 AM>>>

(2) 以下の例では、@Now 関数から月、日と時刻を取得し、年の部分はコード内で直接記述しています。

function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var now = @Now();
var month = @Month(now);
var day = @Day(now);
var hour = @Hour(now);
var minute = @Minute(now);
var second = @Second(now);
var time1 = @Time(1999, month, day, hour, minute, second);
p("Now = " + now);
p("Time = " + time1);
<<<Now = 4/11/06 9:59 AM>>>
<<<Time = 4/11/99 9:59 AM>>>

@Today (JavaScript)

今日の日付を返します。

構文

@Today() : Date
戻り値 説明
Date 今日の日付。

使用法

この関数は日付だけを返します。時刻は 0 時間に設定されます。

以下の例では、@Today 関数を使用して日付を設定し、コード内で直接値を記述して時刻を設定しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Today();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var today = @Date(year, month, day, 13, 30, 0);
p("Today at 1:30PM = " + today.toLocaleString());

@Tomorrow (JavaScript)

明日の日付を返します。

構文

@Tomorrow() : Date
戻り値 説明
Date 明日の日付。

使用法

この関数は日付だけを返します。時刻は 0 時間に設定されます。

以下の例では、@Tomorrow 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間後の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Tomorrow();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var tomorrow = @Date(year, month, day, hour, minute, second);
p("24 hours later = " + tomorrow.toLocaleString());

@Trim (JavaScript)

ストリングの前後のスペースを削除します。

構文

@Trim(value:string) : string
パラメータ 説明
value ストリング、またはストリングを格納する配列。
戻り値 説明
string トリミングされたストリング、またはトリミングされたストリングを格納する配列。

使用法

この関数は、ストリングの前後に指定されたスペースを削除する関数です。ストリング間に指定されたスペースは削除しません。

パラメータとして配列が指定された場合は、トリミングされたストリングを格納する配列が返されます。

以下の例では、配列内の要素とストリングをそれぞれトリミングしています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var citiesArray = new Array("  Paris", "Berlin", "  London", "Moscow  ");
p(@Trim(citiesArray)); // <<<Paris>>>,<<<Berlin>>>,<<<London>>>,<<<Moscow>>>

var cities = "  Paris,   Berlin,    London,   Moscow   ";
p(@Trim(cities)); // <<<Paris,   Berlin,    London,   Moscow>>>

@True (JavaScript)

数字の 1 を返します。

構文

@True() : int
戻り値 説明
int 数字の 1。

使用法

@関数の場合、数字の 1 と 0 はそれぞれ論理値として使用されます (1 は true、0 は false)。論理値の 1 を返す場合は、@True (JavaScript) 関数または @Yes (JavaScript) 関数を使用します。

. 論理値の 0 を返す場合は、@False (JavaScript) 関数または @No (JavaScript) 関数を使用します。

JavaScript の truefalse を @関数の論理値として使用しないでください。

以下の例では、論理値を返す @関数をテストしています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

if(@IsNewDoc() == @True())
	p("Creating new document");
else
	p("Opening old document");

/* Do not do this
if(@IsNewDoc())
	p("Creating new document");
else
	p("Opening old document");
*/

@Unique (JavaScript)

固有のテキスト値をランダムに作成して返します (この場合、パラメータは指定しない)。または、重複する値をリストから削除します (この場合、パラメータを指定する)。

関数名としては同じですが、2 つの異なる機能を実行します。

構文

@Unique() : string

@Unique(list:any) : any

パラメータ 説明
list 重複した値を削除するリスト。
戻り値 説明
string ランダムに生成された固有のテキスト値。
any 重複する値が削除されたリスト。

(1) 以下の例では、16 個の数字をランダムに生成しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

for(var i = 0; i < 16; i++) {
	p(@Unique());
}
/* Typical output - each set of random numbers will be different
<<<1mg6q84zlxj4>>>
<<<nr0c4d9kledc>>>
<<<r99sgrz4nabk>>>
<<<n1m2em3vpjwg>>>
<<<17adehz6fjk74>>>
<<<1x1zziieshk3k>>>
<<<ts3symq0itxc>>>
<<<lcd0v8qx1slc>>>
<<<7szxv67dolj4>>>
<<<1ehmqvydv9m9s>>>
<<<1qgi5shnfjv9c>>>
<<<wexh8es5p0jk>>>
<<<12w43nma5t1xc>>>
<<<m9qzkrkya5fk>>>
<<<51tbn0z73bi8>>>
<<<ne5jfupnojk0>>>
*/

(2) 以下の例では、重複する値をリストから削除しています。

function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = @List("Paris", "Berlin", "Paris", "Moscow",
	"Paris", "London", "Moscow");

cities = @Unique(cities);
for(var i = 1; i <= @Count(cities); i++) {
	p(@Element(cities, i));
}
/*
<<<Paris>>>
<<<Berlin>>>
<<<Moscow>>>
<<<London>>>

*/

@UpperCase (JavaScript)

ストリングを大文字に変換します。

構文

@UpperCase(value:string) : string
パラメータ 説明
value ストリング、またはストリングを格納する配列。
戻り値 説明
string 変換されたストリング、または変換されたストリングを格納する配列。

使用法

この関数を実行すると、ストリング内のアルファベットが小文字から大文字に変換されます。

パラメータとして配列が指定された場合は、変換後のストリングを格納する配列が返されます。

この関数は、大文字と小文字に関係なくストリングを比較する場合に便利です。以下に例を示します。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var cities = new Array("Paris", "foo", "Berlin", "Foo", "Moscow");
//var cities = new Array("Paris", "Berlin", "London", "Moscow");

if(@Contains(@UpperCase(cities), "FOO") == @True()) {
	for(var i = 0, j = 0; i < cities.length; i++) {
		if(@UpperCase(cities[i]) != "FOO") {
			cities[j] = cities[i];
			j++;
		}
	}
	for(; i > j; i--) {
		cities.pop();
	}
}
p(cities);

@UserName (JavaScript)

現在のユーザーの識別名を返します。

構文

@UserName() : string

@UserName(index:int) : string

パラメータ 説明
index バージョン 2.6 では使用できません。
戻り値 説明
string 現在のユーザーの識別名。

使用法

IBM Notes の場合、パラメータに 0 を指定すると基本ユーザー名が返され、1 を指定すると別名が返されます。 XPages の場合、パラメータを指定する必要はありません。 この @関数は、常に基本ユーザー名を返します。

識別名の説明については、@Name (JavaScript) 関数を参照してください。

以下の例では、現在のユーザー名の共通名コンポーネントを返しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var nm = @Name("[CN]", @UserName());
if(@ClientType() == "Web")
	p("Logged in from web: " + nm);
else
	p("Not logged in from web" + nm);

@Weekday (JavaScript)

日曜日を 1 として、曜日を番号で返します。

構文

@WeekDay(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int パラメータで指定された日付と時刻に対応する曜日の番号 (日曜日: 1、月曜日: 2...、土曜日: 7)。

使用法

この関数は、パラメータに指定された日付と時刻から曜日を自動的に計算し、算出された曜日に対応する番号を返します。曜日の番号は、日曜日を 1、月曜日を 2 として、土曜日の 7 まで続きます。

以下の例では、今日の曜日を取得しています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var w = "";
switch(@Weekday(@Today())) {
	case 1 : w = "Sunday"; break;
	case 2 : w = "Monday"; break;
	case 3 : w = "Tuesday"; break;
	case 4 : w = "Wednesday"; break;
	case 5 : w = "Thursday"; break;
	case 6 : w = "Friday"; break;
	case 7 : w = "Saturday"; break;
}
p("Today is " + w + ".");

@Word (JavaScript)

ストリング内の単語を返します。

構文

@Word(value:string, separator:string, n:int) : string
パラメータ 説明
value 確認するストリングまたはストリングリスト。
separator セパレータとして使用する一連の文字。 セパレータ間の文字は単語として処理されます。
n 単語の番号 (1 から開始)。
戻り値 説明
string value パラメータで指定されたストリング内の n 番目の単語。 n パラメータに 0 または負数が指定された場合は、ストリング内の最初の単語を返します。n パラメータの値がストリング内の単語数を超えている場合は、空ストリングを返します。

使用法

value パラメータにストリングの配列が指定された場合、separator パラメータと n パラメータに従って配列内の各要素が処理され、対応する要素を格納する配列が返されます。

以下の例では、カンマとスペースで区切られた単語が設定されたストリングから単語を抽出しています。
function p(stuff) {
	print("<<<" + stuff + ">>>"); 
 }

var cities = "Paris, Berlin, Moscow, London";

var n = 1;
var city = @Word(cities, ", ", n);
while(city != "") {
	p(n + " " + city);
	n++;
	city = @Word(cities, ", ", n);
}/*
<<<1 Paris>>>
<<<2 Berlin>>>
<<<3 Moscow>>>
<<<4 London>>>
*/

@Year (JavaScript)

日付と時刻から「年」(年月日の「年」の部分) を抽出して返します。

構文

@Year(time:Date) : int
パラメータ 説明
time 日付と時刻。
戻り値 説明
int 日付と時刻の「年」の部分。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

@Yes (JavaScript)

数字の 1 を返します。

構文

@Yes() : int
戻り値 説明
int 数字の 1。

使用法

@関数の場合、数字の 1 と 0 はそれぞれ論理値として使用されます (1 は true、0 は false)。論理値の 1 を返す場合は、@True (JavaScript) 関数または @Yes (JavaScript) 関数を使用します。

. 論理値の 0 を返す場合は、@False (JavaScript) 関数または @No (JavaScript) 関数を使用します。

JavaScript の truefalse を @関数の論理値として使用しないでください。

以下の例では、論理値を返す @関数をテストしています。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

if(@IsNewDoc() == @Yes())
	p("Creating new document");
else
	p("Opening old document");

/* Do not do this
if(@IsNewDoc())
	p("Creating new document");
else
	p("Opening old document");
*/

@Yesterday (JavaScript)

昨日の日付を返します。

構文

@Yesterday() : Date
戻り値 説明
Date 昨日の日付。

使用法

この関数は日付だけを返します。時刻は 0 時間に設定されます。

以下の例では、@Yesterday 関数を使用して日付を設定し、@Now 関数を使用して時刻を設定しています。この結果、現在より 24 時間前の日時が設定されます。
function p(stuff) {
	print("<<<" + stuff + ">>>");
}

var date1 = @Yesterday();
var year = @Year(date1);
var month = @Month(date1);
var day = @Day(date1);
var date2 = @Now();
var hour = @Hour(date2);
var minute = @Minute(date2);
var second = @Second(date2);
var yesterday = @Date(year, month, day, hour, minute, second);
p("24 hours ago = " + yesterday.toLocaleString());

暗黙的な変数入力 (JavaScript)

変数をデータ型に関連付けてコードを記述し、コンテンツアシストに指示することができます。

変数を入力するための構文は、以下のとおりです。
variablename:datatype
計算結果フィールドからの次のコードは、dbNotesDatabase オブジェクトであることを暗黙的に指定しています。
var db:NotesDatabase = session.getCurrentDatabase();
return db.getFileName()
暗黙的に指定されたデータ型は、実行時には何も影響を及ぼしません。 コードに db:Foo または db:NotesStream がされていても、db は実行時に NotesDatabase オブジェクトとして処理されます。 session.getCurrentDatabase() の戻り値によって型が判別されます。

データ型の関連付けが指定されていない場合、可能であればコンテンツアシストはコンテキストから型を判別します。 データ型の関連付けが指定されている場合、コンテンツアシストは指定された型を使用します。 ほとんどの場合、コンテンツアシストは関連付けが指定されているかどうかに関係なく、同じように機能します。 データ型の指定により、必要な指示が提供される場合もあります。

注: 関連付けとして正しいデータ型を指定する必要があります。 間違ったデータ型を指定すると、コンテンツアシストはその間違ったデータ型を使用します。

JavaScript への Java の埋め込み

Java コードを JavaScript コードに直接埋め込むことができます。

Java クラス

JavaScript コードから Java クラスにアクセスするには、例えば java.lang.Classjava.util.Random のように、完全修飾名を指定します。 クラスを含むパッケージは、サーバー上で共有ライブラリとして使用できなければなりません。標準 Java パッケージはすべてのサーバーで使用できますが、他のパッケージはインストールする必要があります。

計算結果フィールドの例を以下に示します。この例では、java.utilRandom クラスを呼び出します。

var r = java.util.Random();
r.nextInt();

JavaScript は型がないため、多重定義メソッドに注意してください。例:

class myClass {
   myMethod(int val);
   myMethod(double val);
}

この場合は以下のように、パラメータを、Java 側で正しく解釈されるオブジェクトにする必要があります。

c.myMethod(new java.lang.Double(0.5));

ユーザークラス

IBM Domino または Java パースペクティブを使用して、アプリケーション内でユーザー Java クラスを作成できます。このクラスは、完全修飾名を指定することによって、JavaScript 内で呼び出すことができます。このクラスは、(デフォルトのパッケージではない) パッケージに属する必要があります。

ユーザークラスの作成

IBM Domino パースペクティブで、[コード] > [Java] に移動し、Java クラスを作成および保守します。 Java パースペクティブで、[コード/Java] に移動します。

以下に、アプリケーションに組み込むことが考えられる Java コードの例を記載します。

package pkg1;
public class Class2 {
	public String hello() {
		return "Hello world!";
	}
}

以下の計算結果フィールドは、ユーザークラスの Java 関数を呼び出します。

var mc = new pkg1.Class2();
return mc.hello();

IBM Domino パースペクティブ内の Java 設計要素の使用

IBM Domino パースペクティブの [コード] > [Java] では、ClassInterfaceEnum 要素を新規に作成することができます。これらの要素を作成および保守するには、標準の Eclipse Java エディタを使用します。

Java パースペクティブでは、パッケージが通常のディレクトリとして表示されます。Designer パースペクティブでは、パッケージの後にスラッシュが表示されます。例えば、pkg1 パッケージ内の myClass2.java は、アプリケーションナビゲータでは pkg1/myClass2.java と表示されます。

Java 設計要素を削除すると、そのクラスファイルも同じく削除されます。要素の名前を変更すると、クラスファイルが削除され、すべての要素がリファクタリングされます。

IBM Domino アプリケーションの .classpath には Code¥Java が組み込まれるため、これらの設計要素は自動的にコンパイルされます。クラスファイルはアプリケーション内部に保管されます。その抽出方法は、XPage の場合と同じです。仮想ファイルシステムでは、クラスファイルは .java ファイルとは分けられ、WebContent¥WEB-INF¥classesの下に配置されます。設計文書プロパティでフィールドを調べると (または NotesPeek で調べると)、文書に保管されているクラスアイテムを確認できます。

Java 配列

Java 配列は、事前に宣言または埋め込みを行わずに JavaScript コードに埋め込むことができます。これにより、多次元配列を作成し、それらをパラメータとして、JavaScript コードに組み込まれた Java メソッドに渡すことができます。

多次元配列を作成し、値を取り込んで表示する計算結果フィールドの例を以下に示します。

var a = new int[2][3];
for(var i = 0; i < 2; i++) {
	for(var j = 0; j < 3; j++) {
		a[i][j] = i + j;
	}
}
a[0][0] +  " " + a[1][0] + "¥n" +
a[0][1] +  " " + a[1][1] + "¥n" +
a[0][2] +  " " + a[1][2]

結果として得られる計算結果フィールドには、以下のように表示されます。

0 1
1 2
2 3

JavaScript オブジェクト

JavaScript オブジェクト (新規 Object() で作成された場合) は、Java メソッドの引数として使用されるときは、自動的にプロパティのマップに変換されます。マップとは、名前と値のペアから成るリストを提供する Java インターフェースです。例えば、XML アダプタを呼び出すときに、マップを渡す必要があります。

マップの作成方法の例を以下に示します。

map = new Object();
map.property1 = "Value 1";
map.property2 = "Value 2";
javaMethod( map );

この機能により、JavaScript からのマップの使用が容易になります。次の例は、XML アダプタの呼び出し方法を示します。

function f() {
	obj = new Object();
	obj.property1 = 7934;
	obj.property2 = "Value 2";
	doc = new DOMDocument();
	doc.loadFromXMLAdapter("test",obj,null);
}

パラメータ変換

JavaScript パラメータは、値で渡されます (パラメータとして使用される JavaScript 配列とオブジェクトは Java コードによって変更されません)。

型ごとのパラメータ変換を以下に示します。
JavaScript Java
Boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
Object java.util.Map – すべてのプロパティの名前/値のペアを含む、一時的な HashMap が作成されます。プリミティブ値 (数値、ブール値、ストリング) は java.lang.String に変換され、Java オブジェクトはそのまま残されます。
char java.lang.Character – 変換時に、先頭の文字のみが抽出されます。
undefined 割り当て不可能です。
null 任意の Java オブジェクトとして作成され、Java null 値が割り当てられます。
Date java.util.Date
Array 一時的な Java 配列が適切な型で作成され、JavaScript 配列のすべての値を変換することにより値が入力されます。
ラップされた Java オブジェクト 互換性があり (isAssignableFrom)、変換されずにそのまま渡される、任意の Java オブジェクト。

Java 戻り値は、以下の形で渡されます。

Java JavaScript
void undefined
任意の数値 (プリミティブまたはオブジェクト) number
java.lang.String string
java.util.Date Date
Array 変換されません
その他のオブジェクト ラップされ、そのままの状態で使用されます

JavaScript キーワードと Java メソッド

JavaScript キーワードは、その語が Java で有効であっても、Java 構文で使用することはできません。

例えば、delete は JavaScript キーワードであるため、以下の構文は無効です。
myObject.delete(params)

この場合、回避策としては、以下のようにプロパティ構文を使用してメソッドを呼び出します。

myObject["delete"](params)

シンプルアクション (JavaScript)

シンプルアクションは、事前にプログラミングされたアクティビティを実行しますが、引数を使用して修正できます。

シンプルアクションはページの [イベント] ビューか、コントロールにあります。クライアント用とサーバー用に別々のシンプルアクションセットがあります。

別のページをブラウザにロードするボタンは、最初に [イベント] ビュー内で onclickServerSimple Actions を選択することによって実装されます。 次に Add Action をクリックして、[シンプルアクションの追加] ダイアログボックスを入力します。

シンプルアクションのタイプは、以下のとおりです。
  • Basic
  • コンポーネント
  • 詳細
クライアントのシンプルアクションを次の表に示します。
名前 構文 説明
Execute Client Script executeClientScript ![CDATA[JavaScript]] (Basic) クライアントサイドスクリプトを実行します。
Publish Component Property publishValue name="eventname" value="value" type="type" (Component) コンポーネントイベントを公開します。
Publish View Column publishViewColumn name="eventname" columnName="columnname" type="type" (Component) ビュー列の値をコンポーネントイベントとして公開します。
サーバーのシンプルアクションを次の表に示します。
名前 構文 説明
Change Document Mode changeDocumentMode mode="string" (Document) 現在のページのアクセスモードを変更します。
Confirm Action confirm message="string" (Basic) アクションを確認します。
Create Response Document createResponse name="string" parentID="string" (Document) 返答文書を作成し、それを新規文書として開きます。
Delete Document deleteDocument name="string" message="string" (Document) 現在の文書を削除し、新しいページを開きます。
Delete Selected Documents deleteSelectedDocuments view="string" "message=string" (Document) ビューで選択された文書を削除します。
Execute Script executeScript script=#{javascript:<JavaScript>}

executeScript script=#{xpath:<XPath_expression>}

executeScript script=#{<EL_expression>}
(Basic) スクリプト、XPath 式、EL 式を実行します。
Modify Field modifyField name="string" value="generic" (Document) 現在の文書のフィールドを変更します。
Open Page openPage name="string" target="string" documentId="string" (Basic) 現在のページを置き換えます。
Save Data Sources save "name=string" (Basic) 現在のページのすべてのデータソースを保存し、新しいページを開きます。
Save Document saveDocument (Document) 現在の文書を保存します。
メールの送信 sendMail from="name" to="name" cc="name" bcc="name" subject="string" bodyHtml="string" bodyPlain="string" embeddedFormat="JSON|XML" htmlUrl="string" gadgetUrl="string" <xp:this.eeContext> <xp:parameter name="name" value="string"></xp:parameter> ... </xp:this.eeContext> (Basic) メールの送信メッセージ。
Set Component Mode Action setComponentMode cancel="true" mode="edit" (Component) コンポーネントのモードを変更します。
Set Value setValue binding=javax.faces.el.ValueBinding object value="generic" (Basic) 計算式の値を設定します。

この資料は、以下の製品を参照します。 IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes、 IBM Notes Traveler

文書モードの変更 (シンプルアクション)

現在のページのアクセスモードを変更します。

定義場所

Simple actions

シンプルアクションのタイプ

文書 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
changeDocumentMode mode="string"
引数 説明 UI 表示
mode 以下のいずれかです。
  • toggle
  • readOnly
  • autoEdit
  • edit
オプション [切り替え][読み取りモード][自動編集][編集モード] を持つコンボボックス、ダイヤモンドアイコン。ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

ユーザーは、指定されたモードの権限を持っている必要があります。権限がない場合は、より低いモードになります。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
(1) このボタンは、文書を編集モードに変更します。
<xp:button value="Edit" id="button1" style="width:110.0px">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:changeDocumentMode mode="edit"></xp:changeDocumentMode>
</xp:this.action></xp:eventHandler></xp:button>
(2) このリンクは、編集権限を持つユーザーに対して、文書を編集モードに変更します。編集権限を持たないユーザーの場合、文書は読み取りモードで開きます。
<xp:link id="link1" text="Edit this document">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:changeDocumentMode mode="autoEdit"></xp:changeDocumentMode>
</xp:this.action></xp:eventHandler></xp:link>

アクションの確認 (シンプルアクション)

アクションを確認します。

定義場所

Simple actions

シンプルアクションのタイプ

基本 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
confirm message="string"
引数 説明 UI 表示
message ユーザーに対して表示される確認テキスト。 編集ボックスとダイヤモンドアイコン。ストリングをフィールドに入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

このシンプルアクションは、通常はシンプルアクショングループで使用されます。これは、メッセージと次の 2 つのボタンを含むダイアログボックスをユーザーに表示します。
  • [OK] ボタンをクリックすると、シンプルアクショングループの処理が続行されます。
  • [キャンセル] ボタンをクリックすると、シンプルアクショングループの処理は停止します。

または、同じイベントに関するクライアントスクリプトとサーバースクリプトを作成できます。クライアントスクリプトから true が返されると、サーバースクリプトを実行できます。false が返された場合は即座に終了します。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、新しいページを開く前に確認ダイアログを表示します。
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:actionGroup>
		<xp:confirm message="Do you want to proceed?"></xp:confirm>
		<xp:openPage name="/page1.xsp" target="newDocument"></xp:openPage>
	</xp:actionGroup>
</xp:this.action></xp:eventHandler></xp:button>

返答文書の作成 (シンプルアクション)

返答文書を作成し、それを新規文書として開きます。

定義場所

Simple actions

シンプルアクションのタイプ

文書 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
createResponse name="string" parentID="string"
引数 説明 UI 表示
name 返答文書を表示する、コンポーネント内のページの名前。 既存のコンポーネントページのリスト、およびダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
parentID 返答文書の親文書となる、既存文書の ID。 編集ボックスとダイヤモンドアイコン。フィールドに ID を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、返答文書を作成します。
<xp:button value="Create response document" id="button2"
style="width:141.0px"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:createResponse name="/x1.xsp"
		parentId="#{javascript:requestScope.unid}">
	</xp:createResponse>
</xp:this.action></xp:eventHandler></xp:button>

文書の削除 (シンプルアクション)

現在の文書を削除し、新しいページを開きます。

定義場所

Simple actions

シンプルアクションのタイプ

文書 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
deleteDocument name="string" message="string"
引数 説明 UI 表示
name 現在の文書を削除した後に開くページの名前。 既存のコンポーネントページのリスト、およびダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
message ユーザーに確認メッセージを表示します。 ユーザーが [OK] と応答すると、処理は続行し、[キャンセル] と応答すると、処理は終了します。 編集ボックスとダイヤモンドアイコン。フィールドにメッセージを入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、テキスト「Delete the document?」と [OK] ボタンと [キャンセル] ボタンから成るダイアログを開きます。 ユーザーが [OK] をクリックすると、現在の文書が削除され、現在のページは page1 に置き換わります。
<xp:button value="Delete Document" id="button1" 	style="width:143.0px">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:deleteDocument name="/page1.xsp" 
		message="Delete the document?">
	</xp:deleteDocument>
</xp:this.action></xp:eventHandler></xp:button>

選択された文書の削除 (シンプルアクション)

ビューで選択された文書を削除します。

定義場所

Simple actions

タイプ

文書 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
deleteSelectedDocuments view="string" "message=string"
引数 説明 UI 表示
view ビューの名前。 ページ上のビューのリスト、およびダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
message ユーザーに確認メッセージを表示します。 ユーザーが [OK] と応答すると、処理は続行し、[キャンセル] と応答すると、処理は終了します。 テキストフィールドとダイヤモンドアイコン。フィールドにメッセージを入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、テキスト「Delete selected documents?」と [OK] ボタンと [キャンセル] ボタンを表示します。 ユーザーが [OK] をクリックすると、viewPanel1 ビューで選択された文書が削除されます。
<xp:button value="Delete Selected Documents" id="button3" 	style="width:183.0px">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:deleteSelectedDocuments view="viewPanel1"	message="Delete selected documents?">
	</xp:deleteSelectedDocuments>
</xp:this.action></xp:eventHandler></xp:button>

クライアントスクリプトの実行 (シンプルアクション)

クライアントサイドスクリプトを実行します。

定義場所

Simple actions

タイプ

基本 (クライアント)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
executeClientScript ![CDATA[JavaScript]]
引数 説明 UI 表示
Not shown in XSP. 以下を示します。
  • javascript
オプション [JavaScript (クライアントサイド)] を持つコンボボックス。
JavaScript 有効な JavaScript コード。 スクリプトの入力エリア、および [スクリプトエディタを開く] ボタン。

使用法

JavaScript の作成については、Introduction to the JavaScript and XPages reference を参照してください。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、JavaScript を使用してアラートを出します。
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete" id="eventHandler1">
<xp:this.script>
	<xp:executeClientScript>
		<xp:this.script><![CDATA[window.alert("Hello world!")]]></xp:this.script>
	</xp:executeClientScript>
</xp:this.script>
</xp:eventHandler></xp:button>

スクリプトの実行 (シンプルアクション)

スクリプトまたは EL 式を実行します。

定義場所

Simple actions

タイプ

基本 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
executeScript script=#{javascript:<JavaScript>}
executeScript script=#{<EL_expression>}
引数 説明 UI 表示
script 以下のいずれかです。
  • javascript
  • xpath
  • null (EL の場合)
オプション [JavaScript (サーバーサイド)][式言語 (EL)][カスタム] を持つコンボボックス。
JavaScript 有効な JavaScript コード。 スクリプトの入力エリア、および [スクリプトエディタを開く] ボタン。
EL_expression 有効な EL 式。 式の入力エリア、および [スクリプトエディタを開く] ボタン。

使用法

JavaScript の作成については、Introduction to the JavaScript and XPages reference を参照してください。EL 式の資料については、Web を検索してください。

UI で [カスタム] を指定した場合は、XSP ソースコードを入力し、その際に先頭に # (ポンド記号)、末尾に } (右中括弧) を付けます。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、JavaScript を使用して新規文書を作成します。
<xp:button value="Save" id="button1" style="width:148.0px">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:executeScript><xp:this.script>
		<![CDATA[#{javascript:var doc = database.createDocument(); doc.appendItemValue("Subject", "my subject"); return doc.save()}]]>
	</xp:this.script></xp:executeScript>
</xp:this.action></xp:eventHandler></xp:button>

フィールドの変更 (シンプルアクション)

現在の文書のフィールドを変更します。

定義場所

Simple actions

タイプ

文書 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
modifyField name="string" value="generic"
引数 説明 UI 表示
name 現在の文書のフィールドの名前。 編集ボックスとダイヤモンドアイコン。編集ボックスにフィールド名を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
value フィールドに入力する値。 編集ボックスとダイヤモンドアイコン。編集ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

フィールド名の取得については、getElementById を参照してください。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。

このボタンは、inputText1 編集ボックスの値を green に変更します。

<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:modifyField name="inputText1" value="green"></xp:modifyField>
</xp:this.action>
</xp:eventHandler>
</xp:button>

ページを開く (シンプルアクション)

現在のページを置き換えます。

定義場所

Simple actions

シンプルアクションのタイプ

基本 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
openPage name="string" target="string" documentId="string"
引数 説明 UI 表示
name コンポーネント内のページの名前。置換ページは、ここで指定されたコンポーネントページのフォーマットを採用します。 既存のコンポーネントページのリスト、およびダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
target 置換ページへのデータの取り込みに関するターゲット文書モード。以下のいずれかです。
  • newDocument の場合、ページにデータは取り込まれません。ページは編集できます。
  • openDocument の場合、既存の文書からページにデータが取り込まれます。ページは編集できません。
  • editDocument の場合、既存の文書からページにデータが取り込まれます。ページは編集できます。
以下に示すリスト、およびダイヤモンドアイコン。 リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
  • 新規文書
  • 文書を開く
  • 文書の編集
documentId 既存の文書の ID。openDocument モードと editDocument モードで必須です。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
(1) このボタンは、 page0 のページを [新規文書] モードで開きます。
<xp:button id="button1" value="open new">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:openPage name="/page0.xsp" target="newDocument"></xp:openPage>
</xp:this.action></xp:eventHandler></xp:button>
(2) このボタンは、 page0 のページを [文書を開く] モードで開きます。ID が sessionScope.y の文書によって、ページにデータが取り込まれます。sessionScope 変数を事前に設定しておく必要があります。
<xp:button id="button1" value="open new">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:openPage name="/page0.xsp" target="openDocument" 
	documentId="#{javascript:sessionScope.y}"></xp:openPage>
</xp:this.action></xp:eventHandler></xp:button>
(3) このボタンは、 page0 のページを [文書の編集] モードで開きます。ID が sessionScope.y の文書によって、ページにデータが取り込まれます。sessionScope 変数を事前に設定しておく必要があります。
<xp:button id="button1" value="open new">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:openPage name="/page0.xsp" target="editDocument" 
	documentId="#{javascript:sessionScope.y}"></xp:openPage>
</xp:this.action></xp:eventHandler></xp:button>

コンポーネントプロパティの公開 (シンプルアクション)

コンポーネントイベントを公開します。

定義場所

Simple actions

シンプルアクションのタイプ

コンポーネント (クライアント)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
publishValue name="eventname"	value="value" type="type"
引数 説明 UI 表示
eventname 公開するプロパティのイベント名。 編集ボックスとダイヤモンドアイコン。ストリングをフィールドに入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
value プロパティの値。 編集ボックスとダイヤモンドアイコン。ストリングをフィールドに入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
type プロパティのデータ型 (ストリング (デフォルト)、ブール、数値、 JSON) を指定します。 ドロップダウンリストとダイヤモンドアイコン。値を選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

コンポーネントに関するガイドラインについては、../com.ibm.designer.domino.ui.doc/wpd_compwidget.html を参照してください。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、コンポーネントイベントを公開します。
<xp:button value="Send Frank Adams" id="button2">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="complete">
		<xp:this.script>
			<xp:publishValue name="UserSelected"
				value="CN=Frank Adams/O=renovations" type="string">
			</xp:publishValue>
		</xp:this.script>
	</xp:eventHandler>
</xp:button>

ビュー列の公開 (シンプルアクション)

ビュー列の値をコンポーネントイベントとして公開します。

定義場所

Simple actions

シンプルアクションのタイプ

コンポーネント (クライアント)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
publishViewColumn name="eventname" columnName="columnname" type="type"
引数 説明 UI 表示
eventname 公開するプロパティのイベント名。 編集ボックスとダイヤモンドアイコン。ストリングをフィールドに入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
columnname 列の名前。 編集ボックスとダイヤモンドアイコン。ストリングをフィールドに入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
type プロパティのデータ型 (ストリング (デフォルト)、ブール、数値、 JSON) を指定します。 ドロップダウンリストとダイヤモンドアイコン。値を選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

コンポーネントに関するガイドラインについては、../com.ibm.designer.domino.ui.doc/wpd_compwidget.html を参照してください。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、コンポーネントイベントを公開します。
<xp:viewColumn columnName="City" id="viewColumn4" displayAs="link">
	<xp:viewColumnHeader value="City" id="viewColumnHeader4"
		style="font-weight:bold">
	</xp:viewColumnHeader>
	<xp:eventHandler event="onclick">
		<xp:this.script>
			<xp:publishViewColumn name="UserSelected"
				columnName="EMail">
			</xp:publishViewColumn>
		</xp:this.script>
	</xp:eventHandler>
</xp:viewColumn>

データソースの保存 (シンプルアクション)

現在のページのすべてのデータソースを保存し、新しいページを開きます。

定義場所

Simple actions

シンプルアクションのタイプ

基本 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
save "name=string"
引数 説明 UI 表示
name コンポーネント内のページの名前。置換ページは、ここで指定されたコンポーネントページのフォーマットを採用します。 既存のコンポーネントページのリスト、およびダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

あるページにはデータソースが 1 つあり、そのページ上のパネルには別のデータソースがある場合、このシンプルアクションは両方のデータソースを保存します。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。

以下のページには、データソース、編集ボックス、[データソースの保存] シンプルアクションのボタンがあります。このページにはパネルもあり、そのパネルには、別のデータソースと編集ボックスが含まれます。このボタンは、ページ編集ボックスとパネル編集ボックスの両方の入力データを保存し、ページを page0 に置き換えます。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form0"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.field0}"></xp:inputText>
	<xp:br></xp:br>
	<xp:panel style="height:190.0px">
		<xp:this.data>
			<xp:dominoDocument var="document2" formName="form1"></xp:dominoDocument>
		</xp:this.data>
		<xp:inputText id="inputText2" value="#{document2.field0}"></xp:inputText></xp:panel>
	<xp:button value="Save All" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
		<xp:save name="/page0.xsp"></xp:save>
	</xp:this.action></xp:eventHandler></xp:button></xp:view>

文書の保存 (シンプルアクション)

現在の文書を保存します。

定義場所

Simple actions

タイプ

文書 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
saveDocument

使用法

このシンプルアクションは、文書に関連付けられたデータソースを保存しますが、ページ上の他のデータソース (例えば、パネル用の別のデータソース) は保存しません。Save Data Sources を参照してください。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。

この例には、データソース、編集ボックス、[文書の保存] シンプルアクションのボタンがあります。このページにはパネルもあり、そのパネルには、別のデータソース、編集ボックス、 [文書の保存] シンプルアクションのボタンが含まれます。[文書の保存] アクションは、ページまたはパネルのデータのみを保存します。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

	<xp:this.data>
		<xp:dominoDocument var="document1" formName="form0"></xp:dominoDocument>
	</xp:this.data>
	<xp:inputText id="inputText1" value="#{document1.field0}"></xp:inputText>
	<xp:br></xp:br>
	<xp:panel style="height:190.0px">
		<xp:this.data>
			<xp:dominoDocument var="document2" formName="form1"></xp:dominoDocument>
		</xp:this.data>
		<xp:inputText id="inputText2" value="#{document2.field0}"></xp:inputText>
		<xp:br></xp:br>
		<xp:button value="Save" id="button3"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
		<xp:saveDocument></xp:saveDocument>
	</xp:this.action></xp:eventHandler></xp:button></xp:panel>
	<xp:button value="Save" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
		<xp:saveDocument></xp:saveDocument>
	</xp:this.action></xp:eventHandler></xp:button>
	<xp:button value="Exit" id="button2"><xp:eventHandler event="onclick" submit="true" refreshMode="complete">
	<xp:this.action>
		<xp:openPage name="/page0.xsp" target="newDocument"></xp:openPage>
	</xp:this.action></xp:eventHandler></xp:button></xp:view>

メールの送信 (シンプルアクション)

メールの送信メッセージ。

定義場所

Simple actions

シンプルアクションのタイプ

基本 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
sendMail from="address" to="name" cc="address" bcc="address" subject="string" bodyHtml="string" bodyPlain="string" importance="low|medium|high" deliveryReport="none|onlyonfailure|confirmdelivery|traceentirepath" deliveryPriority="low|medium|high" preventCopying="true|false" markSubjectConfidential="true|false" embeddedFormat="json|xml" htmlUrl="string" gadgetUrl="string"
<xp:this.eeContext>
	<xp:parameter name="name" value="string"></xp:parameter>
	...
</xp:this.eeContext>
引数 説明 UI 表示
from 送信者のアドレスを表示します。デフォルトで現在のユーザーのアドレスになります。このアドレスはメッセージ内の表示項目として表れますが、実際の送信者は現在のユーザーです。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
to 受信者のアドレス。 複数アドレスの場合はカンマで区切ります。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
cc カーボンコピー受信者のアドレス。複数アドレスの場合はカンマで区切ります。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
bcc 隠しカーボンコピー受信者のアドレス。複数アドレスの場合はカンマで区切ります。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
subject メールの件名。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
bodyHtml HTML としてのメールの本文。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
bodyPlain プレーンテキストとしてのメールの本文。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
importance 送信重要度の設定。
  • 標準
リストとダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
deliveryReport 送信レポートの設定。
  • none
  • onlyonfailure
  • confirmdelivery
  • traceentirepath
リストとダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
deliveryPriority 送信優先度の設定。 メッセージが受信者に到達するまでの時間を設定。
  • 標準
リストとダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
preventCopying メッセージの受信者がコピー、印刷、転送、履歴付き返信を行えなくする。
  • true
  • false
リストとダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
markSubjectConfidential 「機密」を件名の先頭に付加。
  • true
  • false
リストとダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
embeddedFormat 埋め込み画面 MIME パートの形式
  • json
  • xml
リストとダイヤモンドアイコン。リストから選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
htmlUrl 埋め込み画面の HTML URL。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
gadgetUrl 埋め込み画面の OpenSocial ガジェット URL。 編集ボックスとダイヤモンドアイコン。ボックスに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。
parameter そのプロパティをサポートするコントロールとデータモデル (リンクコントロールなど) に追加情報を適用するために使用されるパラメータ。 名前と値用の列と、行を追加/削除するためのボタンを含む表。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、スコープ変数にバインドされた入力フォームコントロールを使用して現在のユーザーからのメールメッセージを送信し、現在のユーザーをコピーします。
<xp:button id="button25" value="sendmail">
	<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
		<xp:this.action>
			<xp:sendMail to="#{javascript:return requestScope.to}"
				subject="#{javascript:requestScope.subject}"
				bodyPlain="#{javascript:requestScope.body}"
				cc="#{javascript:@UserName()}">
			</xp:sendMail>
		</xp:this.action>
	</xp:eventHandler>
</xp:button>

コンポーネントモードの設定アクション (シンプルアクション)

コンポーネントのモードを変更します。

定義場所

Simple actions

シンプルアクションのタイプ

コンポーネント (クライアント)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
setComponentMode cancel="true" mode="edit"
引数 説明 UI 表示
cancel [キャンセル] ボタンを使用してモードを変更するかどうかを示します。 ドロップダウンリストとダイヤモンドアイコン。true または false を選択するか、ダイヤモンドをクリックすると、値を動的に計算できます。
mode 新規モード: viewedithelp 編集ボックスとダイヤモンドアイコン。ストリングをフィールドに入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

コンポーネントに関するガイドラインについては、../com.ibm.designer.domino.ui.doc/wpd_compwidget.html を参照してください。

コンポーネントモードは Mashups で使用されます。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、コンポーネントのモードを変更します。
<xp:button value="Label" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" id="eventHandler1">
	<xp:this.action id="this.action2">
		<xp:setComponentMode cancel="true" mode="edit"></xp:setComponentMode>
	</xp:this.action></xp:eventHandler></xp:button>

値の設定 (シンプルアクション)

計算式の値を設定します。

定義場所

Simple actions

シンプルアクションのタイプ

基本 (サーバー)

構文

注: これは XSP ソースコードです。UI では、このシンプルアクションは、各引数のボックスを持つダイアログとして表示されます。
setValue binding=javax.faces.el.ValueBinding object value="generic"
引数 説明 UI 表示
binding 値を設定する対象となるデータを指します。 編集ボックスとダイヤモンドアイコン。フィールドをダブルクリックするか、ダイヤモンドをクリックすると、値を動的に計算できます。
value 設定する値。 編集ボックスとダイヤモンドアイコン。フィールドに値を入力するか、ダイヤモンドをクリックすると、値を動的に計算できます。

使用法

この式は、読み取り専用オブジェクトには使用できません。

注: 以下の例は XSP ソースコードを表しており、このコードは、XML を常に整形式に保つ [ソース] タブの下に挿入できます。UI を使用するには、シンプルアクションダイアログで引数を選択または入力します。
このボタンは、[computed expression] に対して値 green を設定します。
<xp:button value="Set Value" id="button1" style="width:142.0px">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
	<xp:setValue binding=[ce] value="green"></xp:setValue>
</xp:this.action></xp:eventHandler></xp:button>

グローバルオブジェクトとグローバル関数 (JavaScript)

グローバルオブジェクトは、サーバーサイドスクリプトへのエントリポイントを提供します。 グローバルオブジェクトの名前を入力すると、そのグローバルオブジェクトがインスタンス化されます。

サーバーサイドスクリプトでは、グローバルオブジェクトグローバル関数がサポートされます。

グローバルオブジェクト

グローバルオブジェクトを次の表に示します。

グローバルオブジェクト名 説明
applicationScope (JavaScript) アプリケーションの存続期間中はページを超えて値を共有できるようにする com.sun.faces.context.ApplicationMap オブジェクト。
context データベースサーバー、ユーザーブラウザ、その他のオブジェクトにアクセスできるようにする XSPContext オブジェクト。
cookie 現在の要求の Cookie 値から成り、Cookie 名がキーとなっている不変マップを提供する com.sun.faces.context.RequestCookieMap オブジェクト。
currentDocument 現在のコンテキストで最も近くにある文書を表す NotesXspDocument オブジェクト。
database データソースとして現在使用されている IBM Domino データベースを表す com.ibm.domino.xsp.module.nsf.NSFComponentModule$XPagesDatabase オブジェクト。
document1document2 など IBM Domino 文書データソースを表す NotesXspDocument オブジェクト。これらはデフォルトの名前であり、変更されている可能性があります。現在のデータソースにアクセスするには、currentDocument を使用してください。
facesContext 現在の要求のフェースコンテキストインスタンスを表す com.ibm.xsp.domino.context.DominoFacesContext オブジェクト。
header 現在の要求の HTTP ヘッダー値から成り、ヘッダー名がキーとなっている不変マップを提供する com.sun.faces.context.RequestHeaderMap オブジェクト。各ヘッダー名の最初の値のみが含まれます。
headerValues 現在の要求内にある HTTP ヘッダーのすべてのヘッダー値を含むストリング配列から成り、ヘッダー名がキーとなっている不変マップを提供する com.sun.faces.context.RequestHeaderValuesMap オブジェクト。
initParam この Web アプリケーションのコンテキスト初期化パラメータから成る不変マップを提供する com.sun.faces.context.InitParameterMap オブジェクト。
param この要求の要求パラメータから成り、パラメータ名がキーとなっている不変マップを提供する com.sun.faces.context.RequestParameterMap オブジェクト。各パラメータ名の最初の値のみが含まれます。
paramValues 現在の要求内にある要求パラメータのすべてのパラメータ値を含むストリング配列から成り、パラメータ名がキーとなっている不変マップを提供する com.sun.faces.context.RequestParameterValuesMap オブジェクト。
requestScope (JavaScript) 要求の存続期間中はページを超えて値を共有できるようにする com.sun.faces.context.RequestMap オブジェクト。
session ユーザーに基づく資格情報を使用した現在の IBM Domino セッションを表す lotus.domino.local.Session オブジェクト。
sessionAsSigner XPage 署名者に基づく資格情報を使用した現在の IBM Domino セッションを表す lotus.domino.local.Session オブジェクト。
sessionAsSignerWithFullAccess フルアクセス権限を持つ XPage 署名者に基づく資格情報を使用した現在の IBM Domino セッションを表す lotus.domino.local.Session オブジェクト。
sessionScope (JavaScript) セッションの存続期間中はページを超えて値を共有できるようにする com.sun.faces.context.SessionMap オブジェクト。
view 現在のコンポーネントツリーの UI ビュールートを表す com.ibm.xsp.component.UIViewRootEx2 オブジェクト。
view1view2 など IBM Domino ビューデータソースを表す lotus.domino.local.View オブジェクト。名前はユーザーが割り当ているため、異なる場合があります。
viewScope ビュー内で値を共有できるようにする javax.faces.component.UIViewRoot$ViewMap オブジェクト。

グローバル関数

グローバル関数は、サーバーサイドスクリプトから直接呼び出すことができます。グローバル関数を次の表に示します。
グローバル関数名 説明
getClientId(id:string) : string UI コンポーネントのクライアントサイド ID を取得します。
getComponent (グローバルオブジェクトとグローバル関数 - JavaScript)(id:string) : javax.faces.component.UIComponent UI コンポーネントの基本オブジェクトを取得します。
getForm() : javax.faces.component.UIForm ユーザーに表示されるフォームを取得します。
getLabelFor (グローバルオブジェクトとグローバル関数 - JavaScript)(component:javax.faces.component.UIComponent) : javax.faces.component.UIComponent UI コンポーネントに関連付けられたラベルの基本オブジェクトを取得します。
getView() : javax.faces.component.UIViewRoot コンポーネントツリーのルートを取得します。
save() : void 現在の状態を保存します。

この資料は、以下の製品を参照します。 IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes、 IBM Notes Traveler

applicationScope (JavaScript)

アプリケーションの存続期間中は、ページを超えて値を共有することができます。

このグローバルオブジェクトは Java クラス com.sun.faces.context.ApplicationMap に基づいており、このクラスには以下のメソッドが含まれます。
put(p0:java.lang.Object, p1:java.lang.Object) : java.lang.Object
get(p0:java.lang.Object) : java.lang.Object
例えば、あるページ上のボタンに、onClick イベントに関する以下のコードが含まれるとします。
applicationScope.put("hello", "Hello application");
第 2 ページのラベルには、以下の式があるとします。
applicationScope.get("hello");

ユーザーが第 1 ページ上のボタンをクリックして第 2 ページを開くと、ラベルとして Hello application が表示されます。

この値は、アプリケーションが存在する間は持続します。例えば、第 1 ページ上のボタンをクリックし、アプリケーションを閉じて、もう一度アプリケーションを開き、第 2 ページに移動した場合、この値はまだ存在します。

値の名前と値には、任意のオブジェクトを指定できます。例えば、以下の組み合わせを使用できます。
applicationScope.put(1, "Hello application");
applicationScope.get(1);

applicationScope.put("n", 99);
applicationScope.get("n");
値をプロパティのように put および get することもできます。例えば、以下のようにして第 1 ページに値を割り当てることができます。
applicationScope.hello = "Hello application";
第 2 ページでは、以下のようにして値を参照できます。
applicationScope.hello;
applicationScope 変数をコントロールにバインドできます。 データソースの場合は、EL Scopes を選択します。 データバインディングの場合は、applicationScope を選択します。 #{applicationScope.} が表示されます。ピリオドの後に変数の名前を入力してください。例えば、次のようにします。
#{applicationScope.hello}

requestScope (JavaScript)

要求の存続期間中は、ページを超えて値を共有することができます。

このグローバルオブジェクトは Java クラス com.sun.faces.context.RequestMap に基づいており、このクラスには以下のメソッドが含まれます。
put(p0:java.lang.Object, p1:java.lang.Object) : java.lang.Object
get(p0:java.lang.Object) : java.lang.Object
例えば、あるページ上のボタンに、onClick イベントに関する以下のコードが含まれるとします。
requestScope.put("hello", "Hello request");;
context.redirectToPage("page2");
第 2 ページ (page2) のラベルには、以下の式があるとします。
requestScope.get("hello");

ユーザーが第 1 ページ上のボタンをクリックして第 2 ページを開くと、ラベルとして Hello request が表示されます。

この値は、その要求に対してのみ持続します。例えば、onClick コードが requestScope.hello = "Hello request" のみであり、他の何らかの方法で page2 を開いた場合、Hello request はラベルとして表示されません。

値の名前と値には、任意のオブジェクトを指定できます。例えば、以下の組み合わせを使用できます。
requestScope.put(1, "Hello request");
requestScope.get(1);

requestScope.put("n", 99);
requestScope.get("n");
値をプロパティとして割り当てることもできます。例えば、以下のようにして第 1 ページに値を割り当てることができます。
requestScope.hello = "Hello request";
context.redirectToPage("page2");
第 2 ページでは、以下のようにして値を参照できます。
requestScope.hello;
requestScope 変数をコントロールにバインドできます。 データソースの場合は、EL Scopes を選択します。 データバインディングの場合は、requestScope を選択します。 #{requestScope.} が表示されます。ピリオドの後に変数の名前を入力してください。例えば、次のようにします。
#{requestScope.hello}

sessionScope (JavaScript)

セッションの存続期間中は、ページを超えて値を共有することができます。

このグローバルオブジェクトは Java クラス com.sun.faces.context.SessionMap に基づいており、このクラスには以下のメソッドが含まれます。
put(p0:java.lang.Object, p1:java.lang.Object) : java.lang.Object
get(p0:java.lang.Object) : java.lang.Object
例えば、あるページ上のボタンに、onClick イベントに関する以下のコードが含まれるとします。
sessionScope.put("hello", "Hello session");
第 2 ページのラベルには、以下の式があるとします。
sessionScope.get("hello");

ユーザーが第 1 ページ上のボタンをクリックして第 2 ページを開くと、ラベルとして Hello session が表示されます。

この値は、セッションが存在する間は持続します。アプリケーションを閉じると、値は消失します。

値の名前と値には、任意のオブジェクトを指定できます。例えば、以下の組み合わせを使用できます。
sessionScope.put(1, "Hello session");
sessionScope.get(1);

sessionScope.put("n", 99);
sessionScope.get("n");
値をプロパティとして割り当てることもできます。例えば、以下のようにして第 1 ページに値を割り当てることができます。
sessionScope.hello = "Hello session";
第 2 ページでは、以下のようにして値を参照できます。
sessionScope.hello;
sessionScope 変数をコントロールにバインドできます。 データソースの場合は、EL Scopes を選択します。 データバインディングの場合は、sessionScope を選択します。 #{sessionScope.} が表示されます。ピリオドの後に変数の名前を入力してください。例えば、次のようにします。
#{sessionScope.hello}

getComponent (グローバルオブジェクトとグローバル関数 - JavaScript)

UI コンポーネントの基本オブジェクトを取得します。

構文

getComponent(id:string) : javax.faces.component.UIComponent
パラメータ 説明
id UI コントロールの名前。
戻り値 説明
java.faces.component.UIComponent 実際の戻りの型は、UI コントロールによって異なります。 例えば、編集ボックスは com.ibm.xsp.component.xp.XspInputText 型のオブジェクトによって表されます。 一般に、返されるオブジェクトには getValue メソッドと setValue メソッドがあるので、クライアントとの間で送受信された値にアクセスすることができます。

この例では、数値データ用に定義された、inputText1inputText2inputText3 という 3 つの編集ボックスがあります。3 番目の編集ボックスには、以下の onfocus イベントがあります。実行時に最後のボックスをクリックすると、最初の 2 つのボックスの合計がそのボックスに入ります。
getComponent("inputText3").setValue(
 	getComponent("inputText1").getValue() +
 	getComponent("inputText2").getValue())

getLabelFor (グローバルオブジェクトとグローバル関数 - JavaScript)

UI コンポーネントに関連付けられたラベルの基本オブジェクトを取得します。

構文

getLabelFor(component:javax.faces.component.UIComponent) : javax.faces.component.UIComponent
パラメータ 説明
java.faces.component.UIComponent UI コントロール。
戻り値 説明
java.faces.component.UIComponent パラメータに関連付けられたラベルコントロール。

使用法

ラベルをコントロールに関連付けるには、for プロパティを使用します。このプロパティは、UI では [ターゲットコントロールの選択] として表示されます。

ラベルがコントロールに関連付けられていない場合、以下の例外が発生します。com.ibm.xsp.exception.EvaluationExceptionEx: JavaScript 計算式を実行中にエラーが発生しました

この計算結果フィールドには、編集ボックスに関連付けられたラベルの値が表示されます。
try {
	return getLabelFor(getComponent("inputText1")).getValue()
} catch(e) {
	return "No label"
}

DOM (JavaScript)

XML Document Object Model 形式の文書を表します。

この資料は、以下の製品を参照します。 IBM Domino、IBM Domino Designer、IBM Notes、IBM iNotes、 IBM Notes Traveler

DOMAttr (JavaScript)

要素の属性を表します。

定義場所

DOM (JavaScript)

メソッド

このクラスは、DOMNode (JavaScript) のメソッドを継承します。 他のメソッドも同様に継承します。

使用法

Attr オブジェクトは Node インターフェースを継承しますが、オブジェクト内で記述されている要素の実際の子ノードではないため、DOM は Attr オブジェクトを文書ツリーとしては認識しません。そのため、Node 属性の parentNode、previousSibling、nextSibling には、Attr オブジェクトに対して null 値が設定されます。DOM は、属性を要素のプロパティとして認識し、関連する要素とは異なる情報を持つものとしては認識しません。そのため、特定の種類の要素すべてに関連するデフォルト属性などの機能を実装する場合、効率的に実装することができます。また、Attr ノードは DocumentFragment の直下の子ノードではありませんが、DocumentFragment 内の Element ノードに関連付けることができます。 そのため、DOM を使用する場合や実装する場合は、Node インターフェースを継承する他のオブジェクトと Attr ノードにはある程度共通する部分がある一方で、実際には大きく異なっているということに注意する必要があります。

属性の有効な値は、次のように判断します。属性に対して明示的に値が設定されている場合は、この値が属性の有効な値になります。値が明示的に設定されていない場合は、値が宣言されているかどうかを確認します。宣言された値にデフォルト値が指定されている場合は、このデフォルト値が属性の有効な値になります。値が宣言されていない場合やデフォルト値が指定されていない場合は、属性が明示的に追加されるまで、階層モデル内の対象要素上に属性の値は設定されません。また、Attr インスタンスの nodeValue 属性を使用して、属性値をストリング形式で取得することができます。

属性値にエンティティ参照を設定することができる XML の場合、Attr ノードの子ノードを Text ノードか EntityReference ノードのいずれかに指定することができます。ただし、これらのノードが使用中であることが条件になります。詳細については、EntityReference の説明を参照してください。また、DOM Core は属性の種類を認識しないため、DTD やスキーマ内で属性をトークン化された属性として宣言している場合でも、すべての属性値が単純なストリング値として処理されます。

getName (DOMAttr - JavaScript)

属性の名前を取得します。

定義場所

DOMAttr

構文

getName() : string

getOwnerElement (DOMAttr - JavaScript)

属性ノードを追加する要素ノードを取得します。

定義場所

DOMAttr

構文

getOwnerElement() : DOMElement

getSpecified (DOMAttr - JavaScript)

元の文書内の属性に値が明示的に設定されているかどうかを確認します。

定義場所

DOMAttr

構文

getSpecified() : boolean

getValue (DOMAttr - JavaScript)

属性の値を取得します。

定義場所

DOMAttr

構文

getValue() : string

setValue (DOMAttr - JavaScript)

属性の値を設定します。

定義場所

DOMAttr

構文

setValue(value:string) : void
パラメータ 説明
value 属性に対する有効な値。

使用法

このメソッドは、属性に対して値を設定します。 要素に対して値を設定する場合は、DOMElement クラスの setAttributeNode メソッドを使用します。

このボタンは、エレメントの階層を持つ文書を作成し、 エンドノードの属性を設定します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var attr = dom.createAttribute("Owner");
attr.setValue(session.getCommonUserName());
dom.appendChild(schema0);
schema0.appendChild(element0);
element0.setStringValue(requestScope.s);
element0.setAttributeNode(attr);
doc.save()
この文書の XML は、以下のように表示される場合があります。
<schema0>
  <element0 Owner="wpsadmin">foo</element0>
</schema0>

DOMCDATASection (JavaScript)

CDATA セクションを表します。

定義場所

DOM (JavaScript)

メソッド

このクラスは DOMNode (JavaScript)DOMCharacterData (JavaScript)DOMText (JavaScript) の それぞれからメソッドを継承します。

使用法

CDATA セクションはデータ内容を プレーンテキストとして扱い、]]> 以外の マークアップをまったく認識しません。DOMText (JavaScript) と 対比してください。

CDATA セクションはネストできません。

(1) このボタンは、最後のエレメントが CDATA セクションを含む エレメントの階層を持つ文書を作成します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var cdata0 = dom.createCDATASection(requestScope.s);
dom.appendChild(schema0);
schema0.appendChild(element0);
element0.appendChild(cdata0);
doc.save()
requestScope.s<foo> である場合、 この文書の XML は以下のようになります。
<schema0>
  <element0><![CDATA[<foo>]]></element0>
</schema0>
(2) 以下の例は前述の例と同じですが、DOMCharacterData メソッドを 使用してデータ値を設定します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var cdata0 = dom.createCDATASection(null);
dom.appendChild(schema0);
schema0.appendChild(element0);
element0.appendChild(cdata0);
cdata0.setData(requestScope.s);
doc.save()

DOMCharacterData (JavaScript)

文字データにアクセスするためのメソッドを提供します。

定義場所

DOM (JavaScript)

メソッド

このクラスは、DOMNode (JavaScript) のメソッドを継承します。 そのほか、下にリストしたメソッドもあります。

メソッド 説明
appendData(str:string) : void ノード内のデータの末尾にストリングを追加します。
deleteData(offset:int, count:int) : void 16 ビット単位の範囲をノードから削除します。
getData() : string ノードの文字データを取得します。
getLength() : int 使用可能な 16 ビット単位の数を取得します。
insertData(offset:int, str:string) : void 指定された 16 ビット単位オフセットの位置にストリングを挿入します。
replaceData(offset:int, count:int, str:string) : void 指定された 16 ビット単位オフセットの位置から開始する文字列を、 指定されたストリングで置換します。
setData(str:string) : void ノードの文字データを設定します。
substringData(offset:int, count:int) : string ノードからデータの範囲を抽出します。

使用法

CharacterData インターフェースは、DOM の文字データにアクセスするための 属性とメソッドのセットで Node を拡張します。明確化するために、 このセットは、これらの属性とメソッドを使用する各オブジェクトではなく、 ここで定義されています。直接 CharacterData に 対応する DOM オブジェクトはありませんが、Text などは CharacterData から インターフェースを継承します。このインターフェースのオフセットは、 すべて 0 から開始します。

DOMString インターフェースで 説明しているように、DOM のテキストストリングは UTF-16 で (16 ビット単位の シーケンスとして) 表現されます。以後、CharacterData に対する インデックス付けを 16 ビット単位で行うことを示す 必要がある場合には、16 ビット単位という用語を使用します。

appendData (DOMCharacterData - JavaScript)

ノード内のデータの末尾にストリングを追加します。

定義場所

DOMCharacterData

構文

appendData(str:string) : void

deleteData (DOMCharacterData - JavaScript)

16 ビット単位の範囲をノードから削除します。

定義場所

DOMCharacterData

構文

deleteData(offset:int, count:int) : void
パラメータ 説明
offset  
count  

getData (DOMCharacterData - JavaScript)

ノードの文字データを取得します。

定義場所

DOMCharacterData

構文

getData() : string

getLength (DOMCharacterData - JavaScript)

使用可能な 16 ビット単位の数を取得します。

定義場所

DOMCharacterData

構文

getLength() : int

insertData (DOMCharacterData - JavaScript)

指定された 16 ビット単位オフセットの位置にストリングを挿入します。

定義場所

DOMCharacterData

構文

insertData(offset:int, str:string) : void
パラメータ 説明
offset  
str  

replaceData (DOMCharacterData - JavaScript)

指定された 16 ビット単位オフセットの位置から開始する文字列を、 指定されたストリングで置換します。

定義場所

DOMCharacterData

構文

replaceData(offset:int, count:int, str:string) : void
パラメータ 説明
offset  
count  
str  

setData (DOMCharacterData - JavaScript)

ノードの文字データを設定します。

定義場所

DOMCharacterData

構文

setData(str:string) : void

substringData (DOMCharacterData - JavaScript)

ノードからデータの範囲を抽出します。

定義場所

DOMCharacterData

構文

substringData(offset:int, count:int) : string
パラメータ 説明
offset  
count  

DOMComment (JavaScript)

コメントを表します。

定義場所

DOM (JavaScript)

メソッド

このクラスは、DOMNode (JavaScript)DOMCharacterData (JavaScript) のメソッドを継承します。

使用法

指定のテキストを持つコメントノードを作成するには、DOMDocumentcreateComment を 参照してください。

このクラスは独自のメソッドを持ちませんが、 継承したメソッドを使用してテキストとノードを操作できます。

このボタンは、 エレメントとコメントの階層を持つ文書を作成します。
var generic = " comment goes here.";
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var commentd = dom.createComment(generic);
commentd.insertData(0, "DOM");
dom.appendChild(commentd);
dom.appendChild(schema0);
var comments = dom.createComment(generic);
comments.insertData(0, "Schema");
schema0.appendChild(comments);
schema0.appendChild(element0);
element0.setStringValue(requestScope.s);
var commente = dom.createComment(generic);
commente.insertData(0, "Element");
element0.appendChild(commente);
doc.save()
この文書の XML は、以下のように表示される場合があります。
<!--DOM comment goes here.-->
<schema0>
  <!--Schema comment goes here.-->
  <element0>foo
    <!--Element comment goes here.-->
  </element0>
</schema0>

DOMDocument (JavaScript)

文書のルートを表します。

定義場所

DOM (JavaScript)

メソッド

このクラスは DOMNode (JavaScript) の メソッドを継承するほか、他のメソッドも追加されています。

createAttribute (DOMDocument - JavaScript)

属性を作成します。

定義場所

DOMDocument

構文

createAttribute(name:string) : DOMAttr

パラメータ 説明
name 属性の正規の名前。
戻り値 説明
DOMAttr 属性。

使用法

このメソッドは属性の値を設定せず、 エレメントへの割り当ても行いません。例えば、DOMAttrsetValue で 属性値を設定し、DOMElementsetAttributeNode で エレメントに割り当てる必要があります。

このボタンは、エレメントの階層を持つ文書を作成し、 エンドノードの属性を設定します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var attr = dom.createAttribute("Owner");
attr.setValue(session.getCommonUserName());
dom.appendChild(schema0);
schema0.appendChild(element0);
element0.setStringValue(requestScope.s);
element0.setAttributeNode(attr);
doc.save()
この文書の XML は、以下のように表示される場合があります。
<schema0>
  <element0 Owner="wpsadmin">foo</element0>
</schema0>

createAttributeNS (DOMDocument - JavaScript)

指定された名前または修飾名と名前空間 URI の属性を作成します。

定義場所

DOMDocument

構文

createAttributeNS(name:string) : DOMAttr

createAttributeNS(namespaceURI:string, qualifiedName:string) : DOMAttr

パラメータ 説明
name  
namespaceURI  
qualifiedName  

createCDATASection (DOMDocument - JavaScript)

CDATA セクションノードを作成します。

定義場所

DOMDocument

構文

createCDATASection(data:string) : DOMCDATASection
パラメータ 説明
data CDATA セクションのコンテンツ。
戻り値 説明
DOMCDATASection CDATA セクション。

使用法

このメソッドは DOM にノードを配置しません。例えば、DOMNodeappendChild で ノードを追加する必要があります。

このボタンは、最後のエレメントが CDATA セクションを含む エレメントの階層を持つ文書を作成します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var cdata0 = dom.createCDATASection(requestScope.s);
dom.appendChild(schema0);
schema0.appendChild(element0);
element0.appendChild(cdata0);
doc.save()
requestScope.s<foo> である場合、 この文書の XML は以下のようになります。
<schema0>
  <element0><![CDATA[<foo>]]></element0>
</schema0>

createComment (DOMDocument - JavaScript)

コメントノードを作成します。

定義場所

DOMDocument

構文

createComment(data:string) : DOMComment
パラメータ 説明
data コメントのテキスト。
戻り値 説明
DOMComment コメント。

使用法

このメソッドは DOM にノードを配置しません。例えば、DOMNodeappendChild で ノードを追加する必要があります。

このボタンは、 エレメントとコメントの階層を持つ文書を作成します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
dom.appendChild(dom.createComment("DOM comment"));
dom.appendChild(schema0);
schema0.appendChild(dom.createComment("Schema comment"));
schema0.appendChild(element0);
element0.setStringValue(requestScope.s);
element0.appendChild(dom.createComment("Element comment"));
doc.save()
この文書の XML は、以下のように表示される場合があります。
<!--DOM comment-->
<schema0>
  <!--Schema comment-->
  <element0>foo
    <!--Element comment-->
  </element0>
</schema0>

createDocumentFragment (DOMDocument - JavaScript)

空の DOMDocumentFragment オブジェクトを作成します。

定義場所

DOMDocument

構文

createDocumentFragment() : DOMDocumentFragment

createElement (DOMDocument - JavaScript)

指定されたタイプまたは指定された修飾名と名前空間 URI のエレメントを作成します。

定義場所

DOMDocument

構文

createElement(tagName:string) : DOMElement

createElement(namespaceURI, qualifiedName:string) : DOMElement

パラメータ 説明
tagName  
namespaceURI  
qualifiedName  

createEntityReference (DOMDocument - JavaScript)

DOMEntityReference オブジェクトを作成します。

定義場所

DOMDocument

構文

createEntityReference(name:string) : DOMEntityReference

createProcessingInstruction (DOMDocument - JavaScript)

処理命令ノードを作成します。

定義場所

DOMDocument

構文

createProcessingInstruction(target:string, data:string) : DOMProcessingInstruction
パラメータ 説明
target  
data  

createTextNode (DOMDocument - JavaScript)

テキストノードを作成します。

定義場所

DOMDocument

構文

createTextNode(data:string) : DOMText
パラメータ 説明
data テキストノードのコンテンツ。
戻り値 説明
DOMText テキストノード。

使用法

このメソッドは DOM にノードを配置しません。例えば、DOMNodeappendChild で ノードを追加する必要があります。

また、setStringValue (DOMDocument - JavaScript) などで エレメントの値を設定することにより、 テキストノードを作成することもできます。

このボタンは、最後のエレメントがテキストノードを含む エレメントの階層を持つ文書を作成します。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var schema0 = dom.createElement("schema0");
var element0 = dom.createElement("element0");
var text0 = dom.createTextNode(requestScope.s);
dom.appendChild(schema0);
schema0.appendChild(element0);
element0.appendChild(text0);
doc.save()
requestScope.sfoo である場合、XML は以下のようになります。
<schema0>
	<element0>foo</element0>
</schema0>

getBooleanValue (DOMDocument - JavaScript)

XPath に一致する最初のデータエレメントのブール値を取得します。

定義場所

DOMDocument

構文

getBooleanValue(xpath:string) : boolean

getBooleanValue(xpath:string, selectionNS:NamespaceContext) : boolean

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
boolean データエレメントの値。

使用法

このメソッドは DOMElementgetBooleanValue と 同等です。

スキーマでは、 このデータエレメントを boolean と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが String でなければなりません。 値は true または false として 表示されます。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって 指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、b または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		requestScope.b = dom.getBooleanValue("/schema1/element1");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、b または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		requestScope.b = dom.getBooleanValue("/s:schema1/s:element1", ns);
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getBooleanValues (DOMDocument - JavaScript)

XPath に一致するデータエレメントのブール値を取得します。

定義場所

DOMDocument

構文

getBooleanValues(xpath:string) : any

getBooleanValues(xpath:string, selectionNS:NamespaceContext) : any

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
boolean データエレメントの値。

使用法

このメソッドは DOMElementgetBooleanValues と 同等です。

スキーマでは、これらのデータエレメントを boolean と 定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが String でなければなりません。 値は true または false として 表示されます。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって指定された文書から エレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、b または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var b = dom.getBooleanValues("//element1");
		requestScope.b = b.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、b または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		var b = dom.getBooleanValues("//s:element1", ns);
		requestScope.b = b.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getDateValue (DOMDocument - JavaScript)

XPath に一致する最初のデータエレメントの日時値を取得します。

定義場所

DOMDocument

構文

getDateValue(xpath:string) : Date

getDateValue(xpath:string, selectionNS:NamespaceContext) : Date

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
Date データエレメントの値。

使用法

このメソッドは DOMElementgetDateValue と 同等です。

スキーマでは、 このデータエレメントを datetimedateTime と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Date/Time でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって 指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、d または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		requestScope.d = dom.getDateValue("/schema1/element4");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、d または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		requestScope.d = dom.getDateValue("/s:schema1/s:element4", ns);
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getDateValues (DOMDocument - JavaScript)

XPath に一致するデータエレメントの日時値を取得します。

定義場所

DOMDocument

構文

getDateValues(xpath:string) : Date[]

getDateValues(xpath:string, selectionNS:NamespaceContext) : Date[]

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
Date データエレメントの値。

使用法

このメソッドは DOMElementgetDateValues と 同等です。

スキーマでは、 これらのデータエレメントを datetimedateTime と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Date/Time でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって指定された文書から エレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、d または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var d = dom.getDateValues("//element4");
		requestScope.d = d.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、d または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		var d = dom.getDateValues("//s:element4", ns);
		requestScope.d = d.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getDoctype (DOMDocument - JavaScript)

この文書に関連付けられた文書タイプ宣言 (DOMDocumentType を参照) を取得します。

定義場所

DOMDocument

構文

getDoctype() : DOMDocumentType

getDocumentElement (DOMDocument - JavaScript)

文書の最初の子エレメントを取得します。

定義場所

DOMDocument

構文

getDocumentElement() : DOMElement
戻り値 説明
DOMElement 文書の最初の子エレメント。

使用法

概念上、文書の最初の子は DOM のルートエレメントです。

このボタンの onclick イベントは、DOM の第 2 レベルにある 最初の子であるエレメントのストリング値を取得します。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i != null &&
	requestScope.i >= 0 && 
	requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var schema = dom.getDocumentElement();
		var elem = schema.getFirstChild();
		requestScope.y = elem.getStringValue();
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
アクセスする文書の XML が以下のようになっている場合、 サンプルコードを実行すると foo が返されます。
<schema0>
  <element0>foo</element0>
</schema0>

getDoubleValue (DOMDocument - JavaScript)

XPath に一致する最初のデータエレメントの double 値を取得します。

定義場所

DOMDocument

構文

getDoubleValue(xpath:string) : double

getDoubleValue(xpath:string, selectionNS:NamespaceContext) : double

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
double エレメントのデータ値。

使用法

このメソッドは DOMElementgetDoubleValue と 同等です。

スキーマでは、 このデータエレメントを double と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Number でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって 指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、n または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		requestScope.n = dom.getDoubleValue("/schema1/element2");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、n または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		requestScope.n = dom.getDoubleValue("/s:schema1/s:element2", ns);
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getDoubleValues (DOMDocument - JavaScript)

XPath に一致するデータエレメントの double 値を取得します。

定義場所

DOMDocument

構文

getDoubleValues(xpath:string) : double[]

getDoubleValues(xpath:string, selectionNS:NamespaceContext) : double[]

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
double エレメントのデータ値です。

使用法

このメソッドは DOMElementgetDoubleValues と 同等です。

スキーマでは、これらのデータエレメントを double と 定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Number でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって指定された文書から エレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、n または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var n = dom.getDoubleValues("//element2");
		requestScope.n = n.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、n または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		var n = dom.getDoubleValues("//s:element2", ns);
		requestScope.n = n.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getElementById (DOMDocument - JavaScript)

エレメント ID によって指定された ID を持つエレメントを取得します。

定義場所

DOMDocument

構文

getElementById(String elementId) : DOMElement

getElementsByTagName (DOMDocument - JavaScript)

Document ツリーの全探索で検出される順序で、 指定されたタグ名を持つすべてのエレメントのノードリストを取得します。

定義場所

DOMDocument

構文

getElementsByTagName(String tagname) : DOMNodeList

getElementsByTagNameNS (DOMDocument - JavaScript)

Document ツリーの全探索で検出される順序で、 指定されたローカル名と名前空間 URI を持つ すべてのエレメントのノードリストを取得します。

定義場所

DOMDocument

構文

getElementsByTagNameNS(String namespaceURI, String localName) : DOMNodeList

パラメータ 説明
String namespaceURI  
String localName  

getImplementation (DOMDocument - JavaScript)

この文書を処理する DOMImplementation オブジェクト。

定義場所

DOMDocument

構文

getImplementation() : DOMImplementation

getIntValue (DOMDocument - JavaScript)

XPath に一致する最初のデータエレメントの整数値を取得します。

定義場所

DOMDocument

構文

getIntValue(xpath:string) : long

getIntValue(xpath:string, selectionNS:NamespaceContext) : long

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
long データエレメントの値。

使用法

このメソッドは DOMElementgetIntValue と 同等です。

スキーマでは、 このデータエレメントを integer と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Number でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって 指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、m または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		requestScope.m = dom.getIntValue("/schema1/element3");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、名前空間を使用したボタンの onclick イベントの 例です。索引によって 指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、m または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		requestScope.m = dom.getIntValue("/s:schema1/s:element3", ns);
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getIntValues (DOMDocument - JavaScript)

XPath に一致するデータエレメントの整数値を取得します。

定義場所

DOMDocument

構文

getIntValues(xpath:string) : long[]

getIntValues(xpath:string, selectionNS:NamespaceContext) : long[]

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
long データエレメントの値。

使用法

このメソッドは DOMElementgetIntValues と 同等です。

スキーマでは、これらのデータエレメントを integer と 定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Number でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって指定された文書から エレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、m または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var m = dom.getIntValues("//element3");
		requestScope.m = m.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、m または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		var m = dom.getStringValues("//s:element3", ns);
		requestScope.m = m.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getStringValue (DOMDocument - JavaScript)

XPath に一致する最初のデータエレメントのストリング値を取得します。

定義場所

DOMDocument

構文

getStringValue(xpath:string) : string

getStringValue(xpath:string, selectionNS:NamespaceContext) : string

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
string エレメントのデータ値。

使用法

このメソッドは DOMElementgetStringValue と 同等です。

スキーマでは、 このデータエレメントを string と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが String でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって 指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、s または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		requestScope.s = dom.getStringValue("/schema1/element0");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、s または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		requestScope.s = dom.getStringValue("/s:schema1/s:element0", ns);
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getStringValues (DOMDocument - JavaScript)

XPath に一致するデータエレメントのストリング値を取得します。

定義場所

DOMDocument

構文

getStringValues(xpath:string) : string[]

getStringValues(xpath:string, selectionNS:NamespaceContext) : string[]

パラメータ 説明
xpath 文書に関連付けられたエレメントの XPath です。
selectionNS namespace コンテキストです。
戻り値 説明
string[] エレメントのデータ値です。

使用法

このメソッドは DOMElementgetStringValue と 同等です。

スキーマでは、これらのデータエレメントを string と 定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが String でなければなりません。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 2 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 2 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。索引によって指定された文書から エレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、s または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var s = dom.getStringValues("//element0");
		requestScope.s = s.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}
(2) これは、ボタンの onclick イベントの例です。名前空間を使用して、 索引によって指定された文書からエレメントを取得します。requestScope 変数がページの 編集ボックスにバインドされているため、ユーザーが i を指定してからボタンを クリックすると、s または msg が返されます。
var dc = database.getAllDocuments();
if(dc.getDocumentCount() > 0) {
	if(requestScope.i >= 0 && requestScope.i < dc.getDocumentCount()) {
		var ar = dc.getDocumentArray(requestScope.i + 1);
		var doc = ar[i];
		var dom = doc.getDOM();
		var ns = new NamespaceContextImpl();
		ns.addNamespace("s", "http://mynamespace.com");
		var s = dom.getStringValues("//s:element0", ns);
		requestScope.s = s.join(", ");
	} else {
		requestScope.msg = "No such document";
	}
} else {
	requestScope.msg = "No documents in database";
}

getXMLString (DOMDocument - JavaScript)

Document Object Model によって表される XML を取得します。

定義場所

DOMDocument

構文

getXMLString() : string

getXMLString(compact:boolean) : string

getXMLString(compact:boolean, xmldecl:boolean) : string

パラメータ 説明
compact XML を圧縮する場合は true。
xmldecl XML 宣言を保持する場合は true。
戻り値 説明
string XML 形式の文書。

このボタンは、requestScope.n によって 指定された現在のデータベースにある文書を取得し、requestScope.y に 格納します。requestScope 変数は フィールドにバインドされています。コメント化した行は、 別の呼び出しを示しています。
if (requestScope.n != null
	&& requestScope.n < database.getDocumentCount()
	&& requestScope.n >= 0) {
	var dc = database.getAllDocuments();
	var doc = dc.getDocumentArray()[requestScope.n];
	var dom = doc.getDOM();
	requestScope.s = dom.getStringValue("/schema0/element0");
	requestScope.y = dom.getXMLString();
//	requestScope.y = dom.getXMLString(false, true);
//	requestScope.y = dom.getXMLString(true);
//	requestScope.y = dom.getXMLString(true, true);
}
requestScope.y が複数行編集ボックスに バインドされている場合の dom.getXMLString() の出力を示します。
<schema0>
  <element0>Content of element.</element0>
</schema0>
requestScope.y が複数行編集ボックスに バインドされている場合の dom.getXMLString(false, true) の出力を示します。
<?xml version="1.0" encoding="UTF-8"?>
<schema0>
  <element0>Content of element.</element0>
</schema0>
requestScope.y が複数行編集ボックスに バインドされている場合の dom.getXMLString(true) の 出力を示します。
<schema0><element0>Content of element.</element0></schema0>
requestScope.y が複数行編集ボックスに バインドされている場合の dom.getXMLString(true, true) の 出力を示します。
<?xml version="1.0" encoding="UTF-8"?>
<schema0><element0>doc1</element0></schema0>

importNode (DOMDocument - JavaScript)

別の文書のノードをこの文書にインポートします。

定義場所

DOMDocument

構文

importNode(Node importedNode, boolean deep) : DOMNode

nodes (DOMDocument - JavaScript)

XPath に一致するすべてのエレメントと属性を取得するか、 名前空間を使用して XPath に一致するすべてのエレメントと属性を取得します。

定義場所

DOMDocument

構文

node(xpath:string) : any[]

node(xpath:string, selectionNS:NamespaceContext) : any[]

popXPathContext (DOMDocument - JavaScript)

XPath コンテキストを 1 レベル分ポップします。

定義場所

DOMDocument

構文

popXPathContext() : void

pushXPathContext (DOMDocument - JavaScript)

XPath コンテキストを 1 レベル分プッシュします。

定義場所

DOMDocument

構文

pushXPathContext(xpathContext:string) : void

setBooleanValue (DOMDocument - JavaScript)

エレメントのブール値を設定します。

定義場所

DOMDocument

構文

setBooleanValue(xpath:string, value:boolean) : void

setBooleanValue(xpath:string, value:boolean, selectionNS:NamespaceContext) : void

パラメータ 説明
xpath 文書内のエレメントの XPath です。
value 設定する値です。
selectionNS namespace コンテキストです。

使用法

このメソッドは、DOMElementsetBooleanValue の XPath シグニチャと 同等です。

スキーマでは、 このデータエレメントを boolean と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが String でなければなりません。 値は true または false として 表示されます。

このメソッドは、XPath 指定に合致するエレメントの階層を 生成します。例えば、setBooleanValue("/schema0/element0", true) と指定すると以下の XML が生成されます。
<schema0>
  <element0>true</element0>
</schema0>

このメソッドは、下位ノードを含むすべての内容を置き換えます。このメソッドを呼び出す前ではなく、呼び出した後に下位ノードを付加します。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 3 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 3 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。この例では、文書を作成し、値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは b を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
if(requestScope.b.toLowerCase() == "true")
	dom.setBooleanValue("/schema1/element1", true);
else
	dom.setBooleanValue("/schema1/element1", false);
doc.save()
(2) これは、ボタンの onclick イベントの例です。文書を作成し、 名前空間を使用して値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは b を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var ns = new NamespaceContextImpl();
ns.addNamespace("s", "http://mynamespace.com");
if(requestScope.b.toLowerCase() == "true")
	dom.setBooleanValue("/s:schema1/s:element1", true, ns);
else
 	dom.setBooleanValue("/s:schema1/s:element1", false, ns);
doc.save()

setDateValue (DOMDocument - JavaScript)

エレメントの日時値を設定します。

定義場所

DOMDocument

構文

setDateValue(xpath:string, value:Date) : void

setDateValue(xpath:string, value:Date, selectionNS:NamespaceContext) : void

パラメータ 説明
xpath 文書内のエレメントの XPath です。
value 設定する値です。
selectionNS namespace コンテキストです。

使用法

このメソッドは、DOMElementsetDateValue の XPath シグニチャと 同等です。

スキーマでは、 このデータエレメントを datetimedateTime と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Date/Time でなければなりません。

このメソッドは、XPath 指定に合致するエレメントの階層を 生成します。例えば、setDateValue("/schema0/element0", new Date(2007, 2, 1)) と指定すると以下の XML が生成されます。
<schema0>
  <element0>2007-03-01T00:00:00-05:00</element0>
</schema0>

このメソッドは、下位ノードを含むすべての内容を置き換えます。このメソッドを呼び出す前ではなく、呼び出した後に下位ノードを付加します。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 3 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 3 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。この例では、文書を作成し、値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは d を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
dom.setDateValue("/schema1/element4", requestScope.d);
doc.save()
(2) これは、ボタンの onclick イベントの例です。文書を作成し、 名前空間を使用して値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは d を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var ns = new NamespaceContextImpl();
ns.addNamespace("s", "http://mynamespace.com");
dom.setDateValue("/s:schema1/s:element4", requestScope.d, ns);
doc.save()

setDoubleValue (DOMDocument - JavaScript)

エレメントの double 値を設定します。

定義場所

DOMDocument

構文

setDoubleValue(xpath:string, value:double) : void

setDoubleValue(xpath:string, value:double, selectionNS:NamespaceContext) : void

パラメータ 説明
xpath 文書内のエレメントの XPath です。
value 設定する値です。
selectionNS namespace コンテキストです。

使用法

このメソッドは、DOMElementsetDoubleValue の XPath シグニチャと 同等です。

スキーマでは、 このデータエレメントを double と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Number でなければなりません。

このメソッドは、XPath 指定に合致するエレメントの階層を 生成します。例えば、setDoubleValue("/schema1/element0", 55.55) と指定すると以下の XML が生成されます。
<schema0>
  <element0>55.55</element0>
</schema0>

このメソッドは、下位ノードを含むすべての内容を置き換えます。このメソッドを呼び出す前ではなく、呼び出した後に下位ノードを付加します。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 3 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 3 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。この例では、文書を作成し、値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは n を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
dom.setDoubleValue("/schema1/element2", requestScope.n);
doc.save()
(2) これは、ボタンの onclick イベントの例です。文書を作成し、 名前空間を使用して値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは n を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var ns = new NamespaceContextImpl();
ns.addNamespace("s", "http://mynamespace.com");
dom.setDoubleValue("/s:schema1/s:element3", requestScope.n, ns);
doc.save()

setIntValue (DOMDocument - JavaScript)

エレメントの整数値を設定します。

定義場所

DOMDocument

構文

setIntValue(xpath:string, value:long) : void

setIntValue(xpath:string, value:long, selectionNS:NamespaceContext) : void

パラメータ 説明
xpath 文書内のエレメントの XPath です。
value 設定する値です。
selectionNS namespace コンテキストです。

使用法

このメソッドは、DOMElementsetIntValue の XPath シグニチャと 同等です。

スキーマでは、 このデータエレメントを integer と定義する必要があります。データプロパティでは、 関連あるフィールドの表示タイプが Number でなければなりません。

このメソッドは、XPath 指定に合致するエレメントの階層を 生成します。例えば、setIntValue("/schema1/element0", 5555) と指定すると以下の XML が生成されます。
<schema0>
  <element0>5555</element0>
</schema0>

このメソッドは、下位ノードを含むすべての内容を置き換えます。このメソッドを呼び出す前ではなく、呼び出した後に下位ノードを付加します。

XPath が名前空間プレフィックスを含む場合は、 以下のいずれかに従ってください。
  • 第 3 パラメータで名前空間を定義し、 最初に新規の DOMNamespaceContextImpl オブジェクトを 作成してから addNamespace で 名前空間を追加する。
  • setSelectionNamespaces で名前空間を定義してから、 第 3 パラメータを指定せずにこのメソッドを使用する。

(1) これは、ボタンの onclick イベントの例です。この例では、文書を作成し、値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは m を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
dom.setIntValue("/schema1/element3", requestScope.m);
doc.save()
(2) これは、ボタンの onclick イベントの例です。文書を作成し、 名前空間を使用して値を設定します。requestScope 変数が ページの編集ボックスにバインドされているため、 ユーザーは m を指定してからボタンをクリックします。
var doc = database.createNewDocument();
var dom = doc.getDOM();
var ns = new NamespaceContextImpl();
ns.addNamespace("s", "http://mynamespace.com");
dom.setIntValue("/s:schema1/s:element3", requestScope.m, ns);
doc.save()

setSelectionNamespaces (DOMDocument - JavaScript)

XPath 指定で使用する名前空間を設定します。

定義場所

DOMDocument

構文

setSelectionNamespaces(selectionNS:NamespaceContext) : void

パラメータ 説明
selectionNS namespace コンテキストです。

使用法

名前空間を作成するには、DOMNamespaceContextImpladdNamespace を 参照してください。

このメソッドは、 名前空間プレフィックスを含む XPath 指定で、 以下のメソッドに対する名前空間を設定します。