マークアップ言語の解説(基本情報技術者シラバス用語)

目次

マークアップ言語とは

マークアップ言語とは、文章の構造や装飾(デザイン)をコンピュータに指示するために、テキストに特別な記号(タグ)を埋め込んで記述する言語のことです。「マークアップ(目印をつける)」という名前の通り、見出しや段落、リンク、画像といった文章の要素をタグで囲むことで、単なるテキストファイルに構造を与えます。プログラミング言語のように複雑な計算や論理処理を行うのではなく、データの見た目や構成を定義することが主な役割です。代表的なマークアップ言語には、ウェブページを作成する「HTML」や、データ構造を自由に定義できる「XML」などがあります。

具体例

ウェブブラウザで表示されるホームページは、HTMLというマークアップ言語で書かれています。以下のように「タグ」を使ってタイトルや文章の段落を表現します。

<h1>自己紹介</h1>
<p>こんにちは!私の名前は山田です。</p>
<a href="https://example.com">私のブログはこちら</a>

もう少し詳しく

マークアップ言語は、単なる文字の羅列であるプレーンテキストに対して、論理的な意味や構造を付与するための技術です。元来「マークアップ」とは、出版や印刷の業界において、原稿に対してレイアウトや文字の装飾などを指定する「組版指定(赤入れ)」の作業を指していました。これがコンピュータの世界に応用され、データに対する意味づけを行う役割を持つようになりました。
マークアップ言語の最も代表的な存在であるHTML(HyperText Markup Language)は、ウェブページにおける見出し、段落、表、リンクなどの要素を定義します。しかし、マークアップ言語はウェブに限られたものではありません。例えば、XML(eXtensible Markup Language)は、ユーザー自身が独自のタグを自由に定義できるという特徴を持っており、異なるシステム間で複雑なデータをやり取りするためのフォーマットや、アプリケーションの設定ファイルなど、幅広い用途で活用されています。
また、マークアップ言語とプログラミング言語は明確に区別されます。プログラミング言語(JavaやPython、C言語など)は、「もし〇〇ならば××する」といった条件分岐や、特定の処理を繰り返すループ構造、計算などの複雑な論理を実行する能力(チューリング完全性)を持っています。一方、標準的なマークアップ言語はあくまでデータの構造を示すものであり、計算や複雑なアルゴリズムを実行する機能は持っていません。そのため「HTMLはプログラミング言語ではない」と説明されることがよくあります。
近年では、タグの記述をより簡略化して人間が直接読み書きしやすくしたMarkdown(マークダウン)などの軽量マークアップ言語も広く普及しており、ブログ記事の執筆やエンジニアのドキュメント作成などで日常的に利用されています。

試験でのポイント

基本情報技術者試験やITパスポートなどの情報処理技術者試験において、マークアップ言語は「プログラミング言語」や「スクリプト言語」との違いを明確に理解しているかが頻繁に問われます。問題文中で「計算や制御構造を持たず、データの構造や表現方法を記述する言語」として説明されていた場合は、マークアップ言語を指していると判断してください。
特に、HTMLとXMLの違いについては頻出のテーマです。HTMLはウェブブラウザで表示するための「あらかじめ定義されたタグ」を用いて文章の構造や見た目を指定するのに対し、XMLは「ユーザーが独自のタグを自由に定義できる」ため、システム間のデータ交換など汎用的な目的で使われるという点を確実に押さえておきましょう。
また、SGML(Standard Generalized Markup Language)という言葉が登場することもあります。SGMLはHTMLやXMLの元となった非常に複雑で厳密なマークアップ言語であり、文書の論理構造を記述するための国際標準規格です。「SGMLをベースにしてインターネット向けに作られたのがHTMLである」「SGMLの複雑な機能を削ぎ落としてシステム間で扱いやすくしたのがXMLである」という歴史的な関係性も合わせて覚えておくと、選択肢を絞り込む際の強力な武器となります。

関連する用語

関連する用語として、ウェブページの構造を作る「HTML」、独自のタグを定義してデータ交換に用いる「XML」、ウェブページの見た目やデザインを制御するためにHTMLと組み合わせて使用される「CSS」などが挙げられます。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ