基本形
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の仕様書や解説書を参照してください.
EMPTY要素は最小化形式
<br>
要素や
<hr>
など, 内容を持つことのない要素 (EMPTY要素) は以下のように最小化形式で記述します. 要素名と
"/"
の間には空白を入れます.
<br />
内容を持つことができる要素の場合は,内容が空でも最小化形式を使用しないで記述します.
<p></p>
論理値の属性は値を省略しない
HTMLと異なり,
<input>
要素の
checked
属性のような論理値の属性は,必ず属性名と同じ値を記述します.
<input type="radio" checked="checked" />
規定の属性値は小文字
HTMLと異なり,XHTMLでは
<form>
要素の
method
属性で使用する
"post"
等の規定値は, 大文字・小文字が区別されます. XHTMLの属性の規定値は, 小文字のみを使用します.
<form method="post">