ECS

作成 2003/5/8

実験環境

ECSって?

ECS(Element Construction Set)は、マークアップ言語(XMLやHTML) の要素を生成するためのJavaのAPIです。 タグをオブジェクトとして操作する、DOMの発想に近いでしょうか。 タグが全てJavaBeansとして用意されており、オブジェクトを操作することで、 HTMLなどの文書を組み立てることができます。

例えば、サーブレットにHTMLを書くとき、こう書くかわりに

out.println("<html>");
out.println("<title>hello</title>");
out.println("<body>");
out.println("Hello!");
out.println("</body>");
out.println("</html>");

こう書けます。

Html html = new Html();
html.addElement(new Head().addElement(new Title("hello")));
html.addElement(new Body().addElement("Hello!"));

Jakarta公式サイト
http://jakarta.apache.org/ecs/index.html

Jakartaの杜翻訳
http://www.terra-intl.com/jakarta/ecs/

ECSを使ってみる

ダウンロードは公式サイトより、 ECSと依存ライブラリ(libのxercesとか)のjarをクラスパスに通せば、 実行可能です。

HTMLを組み立てるサンプルはドキュメントにあるとおりで、 動かしてもあまり感動しないので、 ここでは、ECSのHtml2ECSというクラスを使ってみます。 これは、htmlからECSソースファイルを作成するツールです (実験的なクラスとのこと)。

このHTMLを

リスト、hoge.html

<html>
<body>
<h2>Hello!</h2>
</body>
</html>

html2ecsで変換すると

リスト、html2ecs.bat

java -cp ecs-1.4.1.jar;lib\xerces-1.2.2.jar org.apache.ecs.html2ecs.Html2Ecs hoge.html > hoge.txt

おおお!HTMLがECSのソースの断片になりました!

リスト、hoge.txt

new org.apache.ecs.html.Html().addElement(
new org.apache.ecs.html.Body().addElement(
new org.apache.ecs.html.H2().addElement(.addElement("Hello!")
)


)


)

new org.apache.ecs.html.Html()

でも、xercesのXMLパーサーで解析しているので、閉じタグがないと、 解析失敗しちゃいます。

感想

現在のリリース1.4.1は2000年12月リリースで その後どうなったんだろう?ECSは死んだのか?それとも違う方向に発展したのか?

WebアプリのViewとしてECSを使うのは、ちょっと疲れそうです。 簡単な例ならいいけど、長いHTMLを組み立てるのは、、、 見た目の変更に柔軟ではない気がします。 どちらかといえば、解析ツール、変換ツールとして、面白そうな感じがします。 あるいは、カスタムタグから利用するツールとしてもいいかもしれません。


TOP