[Seasar-user:13717] Re: [Teeda] DynamicPropertyのid
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 4月 14日 (月) 03:30:22 JST
小林 (koichik) です.
Date: Mon, 14 Apr 2008 01:25:46 +0900
From: "Masao NADAI" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13715] Re: [Teeda] DynamicPropertyのid
> thisに2つの意味が含まれていることが問題なのですね。
いいえ.
> > そして現状必要なのは,xxxMessage という
> > プロパティを表示したい場合など,
> >
> > ・プロパティを
> >
> > の方ですよね?
(略)
> > それに対して this というキーワードは
> > 不適切で応用が利かないということです.
ということです.
> > property: はその右がプロパティであることを示す意味で
> > 書いたもので,これ自体はプロパティ名ではありません.
> > よって,Java のキーワードと重なっても問題は微塵も
> > ありません.
> > # とはいってもこの案もたぶん採用しませんが.
>
> XML的にダメだからですか?
te 名前空間のグローバル属性を使う方がよりよいと
考えているからです.
既存の表記法に加えて新しい記法を 1 つ追加するのは
ともかく,2 つも追加するつもりはないので,結果として
id 値の中でスキーム (?) を指定する案はボツに
なります.
> > <script type="text/javascript" te:if="xxx" te.out="script">
> > </script>
> >
> > のように書けるようにしたいと考えています.
>
> もはや、デザイナーの理解できる範疇を超えているような。
デザイナさんが書くとしたらせいぜい
<script type="text/javascript">
</script>
だけで,そこに te:〜 属性を追加するのは
プログラマの仕事になるでしょう.
デザイナさんには te:〜 は消さないでね,と
お願いしておけばいいみたいな.
> <script id="isXxx" type="text/javascript">
> script
> </script>
> では、ダメですか?
<script> の内容を動的に出すという例のつもりなので,
それではだめですね.
public class XxxPage {
public String script;
public boolean xxx;
}
とあって,xxx が true の場合に script プロパティの
値を <script> の内容に出すにはどう指定するか,
という話です.
> オレオレDTOとは、思っていません。
> 立派にTeedaが提供しているDTDです。
> プロジェクトの方針として、Teedaを採用したならば、
> そのTeedaが提供するDTDに意味はあります。
> 成果物の品質はTeedaに保証されているのです。
よく分かりませんが,Teeda としては valid な
XHTML だけでなく,well formed な XHTML も
サポートしています.
つまり,validation はしていません.
ですから,Teeda が DTD を提供しても,それで
valid であることが保証されることもありません.
> > 何のために valid を目指すのか考え直した方が
> > いいのでは?
>
> 何のために?と言われれば、成果物の品質を一定基準に保つ
> ためと答えます。
であるなら,前も書いたように te 名前空間の
要素や属性を削除して validation すれば十分では
ないでしょうか.
それは「現実的ではない」とのことでしたが,自分には
それが現実的でない理由が分かりません.
validation をバッチ的に処理しているにせよ,手作業で
やっているにせよ,ちょっとした工夫でそういう
validation をすることは可能だと思いますよ.
そんなわけで (どんなわけで?),簡単なものを
Teeda HTML Example でやってみました.
W3C Markup Validation Service の Validate by Direct Input
の Proxy みたいな画面です.
添付の Page クラスと HTML を Teeda HTML Example に
置いて,WEB-INF/lib に commons httpclient & codec の
Jar を置くと使えます.
http://localhost:8080/teeda-html-example/view/htmlvalidator/htmlValidator.html
にアクセスしてテキストエリアに te:〜 を含んだ
XHTML のソースを貼ってサブミットすると,Page
クラスで拡張属性を取り除いて W3C Markup Validation
Service にアクセスし,その結果を表示します.
拡張属性は単に取り除くのではなく,同じ長さの
空白に置換しているので,行番号やカラム位置は
そのまま参照できます.
画像やスタイルシートを考慮していないし,
オプションの指定やエラーの扱いがずさんですが,
ヒントにはなるのではないかと.
> ちょっとグチっぽくなりましたが、ご検討ください。
もう答えは出たかと思いますがどうでしょうか.
--
<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>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: HtmlValidatorPage.java
型: application/octet-stream
サイズ: 2804 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080414/63d818d0/attachment-0001.obj
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080414/63d818d0/attachment-0001.html
Seasar-user メーリングリストの案内