XMLC の紹介

実は私もxmlcのメリットってよく分かってないです..orz
よかったら教えてください。

2008-07-20 - kなんとかの日記

XMLC (XML Compiler) は、Java製のテンプレートシステムのひとつ。


仕組み:

  1. HTMLテンプレートを「コンパイル」し、DOMを生成するようなJavaクラスを自動生成する。
  2. Javaクラスが生成したDOMを操作して、変更したい箇所の要素やテキストを変更する。
  3. 変更したDOMをHTMLに変換し、出力する。


特徴:

  • テンプレートのHTMLデザインをまったく崩さない
    • テンプレートには、変更したい箇所にid属性をつけるだけ
  • 独自のテンプレート言語を覚える必要がない
    • プレゼンテーションロジックはJavaで記述するため
  • 動作が高速


欠点:

  • DOM操作が複雑
    • 特にループは超面倒
    • テキストの置換だけなら簡単 (XMLCがそれ用のメソッドを生成してくれるので)
  • XML/HTMLしか生成できない
    • Webアプリが対象なら気にする必要はない
  • 知名度が低い
    • ただし他のテンプレートエンジンに大きな影響を与えた (Amritaとか)


XMLCは、仕組みが非常に単純でわかりやすく、動作も高速、おまけにテンプレートのHTMLデザインがまったく崩れないという、なかなか優れたテンプレートシステム。
ただし、ループ時のDOM操作がほんとに面倒であり、この欠点が他の長所を打ち消してあまりあるほど。


興味が湧いた人はどうぞ。

http://xmlc.enhydra.org/