ホーム > X-Plus > XML Square >  ビギナーズコーナー  >  XMLからXHTMLへ

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

ビギナーズコーナー:HTMLからXHTMLへ (2)

2001年08月02日作成 

(株)日本ユニテック 榎本 実幸

XHTML1.0で使用できる要素や属性は、HTML4.0で決められていた要素や属性とほとんど同じです。XHTML文書では、HTML文書の構成要素に加え、XML文書として必要な情報を追加する必要があります。また、文法的により厳密なマークアップが要求されます。

XHTML1.0文法の主なポイントは、以下のとおりです。

① xml宣言が指定されている。
② html要素にxmlns属性が指定されている。
③ 要素名、属性名は小文字で書かれている。
④ 終了タグを省略しない。
⑤ 空要素が正しく書かれている。
⑥ 正しい入れ子関係である。
⑦ 属性値は引用符で囲まれている。
⑧ 特殊文字がエスケープされている。

① xml宣言の指定
xml宣言は、文書の先頭に書かれ、続くデータがXML文書であることを示します。
version属性は必須で、現在のXMLのバージョン"1,0"を指定します。encoding属性は、使用する文字コードを指定します。文字コードがUTF-8、またはUTF-16の場合、encoding属性は省略できます。

<?xml version="1.0" encoding="Shift_JIS"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="ja" lang="ja">
 ・・省略・・
</html>

② html要素にxmlns属性を指定する
xmlns属性は、どのタグセットに従ったXML文書なのかを明記します。xmlns属性値に、"http://www.w3.org/1999/xhtml"を指定して、文書がXHTMLのタグセットに従っていることを明記します。
さらに、html要素には、使用する言語名を属性で指定します。

<?xml version="1.0" encoding="Shift_JIS"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="ja" lang="ja">
・・省略・・
</html>

※DOCTYPE宣言を指定する場合
DOCTYPE宣言は、文書のDTDを指定します。文書にDOCTYPE宣言でXHTMLのDTDを指定しておくと、指定されたXHTMLのDTDに従ったXML文書として扱われます。

例)XHTMLのDTD、XHTML 1.0 strictを指定する場合

<?xml version="1.0" encoding="Shift_JIS"?>
<!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"
xml:lang="ja" lang="ja">
・・省略・・
</html>

③ 要素名、属性名は小文字で書く
XHTMLでは、要素名、属性名はすべて小文字で表記する約束になっています。HTMLでは小文字大文字を区別しませんでしたが、XMLでは区別するので、気をつけましょう。

○ <p>こんにちは</p>

× <P>こんにちは</P>

④ 終了タグの省略不可
HTMLでは、pやliなど、一部の要素の終了タグを省略することができました。
しかし、XMLでは、終了タグの省略は許されません。

○ <p>こんにちは</p>
<p>こんばんは</p>

× <p>こんにちは
<p>こんばんは</p>

⑤ 空要素の表記
要素の内容をもたない要素は、"/>"で開始タグを閉じるか、または、開始タグに続けて、終了タグも書きます。

○ <img src="icon.gif" />
○ <img src="icon.gif"></img>

× <img src="icon.gif">

⑥ 正しい入れ子関係
親子関係の要素は、正しく内包されていなければなりません。

○ <p><a href="toc.html">目次へ</a></p>

× <p><a href="toc.html">目次へ</p></a>

 ⑦属性値は引用符で囲む
属性値はすべて、ダブルクォーテーション(")か、シングルクォーテーション(')で囲まれていなければなりません。また、HTMLでは一部の属性で、属性名を省略して属性値だけ書くことが許されていました。しかし、XHTMLでは許されません。すべて、属性名="属性値"で表記します。

○ <img src="icon.gif" />
× <img src=icon.gif />

○ <input type="checkbox" name="yes" checked="checked" />
× <input type="checkbox" name="yes" checked />

 ⑧特殊文字のエスケープ
タグ以外で<や>などの記号を使う場合は、XMLパーサがタグとして認識しないよう、&実体参照名;でエスケープします。

○ <p> x + y &lt; 10 </p>
× <p> x + y < 10 </p>

※スクリプトデータ内の特殊文字をエスケープする
script要素やstyle要素を使って、XHTML文書内にスクリプトデータやスタイルシートを記述する場合、全体をCDATAセクションで囲むと、XMLパーサのチェック対象外となります。XHTMLではCDATAセクションにすることが推奨されていますが、今のところ、IE5.5では、CDATAセクションとして記述するとエラーになります。対処方法として、スクリプトデータやスタイルシートは外部ファイルにする方法があります。


>>次の連載記事「XHTML Basic」を読む



関連サービス

"HTML 5" を含む最新IT技術についての動向調査業務





ページトップへ戻る