About

General

Teeda Core

Teeda Extension

Teeda Ajax

プロジェクト文書

モジュール

Built by Maven

概要

Teeda Extensionのテンプレートファイルは, XHTMLで記述します.

基本形

Teeda Extensionで使用するテンプレートXHTMLファイルの基本形は, 以下のようになります.

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:te="http://www.seasar.org/teeda/extension"
    xml:lang="ja"
    lang="ja">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
        <title>...</title>
        ...
    </head>
    <body>
        ...
    </body>
</html>

宣言

XML宣言

必要に応じて, XHTMLファイルの先頭にXML宣言を記述します.

<?xml version="1.0" encoding="UTF-8"?>

XHTMLファイルのエンコーディングがUnicode系 (UTF-8やUTF-16等) 以外の場合,XML宣言が必須となります.

注意点

IE6など,ブラウザによってはXML宣言があると標準準拠モードではなく, 後方互換モードでレンダリングされてしまう場合があります. 標準準拠モードでのレンダリングを期待する場合は, XHTMLファイルはUTF-8で記述し, XML宣言を省略します.

文書型宣言

XML宣言を記述した場合はその後に,省略した場合はファイルの先頭に, 以下のいずれかの文書型宣言を記述します.

XHTML-1.0-Strict

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML-1.0-Transitional

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML-1.0-Frameset

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
注意点

この他の文書型宣言を指定すると, システムIDで指定されたURLからDTDを取得するために, ネットワークアクセスが発生する場合があります.

名前空間宣言

ルート要素 ( <html> ) で名前空間を宣言します.

デフォルト名前空間

デフォルト名前空間としてXHTMLの名前空間を宣言します.

    xmlns="http://www.w3.org/1999/xhtml"

te名前空間

Teeda Extensionの拡張要素・拡張属性を使う場合は, Teeda Extensionの名前空間を接頭辞 te で宣言します.

    xmlns:te="http://www.seasar.org/teeda/extension"

言語属性

XHTMLファイルが含むコンテンツの言語を ルート要素 ( <html> ) で指定することができます.

指定する場合は,XMLの xml:lang 属性と,XHTMLの lang 属性の両方を指定します.

    xml:lang="ja"
    lang="ja"

meta要素でのエンコーディング指定

<head> 要素の 最初 に, <meta> 要素でエンコーディングを指定します.

    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
        <title>...</title>
        ...
    </head>
注意点

ブラウザによっては, <meta> 要素より先に非ASCII文字を含む <title> 要素があると, <meta> による指定を参照する前にエンコーディングの自動判定を行われてしまう場合があります. また, <meta> 要素がファイル内の先頭から一定の範囲内にないと参照しないブラウザもあるため, <script> 要素や <style> 要素等, 文字数が多くなりやすい要素より後に記述すると, エンコーディングの自動判定を行われてしまう場合があります.

HTMLとの相違点

XHTMLはHTMLとよく似ていますが, HTMLがSGMLをベースとするのに対して, XHTMLはXMLをベースとするため, 細かな違いが少なからずあります.

以下では, XHTMLとHTMLの主要な相違点を説明します. より詳細な情報は, XHTMLの仕様書や解説書を参照してください.

要素名・属性名は小文字

HTMLと異なり,XHTMLの要素名は大文字・小文字が区別されます. XHTMLの要素名および属性名は小文字のみを使用します.

<input type="text" />

終了タグは省略しない

HTMLと異なり,XHTMLでは終了タグを省略することはできません. 必ず終了タグを記述します.

<ul>
    <li>項目1</li>
</ul>

EMPTY要素は最小化形式

<br> 要素や <hr> など, 内容を持つことのない要素 (EMPTY要素) は以下のように最小化形式で記述します. 要素名と "/" の間には空白を入れます.

<br />

内容を持つことができる要素の場合は,内容が空でも最小化形式を使用しないで記述します.

<p></p>

属性は引用符で囲む

HTMLと異なり,XHTMLでは属性値を必ず引用符で囲みます.

<input type="text" />

論理値の属性は値を省略しない

HTMLと異なり, <input> 要素の checked 属性のような論理値の属性は,必ず属性名と同じ値を記述します.

<input type="radio" checked="checked" />

規定の属性値は小文字

HTMLと異なり,XHTMLでは <form> 要素の method 属性で使用する "post" 等の規定値は, 大文字・小文字が区別されます. XHTMLの属性の規定値は, 小文字のみを使用します.

<form method="post">

属性値の&は必ずエスケープする

<a> 要素の href 属性でURLを指定する場合など, 属性値に "&" を含める場合は,必ず "&amp;" と記述します.

<a href="foo.html?aaa=xxx&amp;bbb=yyy">foo</a>

属性値内で改行しない

属性値の中に改行を含めないようにします.

スクリプトやスタイルシートは外部ファイルに

"&""<""--""]]>" 等を含むスクリプトやCSSを使う場合は, 原則として外部ファイルに記述します.

どうしてもXHTMLファイル内に記述する必要がある場合は, CDATAセクションを使用します (スクリプトやCSS全体をコメントで囲まないようにします).

<script type="text/javascript">
//<![CDATA[
function hoge() {
  for(i = 0; i < 10; i++) {
    alert("hoge");
  }
}
//]]>
</script>