XMLゼミ

XMLゼミ
独習XML
~第6章 XHTML~
6.1 XHTMLの概要
6.2 XHTMLの構造
谷津 哲平
XHTMLとは
目的:XML仕様のドキュメントを従来のWebブラウザで表示する
Extensible Hyper Text Markup Language
HTMLの多くのタグが利用できるだけでなく,XMLで利用可能な
ソフトウェアや仕様も活用することができる
※XMLと同様に規則は厳格
XHTMLの特徴
HTMLは見た目に影響を与える
XMLは意味,性質をタグで定義する
HTMLより明確な意味を持つ
WebページをXMLで記述すると
検索,変換,その他の方法で利用する際にHTMLより価値が増す
現在はHTMLからXMLへ移行するためのものでなく,
Webドキュメントの一つの形態として定着
XHTMLの用途
テキスト形式やHTMLは記述された情報の意味や定義があいまいで
Web上の膨大な情報が有効につかえていない
例えばHTMLにおける<Title>というタグは
「表題」を意味するのか
「書名」「称号」「肩書き」「資格」なのか判断できない
※XHTMLは従来のWebブラウザのような既存のソフトウェアで
効果的に利用できるように考えられている
XHTML Basic
XHTMLはXMLとその関連仕様全体よりも規模が小さいため
実装が容易だが携帯機器や家電製品にとってはまだ複雑
携帯電話,PDA(携帯情報端末),ポケットベル
Webブラウザ搭載の家庭電化製品
PCに比べ資源に制約がある
これらの機器にWebコンテンツを配信できるようにする
マークアップ言語『XHTML Basic』が策定
XHTML文書の例
DOCTYPE宣言
名前空間の指定
(ドキュメントの内容)
XHTMLの規則
・W3CXML1.0の規則に従う
・ドキュメントのルート要素より前に,DOCTYPE宣言が1個必要
・ドキュメントのルート要素は,xmlns属性を使って
XHTML名前空間「http://www.w3.org/1999/xhtml」を指定する
・ドキュメントのルート要素は<html>
DOCTYPE宣言
XHTML1.0では,次の3種類のいずれかのDOCTYPE宣言が必要
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“DTD/xhtml1-strict.dtd”>
古いバージョンのWebブラウザと互換性を考慮しない
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“DTD/xhtml1-transitional.dtd”>
Webブラウザの多くのタグを従来どおりの意味で使用
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN”
“DTD/xhtml1-frameset.dtd”>
フレームを利用できる
XHTML1.1では,次のDOCTYPE宣言が必要
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
XHTMLの空白とCDATA
空白
スペース (&#x0020;),タブ (&#x0009;)
復帰 (&#x000D;),改行 (&#x000A;)
XMLで定義
フォームフィード (&#x000C;)…改ページ機能付き
ゼロ幅スペース (&#x200B;)…xml:space属性の値を無効化
CDATA
スクリプトやスタイルの要素は<![CDATA[…]]>の中に書く
<script>
<![CDATA[
・・・スクリプトの内容・・・
]]>
</script>
注釈文
XHTML文書の表示
XHTML文書は状況に応じてHTML文書にもXML文書にもなる
拡張子を xhtml として保存
拡張子を html として保存
拡張子を xml として保存
※すべてのXHTMLファイルを扱うプログラムがこのように解釈するわけではない
他の名前空間との共用
XHTML名前空間は,ほかのXML名前空間と共に使うことができる
<? xml version=“1.0” encoding=“UTF-16” ?>
<!– math.xthml -->
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN”
“http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd”>
<html xmlns=http://www.w3.org/1999/xhtml xml:lang=“jp” lang=“jp”>
<math xmlns=“http://www.w3.org/1998/Math/MathML”>
(MathMLを使った式の表現)
</html>
課題
●XHTML文書を作成し,拡張子を「xhtml」「xml」「html」に
したときのブラウザでの表示の違いをそれぞれ確認する