久しくしてました^^;

とりあえず、DTD改修の案がほぼ確定かな?ということで、そちらのあたり考えていこうと。


まずは、簡単にまとめとく。


・controlタグでcomponentをtype属性で指定していたものを、component名をタグ名にする。

 ex. <control type="label"> → <label>

同じように
・compositeタグにも

  ex. <composite type="box"> → <box>

こんな感じになるのかな。
これの大きな目的はDTD補完ができるようにということです。


既存の control タグや composite タグはカスタム(独自実装コンポネント)用に残します。


DTDが少し大きくなりますね。
今までcompositeタグ,windowタグは子要素にcontrolタグ1つで色々なコンポネントを扱っていましたが、今回の改修で独自になります。
ということで、現在実装済みコンポネントについてはすべてDTDに追加されることになります。
(compositeタグも同様で、こちらはwindowタグに対して)


とこんな感じになると思います。



以下実装側の話。


・これに伴いcomponent(.impl)パッケージにそれぞれのcomponentモデルが追加される?
・templateパッケージにそれぞれのTagHandlerが追加される?


と、こんな感じなのかな。


ひとつ試しにやってみたけど、まだcomponentのモデルは作ってない状態です。
TagHandlerを追加して、今まで通りcontrolクラスに対して設定を行いRenderingしてるだけ。一応表示はできた(rendererTest通過)。


ちょっと意図してることが違ってたら嫌なので、ここに叩き台w


こんな感じですかね?>id:y-komoriさん、id:bskuronekoさん