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 & 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 & 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を生成します。
上記のコードには、コメントする価値がある若干の違いがあります。
- 必要な色の16進数の値を知る必要はありません。HtmlColorは、
200色以上定義されているインターフェースです。
- & ' " などのそれら実体を置き換える必要はありません。
それはあなたのためにされます(これは、もちろん設定可能です)。
ECS は、あなたがaddElement()メソッドを呼ぶ要素に
適用されるフィルタを定義する能力を与えます。
- あなたは、要素を出力ストリームに直接書くことができます。
output()は要素のカスタマイズを提供するためにオーバーライドする
ことができるメソッドです。
ECSはまた、XML要素を使用しつつ独自の要素を作成することができます。
つまり、以下のことが可能です。
 |
 |
 |
 |
XML my_element = new XML("my_element");
produces:
<my_element></my_element>
|
 |
 |
 |
 |