記法を決めた背景

id:kunit さんがさらに考察を進められて居る。そこで、こちらも対抗して、ZOGANが何故あのような記法になったのかをまとめてみる。
そもそもは、あまりプログラミングを知らないデザイナに簡単にHTMLを変更してもらえるようなテンプレートが欲しかった。そのためには、IF文などのプログラム言語的なロジックをできるだけ排除したい。というわけで、smartyは対象から外れた。
各種のテンプレートを調べたが今一ぴんとこなかったので、自作するかと。そこで、参考にしたのは、鮎川氏のHTML_TEMPLATE、Ruby用のテンプレートamritaだった。
HTML_TEMPLATEは、制御構造のないシンプルさと、データを配列であたえる方法も単純でよいと思った。テンプレートからロジックを呼び出す方法(JSPとか)は、コントローラとビューの分離と言うことを考えると、自分の目的にはあわないと思う。
amritaのような属性を使ってテンプレートをコントロールする方法は、SGMLXMLの範囲内でテンプレート全体がおさまることが良いと思われた。見た目がシンプルなほかに、XMLの範囲内であればSAXパーザを使って、パースできるのが良い。正規表現で単純に置換していく方法だと、ループの開き閉じの対応などのエラーの検出が難しくなるので。amritaの方法だと、タグの対応さえとれていれば良い。それなら、デザイナにもできるだろう。
というわけで、最初はひがさんの言う1番の方法で実装をはじめたが、プレビュー時にダミーの内容でもいいのできちんと表示したかったので、3番目的な記法を加えた。
2番の方法は、デザイナにとっては最も簡単でいいのだが、テンプレートの変更後にプログラマの作業が発生すると思われた。デザイナだけに楽をさせるのであれば、それもいいのだろうが、やっぱり自分も楽をしたい。簡単なデザインの変更時には、ロジック側の変更はしたくない。3番の方法も分からないデザイナに対しては、素のHTMLにテンプレート用の属性をプログラマが埋め込めばいいかなと考えた。