[Seasar-user:13714] Re: [Teeda] DynamicPropertyのid
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 4月 13日 (日) 22:00:33 JST
小林 (koichik) です.
Date: Sun, 13 Apr 2008 16:45:34 +0900
From: "Masao NADAI" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13710] Re: [Teeda] DynamicPropertyのid
> > <span id="xxx" class="T_omittag" />
(略)
> 実装していただけないでしょうか。
たぶんしません.
> > class 属性は複数の値が使えるので必要なら
> >
> > <span id="xxx" class="foo T_omittag" />
> >
> > のように CSS で指定するための値と共存できます.
>
> この使い方はしないでしょう。
> タグ消えちゃいますから。
そういうことではなくて,規約の「体系」として
考えていただきたいのですが.
> <span id="xxx" class="foo T_omitid" />
>
> これは、素敵です。
つまり,この「体系」にはそれだけ一貫性と
柔軟性があるということです.
> こちらも、実装していただけないでしょうか。
たぶんしません.
理由は
> > が,class 属性を活用するのは評判がよくなくて
です.
> > > ただ、"this"は、入れて欲しいです。
> >
> > これは無しということで.
> > xxxMessage や xxxLabel 等の接尾辞の意味を
> > 打ち消すには不自然なキーワード&用法なのと,
>
> 接尾辞の意味を打ち消すキーワードではなく、
> 明示的にPageクラスのプロパティを参照するキーワードです。
つまり,このキーワードには
・Page クラスの
・プロパティを
という二つの意味が込められているわけですよね.
そして現状必要なのは,xxxMessage という
プロパティを表示したい場合など,
・プロパティを
の方ですよね?
これを言い換えると,
・(メッセージでもラベルでもなく) プロパティを
です.
それに対して this というキーワードは
不適切で応用が利かないということです.
つまり,
・プロパティを
・メッセージを
・ラベルを
・〜を...
というように展開できないのです.
> > id 値を使うのであれば,
> >
> > <span id="property:xxxMessage" />
> >
> > のような形の方が直感的だし,
>
> propertyというプロパティ名が使えなくなり(互換性を
> 損ね)ませんか?
property: はその右がプロパティであることを示す意味で
書いたもので,これ自体はプロパティ名ではありません.
よって,Java のキーワードと重なっても問題は微塵も
ありません.
# とはいってもこの案もたぶん採用しませんが.
> > <span id="message:xxx" />
> > <span id="label:xxx" />
> >
> > のように応用も利きます.
>
> <span id="message.xxx" />
> <span id="label.xxx" />
>
> で、よいのでは?
property: と同様に,message: はその右の
プロパティに対するエラーメッセージの表示,
label: はその右をキーとするラベルを表示
するという意味で書いたのですが,おそらく
誤解しておられますよね?
public class XxxPage
public String xxx;
public String xxxMessage;
public MessageDto message;
}
public class MessageDto {
public String xxx;
}
とあった時に,
<span id="property:xxx" /> <!-- xxx を表示 -->
<span id="property:xxxMessage" /> <!-- xxxMessage を表示 -->
<span id="property:message.xxx" /><!-- MessageDto の xxx を表示 -->
<span id="message:xxx" /> <!-- xxx に対するメッセージ -->
<span id="message:xxxMessage" /> <!-- xxxMessage に対するメッセージ -->
<span id="message:message.xxx" /> <!-- MessageDto の xxx に対するメッセージ -->
<span id="label:xxx" /> <!-- xxx をキーとするラベル -->
ということです.
つまり
<span id="message:xxx" />
<span id="label:xxx" />
はそれぞれ現在の
<span id="xxxMessage" />
<span id="xxxLabel" />
と同等で,それを命名規約より明確な指定を
可能にする記法の例として書いたものです.
# とはいってもこの案もたぶん採用しませんが.
一方,
> <span id="message.xxx" />
はどうでしょうか?
明確といえるでしょうか?
以下のどちらと同等でしょうか?
<span id="property:message.xxx" /><!-- MessageDto の xxx を表示 -->
<span id="message:xxx" /> <!-- xxx に対するメッセージ -->
> > これも個人的な考えですが,テンプレートの妥当性に
> > ついては,XHTML 名前空間の要素・属性だけ取り出して
> > valid であれば,まずは十分ではないかと考えています.
>
> そうですか。
> 私は、モックもプロジェクトの成果物なので、
> これも validであるにこしたことはないと思います。
その成果物は Teeda で処理するテンプレートであって,
公開される XHTML そのものではない,ということです.
モックとして「も」ブラウザで確認できるように配慮は
しますし,それが Teeda Extension の売りの一つですが,
それが無条件で valid であるべきとまでは考えていません.
XHTML ボキャブラリに関して valid に記述できれば,
モックとしての役割は完全に果たせると考えています.
> > 最近の Teeda は condition や foreach を使える要素が
> > 増えたので随分と改善できたと思いますが,それでも
> > まだまだ表現力不足なので,そっちを何とかしたいなと.
>
> 業務系システムでは、十分な表現力です。
> どのようなことをお考えなのでしょうか。興味津々。
できる・できないという意味では十分な表現力を
持ってるかと思いますが,例えば条件によって
動的な内容を持つ <script> を出力するという場合,
<div id="isXxx">
<script type="text/javascript">
<span id="script" te:omittag="true"></span>
</script>
</div>
のようになってしまいます.
これは冗長だし直感的でもありません.
これを
<script type="text/javascript" te:if="xxx" te.out="script">
</script>
のように書けるようにしたいと考えています.
> > テンプレートが valid であることにこだわるなら,
> >
> > http://www.w3.org/TR/MathML2/appendixa.html#parsing.module
> >
> > みたいに,XHTML1.1 のモジュールに Teeda 独自の
> > 要素・属性を加えた DTD を用意すればいいだけじゃ
> > ないかと言ってみるテスト.
(略)
> 詳しく知らないのですが、理にかなっているような。
そう思うのはどうかと.(^^;
オレオレ DTD で valid であることに何の意味が
あるのでしょうか?
valid であることが目的化しちゃってるんじゃ
ないでしょうか?
何のために valid を目指すのか考え直した方が
いいのでは?
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内