本記事は教養記事シリーズその39です。その他の教養記事はコチラの目次をご覧ください。
HTMLとの違いは?
マークアップ言語
XMLは「Extensible Markup Language」の略語で,日本語では「拡張可能なマークアップ言語」と訳すことができます。
となりますよね…。マークアップ言語というのは,コンピュータに向けて構造化された文章を記述するための言語のことを指しています。少し例を出して考えてみましょう。学校の先生であるBさんは,生徒に明日の遠足の集合時間を書いたお手紙を配布しようと考えています。
明日は10時に集合です。
Bさんは,生徒が遅刻する危険性を考えて,10時という部分を強調したいと考えました。そこで,10時という部分を太文字にしました。
明日は10時に集合です。
無事に大事な内容を強調して伝えることができました。これを,人間とコンピュータの場合を考えてみましょう。人間が10時という部分を強調したい場合は,<strong>という記号を利用すればコンピュータに知らせることができます。
明日は<strong>10時</strong>に集合です。
この「10時を強調する」という行為こそが,マークアップの操作にあたります。つまり,構造化された文章の1つの例として強調という効果を使ってみただけの話です。マークアップ言語には,具体的に以下のような例があります。
●SGML:電子化書籍
●HTML:ホームページ
●XML:データ記述
●XHTML:HTMLとXMLの中間
●TeX:学術論文など
など
特徴
一番の特徴は,名前にも含まれている通り「拡張性の高さ」です。例えば,先ほどの強調の例で言えば,HTMLでは<strong>を利用するしか方法がありませんでした。しかし,XMLでは自分で要素を自由に作成することができるのです。<kyocho>なんて要素を作ることも可能です。
その一方で,ルールや制約が厳しいため記述するのに少し時間がかかるという欠点も挙げられます。責任ある自由,というやつですかね。他にも,無料で誰でも使用可能である点や,インターネット・プログラミング言語と相性が良いことが特徴として挙げられます。
HTMLとのちがい
HTMLは基本的にホームページを作成するためのマークアップ言語です。一方で,XMLはデータ記述のために様々な用途で用いられることが多いです。また,HTMLは使うことのできるルールが限られており,簡単に記述することができます。それに対して,上でもお伝えした通り,XMLでは守らなくてはならない制限が多く,自由度がある代わりに記述に時間がかかります。
ひとこと
いままで,マークアップ言語という考えなしにHTMLやXMLを捉えていました。文章を構造化する言語という観点で俯瞰すれば,TeXもHTMLやXMLの仲間に入るのですね。抽象化してグループ化することはやはり大切ですね。