SetVar/GetVarについてのテストも成功したので、具体的にどういう動作をするかを考える。 ほしい機能は次のようなものだ。
  1. 四則演算が出来る。
  2. 10進数字のほかに、変数として、値を返すMTタグとMTSetVarで作成した変数を扱える。
  3. 計算結果をMTSetVarの変数空間に格納できる。

(1)については、取りあえず eval() 関数に丸投げすることで良しとしよう。取りあえず。

(2)について現在の仕様では、式について評価する前に全て書き換えてしまうのなら難しくないように思える。MT...で始まる英数字の列はMTタグとして評価、VARで始まる英数字の列はMTGetVarもどきで値の取り出しを試みる。それ以外の文字列は、eval() にお任せとする。

(3)これは式の中に書式を織り込むのはホネそうなので、別のアトリビュートに放り込み先を指定することとする。setvar="name"とすると、<$MTSetVar name="name" value ="(計算結果)"$>と同じ働きをする。といいな。指定が無ければ何もしない。