特定の文字列をあらかじめ定義した辞書(MAPファイル)に基づいて置換します。
<pattern>
、<that>
ブロック内では、<map>
タグに指定したMAPファイル名(拡張子を除く)に登録している置換前の文字列にマッチングします。マッチした文字列は該当する値で置換され、<star>
タグで置換後の値を取得できます。
対応表の登録例や登録方法はこちらを参照してください。
xAIML
1 2 3 4 5 6 |
<category> <pattern><map>fruits</map>の日本語は?</pattern> <template> <star />です。 </template> </category> |
辞書(fruits.map)
1 2 3 4 5 6 |
アップル りんご ストロベリー いちご |
実行結果
1 2 |
user > アップルの日本語は? bot > りんごです。 |
属性
名称 | 型 | 必須 | デフォルト | 説明 |
---|---|---|---|---|
name |
string |
※ | – | 利用するMAPファイル名を拡張子を除いて記述します。 ※子要素 <name> を指定しない場合、この属性が必須となります。 |
name
name
属性には利用するMAPファイル名を拡張子を除いて記述します。
ご注意
name
属性は<template>
ブロック内で<map>
タグを使用する場合のみ、指定できます。
Example
xAIML
1 2 3 4 5 6 |
<category> <pattern>置換</pattern> <template> <map name="fruits">ストロベリー</map><br /> <!-- 「いちご」が出力されます。 --> </template> </category> |
子要素
名称 | 必須 | 説明 |
---|---|---|
name |
– | 利用するMAPファイル名を拡張子を除いて指定します。 |
name
利用するMAPファイル名を拡張子を除いて指定します。
MAPファイル名が動的に変わる場合など、name
属性では対処できない場合に使用します。
このタグで使用できる子要素は、<template>
タグと同様です。
ご注意
<pattern>
タグ内で<map>
タグを使用する場合、<name>タグは使用できません。
Example
1 2 3 4 5 6 |
<category> <pattern>置換</pattern> <template> <map><name>fruits</name>ストロベリー</map> <!-- 「いちご」が出力されます。 --> </template> </category> |