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

基本はツリー構造
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