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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 4月 9日 (水) 03:00:29 JST


小林 (koichik) です.

Date:    Wed, 9 Apr 2008 01:44:43 +0900
From:    "Masao NADAI" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13654] Re: [Teeda] DynamicPropertyのid

> te名前空間を推進する動きにあえて反対と言ってみます。
> 
> というのも、HTML Validatorとして、超有名サイトのココ
> 
> http://validator.w3.org/
> 
> なんかでは、te名前空間は、普通にInvalidになります。
> ひょっとして、私の指定がおかしいのかな?
(略)
> これは、Teedaの名前空間スキーマが悪いわけではなく、
> このサイトが名前空間の解析を怠っているだけだと思います。

怠っているというか,XHTML1.0 仕様の
Strictly Conforming Documents (厳密適合文書)
では,XHTML 以外の名前空間を使用することを
禁止しているのでそのためでしょう.
そもそも DTD が名前空間に対応していないので
しょうがないというか.
なので,XHTML + SVG とか XHTML + MathML でも
invalid ですよね.XHTML + SVG なんて XHTML 仕様に
例が書いてあるくらいなのに.

XHTML2.0 になればスキーマ言語が XML Schema や
RELAX NG になって上記の制約もなくなってるようですが,
何年経っても Working Draft のままだし...
HTML5 (XHTML 版含む) では DTD を捨てるようですが,
その時代になれば解決するのかしないのか...

愚痴ってもしょうがないので現実の話をすると,
te 名前空間の使用を控えると,使えるのが id 属性や
class 属性の値を使った規約ベースになってしまい,
新しい仕様を追加することが難しくなったり,
アプリ側のネーミングルールとバッティングしたり
するわけです (Message がこの例).

そのため,既存の仕様と矛盾しないように新しい仕様を
追加していくには名前空間を活用するのが不可避だと
考えてます.
その上で,id 属性の値を今以上に活用することは
控える方向にしたいと考えてます.

> te:omitidの方は、te:idでもValidationの結果は同じなので、
> どちらでも良いです

よく分かりませんが,valid を目指すならこれらの
属性はどっちも使っちゃいけないのでは?

> MockでもValid、レンダリング後もValidを目指したいです。

どうしても mock で valid を目指すなら,XSLT などで
te 名前空間の属性を落としてから Validator にかければ
いいのではないでしょうか.


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