ブログ|on Note

何でも気になることを調べて記事にしたブログ

on Note

DOCTYPE宣言(文書型宣言)

文書型宣言とは、HTMLファイルにて文頭に記述する一文で、HTMLによってマークアップされたドキュメントに必要な宣言である。

文書型宣言により、ブラウザに対し、そのドキュメントがどのバージョンの使用(DTD:文書型定義)に従って書かれたものなのかを示すことができる

HTML5における文書型宣言

HTML5によるマークアップ時に必要な文書型宣言は、
<!DOCTYPE html>
で、大文字と小文字は区別されない。

ファイルの先頭にこの宣言があることで、WEBブラウザは、パーサやレンダリングモードをHTML5に対応したものに切り替える。

DTD(文書型定義)

DTDは、XMLファイルやSGMLファイルの構造を表現する時に使うスキーマ言語の一つである。

HTMLSGMLの応用なので、バージョンごとにDTDが定義される。

XHTMLは、SGMLで定義されたHTMLXMLの文法で定義し直したマークアップ言語である。バージョンアップごとに複雑多様化するHTMLXMLの基づいて書き直した実装の一つ。

DTDの役割

HTMLをはじめとするSGMLの応用言語は、マークアップ記号によって文書の構成要素を示す。その為には、どの要素をどんな規則でマークアップするのかを明確にしておく必要がある。そこで、マークアップの構成要素や順序(親子関係)、指定可能な属性などを定めたルールがDTDである。

XML

XMLもマークアップ言語の一つ。

XMLはウェブサイトに利用されることも多いが、それだけに制限されず、インターネット上で様々なデータを扱う場合に利点を発揮するマークアップ言語でもある。

XMLは構造を自由に定義できるが、その構造が明確でないといけない。そこで、実際のXMLファイルとは別に、XMLファイルの中身の構造を示したファイルを用意する。XMLファイルの中身の構造を表現する時に使う書き方のルールがスキーマ言語である。スキーマ言語には数種類あるが、その中の一つがDTDである。

XMLファイルやSGMLファイルの構造を示す時は、主にDTDのルールに沿ったファイルを用意することになる。

HTML5での文字エンコーディングの指定

今までは、HTMLファイルの文字エンコーディングを指定するには、
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
の様に記述していたが、HTML5では、meta要素に追加されたcharset属性を用いて文字エンコーディングを指定できる。
<meta charset="UTF-8">

上の文字エンコーディング指定は、前者後者どちらも有効。なので、前者の様なcontent属性を使用した指定をし続けることもできる。ただ、これら2つの方法を同時に用いることはできない。

HTML5では、ファイルの文字エンコーディングに「UTF-8」を用いることが推奨されている。

メニュー