[Seasar-user:13710] Re: [Teeda] DynamicPropertyのid

Masao NADAI [E-MAIL ADDRESS DELETED]
2008年 4月 13日 (日) 16:45:34 JST


小林 (koichik) 様
いつもお世話になっております。

> > できれば、te:omittagなんかも使わないで、その効果が
> > 得られるような規約があればよいのですが。
>
> 使えるのは class 属性くらいでしょうね.
> 現在は金額入力用のテキストフィールドで
> T_currency とか使ってるので,それに合わせて
>
> <span id="xxx" class="T_omittag" />
>
> とか.

なんか気持ち悪いと直感的に思いましたが、
この要素がタグ削除というクラスに属すると考えると、
悪くもない気がしてきました。
実装していただけないでしょうか。

> class 属性は複数の値が使えるので必要なら
>
> <span id="xxx" class="foo T_omittag" />
>
> のように CSS で指定するための値と共存できます.

この使い方はしないでしょう。
タグ消えちゃいますから。

<span id="xxx" class="foo T_omitid" />

これは、素敵です。
こちらも、実装していただけないでしょうか。

以上2点で、私の抱える
・id重複によるInvalid
・名前空間使用によるInvalid
の問題は、解決します。

> が,class 属性を活用するのは評判がよくなくて
> 使わない方向になったという気のせいが...

そうですね。はじめは気持ち悪かったですから。


> > ただ、"this"は、入れて欲しいです。
>
> これは無しということで.
> xxxMessage や xxxLabel 等の接尾辞の意味を
> 打ち消すには不自然なキーワード&用法なのと,

接尾辞の意味を打ち消すキーワードではなく、
明示的にPageクラスのプロパティを参照するキーワードです。
Teedaでは、hoge.html = HogePageクラスなので、
私には、まったく違和感がないのですが。
ただ、デザイナーの方には違和感があるのかなと思いました。

> 応用が利かない (別の仕様を加えていくのが難しい)
> ので.

確かに、特殊なキーワードですね。
Java の thisが
private String foo;
public void setFoo(String foo) {
 this.foo = foo;
}
のような場面でしか使われないのと同じようなものですね。

> id 値を使うのであれば,
>
> <span id="property:xxxMessage" />
>
> のような形の方が直感的だし,

propertyというプロパティ名が使えなくなり(互換性を
損ね)ませんか?
Java 7から propertyは予約語になるのでしたっけ。
teeda-dolphinで対応?

> <span id="message:xxx" />
> <span id="label:xxx" />
>
> のように応用も利きます.

<span id="message.xxx" />
<span id="label.xxx" />

で、よいのでは?

> ただし XML 名前空間仕様に違反.

個人的には、違反はなるべく避けたいです。
あちらさん(XHTMLの件)の対応が遅かったとしても。

> 個人的には id や class は HTML 側のものであり,
> プログラム側で活用しすぎるのもどうなのかなと
> 思います.
> 別の名前空間を使ってプログラムが HTML を浸食
> しないようにする方がいいんじゃないでしょうか.

基本線は、それで良いと思います。
以前のメールでありましたシンタックスシュガーがあれば
なお良いと思います。

> これも個人的な考えですが,テンプレートの妥当性に
> ついては,XHTML 名前空間の要素・属性だけ取り出して
> valid であれば,まずは十分ではないかと考えています.

そうですか。
私は、モックもプロジェクトの成果物なので、
これも validであるにこしたことはないと思います。

> 最近の Teeda は condition や foreach を使える要素が
> 増えたので随分と改善できたと思いますが,それでも
> まだまだ表現力不足なので,そっちを何とかしたいなと.

業務系システムでは、十分な表現力です。
どのようなことをお考えなのでしょうか。興味津々。

> そしてレンダリング結果について valid であること.
> 個人的にこだわりたいのはそこまでですね.

神経質すぎて、すいません。

> テンプレートが valid であることにこだわるなら,
>
> http://www.w3.org/TR/MathML2/appendixa.html#parsing.module
>
> みたいに,XHTML1.1 のモジュールに Teeda 独自の
> 要素・属性を加えた DTD を用意すればいいだけじゃ
> ないかと言ってみるテスト.
> っていうか,Teeda 1.1 で用意してみようかな.
>
> <!DOCTYPE html
>    PUBLIC "-//SEASAR//DTD XHTML 1.1 plus Teeda 1.1//EN"
>           "http://teeda.seasar.org/DTD/teeda11/xhtml-teeda11.dtd"
> >
>
> とかなんとか.
> この DTD だったらレンダリングで
>
> <!DOCTYPE html
>    PUBLIC "-//W3C//DTD XHTML 1.1//EN"
>           "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
> >
>
> に置き換えれば完璧 (なにが?) みたいな.

その発想はありませんでした。
詳しく知らないのですが、理にかなっているような。

よろしくお願いいたします。


Seasar-user メーリングリストの案内