マークアップ言語とHTML、HTML

基本はツリー構造
HTML や XML のように、データに加え、そのデータが持つ意味や構造をコンピュータに伝えるために開発されたのがマークアップ言語(Markup Language)である。アルゴリズムを持たないデータ集合であることから、データ構造の一種とみなすこともできる。
ここでは、マークアップ言語の代表例として、HTML、XML、SGML、LaTeX と、スタイルシート言語である CSS を紹介する。

HTML

HTML
上図は、ぱふぅ家のホームページにある「ハワイ出雲大社にも御朱印帳」の HTML(HTML 5)である。

HTML(HyperText Markup Language)は、ホームページの記述などに用いられるマークアップ言語である。<...>で表されたタグと、それに続けて記述される要素から成る。
規格としては、W3C(World Wide Web Consortium)が勧告しており、下記のようなバージョンがある。利用できるタグとその意味は W3C 勧告に従う。

拡張子は、主に .htm .html が使われる。
バージョンリリース特徴
HTML 1.01993年6月1990年5月に登場したHTMLを正式に仕様にしたもの。
HTML 2.01995年11月IETFがRFC 1866として標準化するが、RFC 2854によって廃止し、その後はW3Cが管理することになった。
HTML 3.21997年1月HTML 3.0はドラフト段階で廃棄。これとはまったく異なる3.2が勧告される。この頃、Netscape Navigator、Internet Explorerなどがブラウザ独自タグを導入して混乱する。
Compact HTML1998年2月NTTドコモがi-mode用に定義したもので、W3Cが勧告。
HTML 4.011999年12月視覚表現などをCSSへ移行し、文章構造のみを記すというHTML本来の目的に戻ったStrict DTDと、3.2からの移行過渡期のためのTransitional DTDの2種類のフレームが用意された。
XHTML 1.02000年1月HTML 4.01をXMLで再定義したもの。拡張子は .xhtml であることが多い。
XHTML 1.12001年5月機能がモジュール化された。これ以降、XHTMLは廃れる。
HTML 52014年10月Java, Flash, Silverlight等のリッチアプリの機能を取り込んだ。

 

XML

RSS - XMLの例
上図は、ぱふぅ家のホームページの RSS である。RSS は XML で記述されている。

XML(eXtensible Markup Language)は、HTML と同様、SGML から派生したマークアップ言語である。SGML は拡張性があるものの、仕様が大きく複雑であることから、HTML の軽さを取り入れて開発されたものが XML である。
<...>で表されたタグと、それに続けて記述される要素から成るのは HTML と同じで、ユーザーがタグを自由に定義することができる。
拡張子は、主に .xml が使われる。
HTML と同じく、規格としては W3C が勧告しており、下記のようなバージョンがある。
バージョンリリース特徴
XML 1.01998年2月日本ではJIS X 4159:2005として規格化された。
XML 1.12006年8月制御文字や、Unicode 2.0以降の文字集合を使えるようにした。

 

HTML や XML は、下図のようにツリー構造をなしている。
(xml) RDF channel title サイトのタイトル link サイトのURL description サイトの説明文 item title 記事(1)のタイトル link 記事(1)のURL description 記事(1)の説明 item title 記事(2)のタイトル link 記事(2)のURL description 記事(2)の説明
XML は様々な分野に応用されており、たとえば WebAPI の戻り値など構造のあるデータを交換や、SVG フォーマットのような画像描画にも用いられる。

拡張子は .xml が使われる。

SGML

SGML(Standard Generalized Markup Language)は、ワープロソフトの製品やバージョンによらずにマニュアルを作成・更新できるようにするために開発されたマークアップ言語である。1970 年代に前身である GML(Gegeralized Markup Languege)の開発が始まった。1986 年(昭和 61 年)、ISO 8879 として規格化された。1992 年(平成 4 年)、日本では JIS X-4151 として規格化される。
前述の HTMLXML は、SGML から派生したマークアップ言語である。

<...>で表されたタグと、それに続けて記述される要素から成るプレーンテキストである。タグの解釈や表示は文書型宣言(DTD)によって規定される。

CSS

CSS
上図は、ぱふぅ家のホームページの CSS である。

CSS(Cascading Style Sheets)は、HTML をホームページに表示するときの表示方法を指定するためのデータ構造である。厳密にはマークアップ言語ではなく、HTML や XML のようなツリー構造ではないが、プレーンテキストで記述され、スタイルの適用対象となるセレクタと、スタイルそのものを表す宣言ブロックからなる連想配列に似た構造をしている。

拡張子は .css が使われる。
バージョンリリース特徴
XML 1.01998年2月日本ではJIS X 4159:2005として規格化された。
XML 1.12006年8月制御文字や、Unicode 2.0以降の文字集合を使えるようにした。

 

LaTeX

LaTeX (ラテフ) は、電子組版ソフトウェアTeX (テフ) にマクロパッケージを組み込んだオープンソースの電子組版システムで、複雑な数式などをプレーンテキストで記述することができる。1985 年(昭和 60 年)に発表された。

ぱふぅ家のホームページでも数式を表現するのに利用しており(厳密には LaTeX のサブセットである miniTeXを用いている)、たとえば、「PHP で潮位を計算する」で紹介した以下のテキスト

\eta\ =\ Z_0\ +\ \sum_{i=1}^{k}\ f_i\ H_i\ cos(V_i\ +\ u_i\ -\ k_i)


これを LaTeX を通すと、
 mimetex 


のように整形される。
(この項おわり)
header