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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 4月 11日 (金) 04:30:08 JST


小林 (koichik) です.

Date:    Fri, 11 Apr 2008 01:19:09 +0900
From:    "Masao NADAI" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13691] Re: [Teeda] DynamicPropertyのid

> できれば、te:omittagなんかも使わないで、その効果が
> 得られるような規約があればよいのですが。

使えるのは class 属性くらいでしょうね.
現在は金額入力用のテキストフィールドで
T_currency とか使ってるので,それに合わせて

<span id="xxx" class="T_omittag" />

とか.
class 属性は複数の値が使えるので必要なら

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

のように CSS で指定するための値と共存できます.

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

> ただ、"this"は、入れて欲しいです。

これは無しということで.
xxxMessage や xxxLabel 等の接尾辞の意味を
打ち消すには不自然なキーワード&用法なのと,
応用が利かない (別の仕様を加えていくのが難しい)
ので.

id 値を使うのであれば,

<span id="property:xxxMessage" />

のような形の方が直感的だし,

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

のように応用も利きます.

ただし XML 名前空間仕様に違反.
名前空間がちゃんと使えないからこんな案を
考えるハメになってるのに名前空間仕様で
縛られるとかどういうことよ? って気分ですが.


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

これも個人的な考えですが,テンプレートの妥当性に
ついては,XHTML 名前空間の要素・属性だけ取り出して
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"
>

に置き換えれば完璧 (なにが?) みたいな.


-- 
<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 メーリングリストの案内