@Abstract (JavaScript)

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

定義場所

@Functions (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