set(template内)

Predicateに値を記録し、その内容を出力します。
一般的に、このタグの出力は使用しないことが多いため、<think>タグ内に記述します。
また、Predicateの値を初期化する場合は空要素としてください。

記録したPredicateは明示的に初期化しない限り、いつでも<get>タグで出力できます。この性質のPredicateを不揮発性Predicateと呼びます。

ご注意
  • システムPredicateおよび以下のプレフィックスで始まるPredicate名は、<set>タグで使用できません。
    これらのPredicateはシステムにより自動的に設定されます。
    「_ext_」「_client_」「_sraix_」「_namelister_」「_task_」
  • Predicate名は大文字(例:Apple)と小文字(例:apple)の区別をしていません。
  • <topic>に使用できる文字数は全角・半角問わず100文字までです。
  • AIMLのインデントはタブ文字の利用を推奨いたします。
    インデントにタブ文字ではなく空白文字を使用し、<set>タグ内で改行を行うと意図しない空白が値に含まれることがあります。
    インデントにつきましては、こちらをご参照ください。

属性

名称 必須 デフォルト 説明
name string 値の保存先とするPredicate名を記述します。
※子要素<name>を指定しない場合、この属性が必須となります。

name

name属性は<set>タグの内容を保存するPredicate名を指定します。
name属性の代わりに子要素として<name>タグを使用できます。
<name>タグの子要素では<get>タグの利用が可能です。

ご注意
<name>タグに記載するPredicate名の文字数は全角・半角問わず100文字までです。
Example

xAIML

実行結果

応用的な書き方

<set>タグ内に<srai>タグや<condition>タグを記述し、セットする値を変化させることができます。

実行結果

子要素

<template>タグで利用可能な子要素の他に、さらに以下の要素を使用できます。

名称 必須 説明
name 値の保存先とするPredicate名を記述します。

name

値の保存先とするPredicate名を記述します。

Predicate名が動的に変わる場合など、name属性では対処できない場合に使用します。

Example