<% Include("/hsphere/local/home/terraint/common.phps");%> Jakarta ECS - Element Construction Set -- Jakarta ECS プロジェクト
Element Construction Set

ダウンロード

参加するには

日本語訳 (Translations)

オリジナル

What is it?

ECS (Element Construction Set) は、色々なマークアップ言語の要素を生成する為のJava APIであり、現在はHTML 4.0 及び XMLがサポートされていますが、あらゆるマークアップ言語のタグ生成に容易に拡張することが可能です。Stephan Nagy と Jon S. Stevensによって、設計・実装が行われています。


What does it do?

Element Construction Set を利用すれば、マークアップ言語のコード生成にJavaオブジェクトを使用する事が出来ます。もはや、以下のようなコードを書く必要はありません:

out.println("<HTML>");
out.println("<HEAD><TITLE>Demo<TITLE><HEAD>");
out.println("<BODY>");
out.println("<H1>Demo Header<H1>");
out.println("<H3>Sub Header:<H3>");
out.println("<FONT SIZE=\"+1\" FACE=\"Times\" COLOR=\"#FFFFFF">);
out.println("The big dog &amp; the little cat chased each other.");
out.println("<FONT>");
out.println("<BODY>");
out.println("<HTML>");

代わりに:

Html html = new Html()
              .addElement(new Head()
                  .addElement(new Title("Demo")))
              .addElement(new Body()
              .addElement(new H1("Demo Header"))
              .addElement(new H3("Sub Header:"))
              .addElement(new Font().setSize("+1")
                         .setColor(HtmlColor.WHITE)
                         .setFace("Times")
                         .addElement("The big dog & the little cat chased each other.")));
out.println(html.toString()); 
// or write to the outputstream directly
output(out);

これで、以下のHTMLが生成されます:

<html><head><title>Demo</title></head><body><h1>Demo Header</h1><h3>Sub Header:</h3>
<font size="+1" color="#FFFFFF" face="Times">The big dog &#38; the little cat chased
 each other.</font></body></html>

以下のDocumentオブジェクトを利用すればもっと簡単です:

Document doc = (Document) new Document()
              .appendTitle("Demo")
              .appendBody(new H1("Demo Header"))
              .appendBody(new H3("Sub Header:"))
              .appendBody(new Font().setSize("+1")
                         .setColor(HtmlColor.WHITE)
                         .setFace("Times")
                         .addElement("The big dog & the little cat chased each other."));
out.println(doc.toString()); 
// or write to the outputstream directly
output(out);

これで、上と同じHTMLが生成されます。

上記コードには、注釈をいれるべき細かな点があります(訳注:以下の3つの機能を、上のコードで確認できます)。

  1. 必要な色のHex値を覚える必要はありません。HtmlColorインタフェースが、200以上の色を既に用意しています。
  2. & ' " の3つのキャラクタを対応するENTITY値(訳注:XMLをご存知であれば、&amp; などは<!ENTITY>で指定される事をご存知かと思います)に置き換える必要はありません。すでに置き換えがされてしまいますので(勿論、その設定を変えても良いのですが)。ECSでは、addElement()メソッドを呼び出す際に要素に適用されるフィルタを定義することが可能です。
  3. 出力ストリームにダイレクトに要素を書き込むことが可能です。output()メソッドを、要素を自由自在に変換するよう、オーバーライドする事が可能です。

ECS では、XML要素を使ってオリジナルの要素をすぐに生成する事も可能です。従って、以下のような事が可能です:

XML my_element = new XML("my_element");

produces:

<my_element></my_element>


Documentation

javadocドキュメント、及び、TestBed.javaファイルは、頒布用ダウンロードファイルに含まれています。その両方を利用すれば、あらゆる単一要素に当てはまるサンプルコードの利用法が得られます。TestBed.javaファイルは、ecs/exampleディレクトリにあります。(訳注:最新版をダウンロードしましたが、バイナリ版ではこのファイルの存在が確認できませんでした。CVSからダウンロードしてください。)



Copyright © 1999-2005, Apache Software Foundation
Translated into Japanese by Tetsuya Kitahata , powered by Terra-International, Inc.
<% orig();%>