[mayaa-user:654] Re: replace属性に${***}を記述したい
suga
[E-MAIL ADDRESS DELETED]
2008年 5月 8日 (木) 08:58:11 JST
suga です。
引用の順番前後しますが
2008/5/7 原田昌知 <[E-MAIL ADDRESS DELETED]>:
> 何をやりたいのかというと、テーブルのtrにIDをつけて、ifで表示条件を
> 指定する際に、replaceも同条件で指定できると、falseのときは、trごと消えて、
> trueのときは、trを残せます。
ちょっと記述は増えますが、下記のように記述すれば実現できます。
<m:if m:id="xxx" test="${...}">
<m:echo><m:doBody/></m:echo>
</m:if>
if の中でも echo を使って元のタグを再現できるので、attribute との
組み合わせもできます。
プロセッサをネストするため doBody が必須になるのがやや難点ですけど。
> m:ifタグのreplace属性にスクリプトを記述したいのですが、現在は対応していませんね?
> 対応は難しいでしょうか?
こちらは現状では簡単ではありません。
内部的な話をすると、replace はビルド時に静的解決をしています。
これを動的解決に変えることになりますので、すべてのプロセッサで
使える replace の (内部的) 動作を変更するのは結構大変です。
if 限定なら難しくはないのですが、それは使う側としていびつかなと。
ちなみに if と echo を組み合わせた echoIf という拡張プロセッサを
作る計画がありテスト実装もしたのですが、進んでいません (^^;
http://suga.parfe.jp/td/index.cgi?date=20080303#p02
# extensions サブプロジェクトの協力者募集中です。
--
suga ( [E-MAIL ADDRESS DELETED] )
mayaa-user メーリングリストの案内