HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

マークアップ言語とは?仕組みと主な種類を初心者向けにわかりやすく解説

プログラミングの世界で「マークアップ言語」と聞くと、何かの値段をつり上げる「値上げ」を連想するかもしれませんが、実際はまったく別のものです。マークアップとは、特定の形式を持つ記述言語を使ってデータを表現する方法のことを指します。

この記事では、マークアップ言語とは何か、どのような仕組みで動作するのか、そしてどの場面で活用されるのかを解説します。さらに、代表的な3つのマークアップ言語とそれぞれの用途についても紹介し、マークアップの基礎をしっかりと身につけられる内容となっています。

マークアップ言語とは何か

マークアップ言語とは、コンピュータが文書に注釈(アノテーション)を付けるために使用する言語です。人間が読める形で書かれているのが大きな特徴で、難解なプログラミング用語ではなく、日常的な単語を使って記述されることがほとんどです。

マークアップ言語は文書のスタイルや構造を定義し、コンピュータに対して「この文書をどのように表示してほしいか」を伝える役割を果たします。

イメージとしては、先生が生徒のテスト答案に赤ペンで書き込む「採点(マーキング)」に近いものがあります。先生は間違えた箇所に印を付け、次はどこを直せばよいかを示しますよね。実は「マークアップ言語」という言葉自体、組版(印刷物のレイアウト作業)に由来しています。かつては文書の組み方に関する指示を、本文のそばに「書き込む(マークアップする)」ことで伝えていたのです。

なお、マークアップは必ずしも独立した言語である必要はありません。先ほどの例でもマークアップは使われていますが、マークアップ言語ではありません。両者の違いは、マークアップ言語には言語としての使用ルール(文法)が明確に定められており、通常はコンピュータによって解釈されるという点です。一方、単なるマークアップには決まった構造はありません。

Web開発における「ML」とは

Webサイト開発の経験があれば、「ML」という言葉を目にしたことがあるでしょう。HTMLやXMLなど、名称の末尾が「ML」で終わる技術があります。このMLは「Markup Language(マークアップ言語)」の略称です。

マークアップ言語はWeb開発において広く活用されており、あるデータ群をWebドキュメント上でどのように表現すべきかを記述するために使われます。

HTML(HyperText Markup Language)はWebページの構造を記述するための言語で、XMLは特定の種類のデータを記述するための言語です。

マークアップ言語の仕組み

すべてのマークアップ言語に共通する特徴があります。それは、タグを使ってページ上のコンテンツの種類を区別するという点です。タグは通常、山括弧(<>)で囲んで記述します。

マークアップ言語では、表示したいテキストそのものと、コンピュータが読み取るべき指示とを区別する必要があります。タグの内部に記述されたテキストは、機械によって命令として解釈されます。

具体的な例を見てみましょう。

<a href="https://example.com">リンクテキスト</a>

これはWebページへのリンクを作成するコードです。<a>タグでリンクを定義し、終了時には</a>タグで閉じます。

これらのタグは、コンピュータに対して「ここにリンク(アンカー。「a」の由来です)を表示したい」と伝える役割を果たします。タグ自体はページ上には表示されず、ブラウザがページを正しく描画するために読み取る指示なのです。

また、マークアップファイルはプレーンテキストとして保存されます。そのため、標準的なテキストエディタであれば誰でも開いて編集できます。

マークアップ言語とプログラミング言語の違い

確かに、「マークアップ言語」という名前からするとプログラミング言語の一種のように思えます。どちらも「言語」ですからね。しかし、名前が似ているからといって、同じものというわけではありません。

プログラミング言語は、コンピュータに与える一連の命令であり、さまざまな出力を生成します。Ruby、Python、Perlなどがその代表例です。一方、マークアップ言語は文書を記述するために使われます。

PythonやRubyのプログラムは「実行」できますが、マークアップされた文書を「実行」することはできません。たとえばHTML文書は実行されるのではなく、ブラウザによって描画(レンダリング)されます。XML文書も同様に、専用のデータリーダーによって読み込まれるものです。

主なマークアップ言語の種類

調べてみると、マークアップ言語は実にたくさん存在することがわかります。世の中には多様なデータがあるため、あらゆるユースケースをカバーするために複数の言語が必要になっているのです。中でも特によく使われているのは、HTML、XML、XHTMLの3つです。

HyperText Markup Language(HTML)

HTML(HyperText Markup Language)は、Web開発における中心的な言語です。HTMLがなければ、私たちが知っているWebサイトは存在しなかったでしょう。ページに表示する見出し、画像、テキストなどの要素や、それらがブラウザに表示される順序を定義します。なお、ページのレイアウトや見た目のデザインは、CSS(Cascading Style Sheets)が担当します。

HTMLは標準的なマークアップ言語のひとつで、見出しから画像、フォームまで、Webページ上のあらゆる要素をタグで定義します。

HTMLは国際的な標準化団体であるW3C(World Wide Web Consortium)によって管理されています。Webの根幹を支える技術であるため、誰が書いても一貫して記述・処理できるよう、国際標準が定められているのです。

最新バージョンはHTML5で、前世代から多くの改善が加えられています。ただし、HTMLはWebにとってあまりにも重要な言語であるため、変更は段階的に行われるのが通例です。

eXtensible Markup Language(XML)

XML(eXtensible Markup Language)は、データの転送と保存を目的として設計された言語です。最大の特徴は「自己記述型」であるという点です。

これは、XMLタグの名前に一切制限がないためです。事前定義されたタグは存在せず、XML文書内の各データを的確に表す名前を自由に付けることができます。

たとえば、好きな本を管理するマークアップ文書を作るとしましょう。XMLでは次のような構造になります。

<book>
	<title>人を動かす</title>
	<author>デール・カーネギー</author>
	<rating>4/5</rating>
</book>

この例では、booktitleauthorratingの4つのタグを作成しました。titleauthorratingタグはbookタグの中に含まれており、bookタグがXMLファイル内の1件分のデータを表しています。

eXtensible HyperText Markup Language(XHTML)

XHTMLは、XML標準に準拠するよう設計されたHTML4のバージョンです。より多様な機能への需要が高まった結果、現在ではHTML5にほぼ置き換えられました。それでも、インターネットの一部では今も使われています。XHTMLを採用しているサイトの多くは、長年更新されていない古いサイトです。

XHTMLとHTMLは非常によく似ていますが、いくつか相違点があります。たとえば、XHTMLでは属性に必ず「名前」と「値」の両方を指定する必要があり、単独の属性は使用できません。また、すべてのXHTMLタグは小文字で記述しなければなりません。HTMLでは大文字・小文字どちらでも記述できますが、ベストプラクティスとしては小文字の使用が推奨されています。

まとめ

マークアップ言語は、文書内の要素を定義するために使われる言語です。HTMLやXMLに代表されるように、人間が読みやすい形で設計されているため、どんなデータを表現しているのかを直感的に理解しやすいのが特徴です。

マークアップ言語では、コンピュータへの指示をタグで表現します。タグは通常、山括弧(<>)で囲んで記述されます。

これで、あなたもWeb開発のプロフェッショナルのように、マークアップ言語について自信をもって語れるはずです!

  1. 2020年に学ぶべきおすすめプログラミング言語8選【特徴と学習方法を徹底解説】

    「今どきのプログラミング言語はどれを学べばいいのだろう?」とモニターを眺めながら悩んだ経験はありませんか?この記事では、その疑問に対する答えをご紹介します。 世の中には数え切れないほどのプログラミング言語が存在し、その中から時間をかけて習得する価値のあるものを見極めるのは一苦労です。端的に言えば、それぞれの言語には何らかの用途があるため「すべて学べばよい」ということになります。しかし、時間が無限にあるわけではないなら、需要の高い定番言語に絞って学ぶのが賢明な選択でしょう。 新しいプログラミング言語は次々と登場していますが、時代の流れに耐えてきた実績ある言語はごくわずかです。こうした言語こそが

  2. Javaプログラミングとは?言語の特徴と歴史をわかりやすく解説

    Javaプログラミングの概要Javaは、1995年にSun Microsystems(サン・マイクロシステムズ)によって開発・公開された、汎用性の高い高水準プログラミング言語です。WindowsやMac OS、さまざまなバージョンのUNIXなど、幅広いプラットフォーム上で動作する点が大きな特徴となっています。Java誕生の背景Java言語のプロジェクトは、1991年6月にジェームズ・ゴスリング(James Gosling)によって開始されました。当初は、彼が手がけていたセットトップボックス関連のプロジェクトで使用されることを目的としていました。この言語は、最初「Oak(オーク)」と呼ばれていま