久しくしてました^^;
とりあえず、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さん