The Ja-Jakarta Project
Apache Jakarta Project

ECSとは?

Element Construction Set は、いろいろなマークアップ言語で 要素を生成するためのJava APIです。直接のサポートは HTML 4.0 と XMLですが、 どんなマークアップ言語のタグも作成できるように簡単に拡張することができます。 Stephan Nagy と S. Stevens によって設計と実装が行われました。

何が出来るのか?

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を生成します。

上記のコードには、コメントする価値がある若干の違いがあります。

  1. 必要な色の16進数の値を知る必要はありません。HtmlColorは、 200色以上定義されているインターフェースです。
  2. & ' " などのそれら実体を置き換える必要はありません。 それはあなたのためにされます(これは、もちろん設定可能です)。 ECS は、あなたがaddElement()メソッドを呼ぶ要素に 適用されるフィルタを定義する能力を与えます。
  3. あなたは、要素を出力ストリームに直接書くことができます。 output()は要素のカスタマイズを提供するためにオーバーライドする ことができるメソッドです。

ECSはまた、XML要素を使用しつつ独自の要素を作成することができます。 つまり、以下のことが可能です。

XML my_element = new XML("my_element");

produces:

<my_element></my_element>
ドキュメント

javadoc ドキュメンテーションとTestBed.javaファイルは、 配布ダウンロードに含まれています。 結合される両方のリソースは、例にあらゆる一つの要素をカバーするコード使い方を与えます。 TestBed.javaファイルは、ecs/example ディレクトリにあります。

ドキュメントの日本語訳

まだ完成していません。

翻訳規則と分担


Copyright © 1999-2003, The Ja-Jakarta Project